IWTSProtocolConnectionCallback
COM公式ドキュメント
IWTSProtocolConnectionCallback は使用できなくなりました。代わりに IWRdsProtocolConnectionCallback を使用してください。
メソッド 5
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
IWTSProtocolConnectionCallback::OnReady は使用できなくなりました。代わりに IWRdsProtocolConnectionCallback::OnReady を使用してください。
戻り値
関数が成功した場合、S_OK を返します。
関数が失敗した場合、エラーを示す HRESULT 値を返します。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。
解説(Remarks)
プロトコルは、リモートデスクトップサービスが SendPolicyData を呼び出した後に、このメソッドを呼び出す必要があります。リモートデスクトップサービスは、OnReady が呼び出されるまで、接続処理を継続するための AcceptConnection を呼び出しません。
IWTSProtocolConnectionCallback::BrokenConnection は使用できなくなりました。代わりに IWRdsProtocolConnectionCallback::BrokenConnection を使用してください。
| Reason | DWORD | in | このパラメーターは使用されません。 |
| Source | DWORD | in | このパラメーターは使用されません。 |
戻り値
関数が成功した場合、S_OK を返します。
関数が失敗した場合、エラーを示す HRESULT 値を返します。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。
IWTSProtocolConnectionCallback::StopScreenUpdates は使用できなくなりました。代わりに IWRdsProtocolConnectionCallback::StopScreenUpdates を使用してください。
戻り値
関数が成功した場合、S_OK を返します。
関数が失敗した場合、エラーを示す HRESULT 値を返します。指定できる値には、次の一覧に示すものが含まれますが、これらに限定されません。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。
解説(Remarks)
このメソッドを呼び出す際にデッドロックを回避するには、次の点に注意してください。
- 呼び出しを行うための別のスレッドを作成してください。実装しているプロトコルメソッドの内部からは呼び出さないでください。
- リモートデスクトップサービスによる別の呼び出しに応答する前に、このメソッドでブロックしないでください。
IWTSProtocolConnectionCallback::RedrawWindow は使用できなくなりました。代わりに IWRdsProtocolConnectionCallback::RedrawWindow を使用してください。
| rect | WTS_SMALL_RECT* | in | 再描画する画面の x 座標と y 座標を格納する WTS_SMALL_RECT 構造体です。NULL を指定すると、画面全体の再描画を要求します。 |
戻り値
関数が成功した場合、S_OK を返します。
関数が失敗した場合、エラーを示す HRESULT 値を返します。指定できる値には、次の一覧に示すものが含まれますが、これらに限定されません。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。
解説(Remarks)
このメソッドは通常、StopScreenUpdates メソッドの後に呼び出されます。
このメソッドを呼び出す際にデッドロックを回避するには、次の点に注意してください。
- 呼び出しを行うための別のスレッドを作成してください。実装しているプロトコルメソッドの内部からは呼び出さないでください。
- リモートデスクトップサービスによる別の呼び出しに応答する前に、このメソッドでブロックしないでください。
IWTSProtocolConnectionCallback::DisplayIOCtl は使用できなくなりました。
| DisplayIOCtl | WTS_DISPLAY_IOCTL* | in | セッションに読み込まれたディスプレイドライバーに送信するデータを格納する WTS_DISPLAY_IOCTL 構造体です。 |
戻り値
関数が成功した場合、S_OK を返します。
関数が失敗した場合、エラーを示す HRESULT 値を返します。指定できる値には、次の一覧に示すものが含まれますが、これらに限定されません。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。
解説(Remarks)
このメソッドを呼び出す際にデッドロックを回避するには、次の点に注意してください。
- 呼び出しを行うための別のスレッドを作成してください。実装しているプロトコルメソッドの内部からは呼び出さないでください。
- リモートデスクトップサービスによる別の呼び出しに応答する前に、このメソッドでブロックしないでください。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IWTSProtocolConnectionCallback "{23083765-75EB-41FE-B4FB-E086242AFA0F}" #usecom global IWTSProtocolConnectionCallback IID_IWTSProtocolConnectionCallback "{}" #comfunc global IWTSProtocolConnectionCallback_OnReady 3 #comfunc global IWTSProtocolConnectionCallback_BrokenConnection 4 int,int #comfunc global IWTSProtocolConnectionCallback_StopScreenUpdates 5 #comfunc global IWTSProtocolConnectionCallback_RedrawWindow 6 var #comfunc global IWTSProtocolConnectionCallback_DisplayIOCtl 7 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IWTSProtocolConnectionCallback "{23083765-75EB-41FE-B4FB-E086242AFA0F}" #usecom global IWTSProtocolConnectionCallback IID_IWTSProtocolConnectionCallback "{}" #comfunc global IWTSProtocolConnectionCallback_OnReady 3 #comfunc global IWTSProtocolConnectionCallback_BrokenConnection 4 int,int #comfunc global IWTSProtocolConnectionCallback_StopScreenUpdates 5 #comfunc global IWTSProtocolConnectionCallback_RedrawWindow 6 sptr #comfunc global IWTSProtocolConnectionCallback_DisplayIOCtl 7 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。