1

私のWindowsサービスは、呼び出し時に次のエラーを報告することがありますWTSEnumerateProcesses()

バインディングハンドルが無効です。

これは、ターミナルサービスサービスを自分のサービスの依存サービスとして登録しているにもかかわらず、ターミナルサービスサービスが利用できないことが原因であると思われます。

ターミナルサービスサービスは実行されていても、初期化が完了していない(またはシャットダウンしている)ため、要求を処理できず、エラーが発生していると思います。

次のリファレンスドキュメントで次のことに気づきましたWTSRegisterSessionNotification()

Global \ TermSrvReadyEventグローバルイベントが設定されると、すべての依存サービスが開始され、この関数を正常に呼び出すことができます。

これはのドキュメントには記載されていませんが、WTSEnumerateProcesses()同様に適用されますか?OpenEvent()オンにしようとするGlobal\\TermSrvReadyEventと、ターミナルサービスサービスが実際に利用可能であることを示しますか?


プラットフォーム:Windows XP、Windows Vista、およびWindows 7

4

1 に答える 1