VIRTUALCHANNELINIT コールバック関数 (cchannel.h)
リモート デスクトップ サービス仮想チャネルへのクライアント DLL のアクセスを初期化します。 クライアントは VirtualChannelInit を 呼び出して、その仮想チャネルの名前を登録します。
リモート デスクトップ サービスは、 VirtualChannelEntry エントリ ポイントに渡される CHANNEL_ENTRY_POINTS 構造体内の VirtualChannelInit 関数へのポインターを提供します。
構文
VIRTUALCHANNELINIT Virtualchannelinit;
UINT VCAPITYPE Virtualchannelinit(
[in] LPVOID *ppInitHandle,
[in, out] PCHANNEL_DEF pChannel,
[in] INT channelCount,
[in] ULONG versionRequested,
[in] PCHANNEL_INIT_EVENT_FN pChannelInitEventProc
)
{...}
パラメーター
[in] ppInitHandle
クライアント接続を識別するハンドルを受け取る変数へのポインター。 このハンドルを使用して、 VirtualChannelOpen 関数の後続の呼び出しでクライアントを識別します。
[in, out] pChannel
CHANNEL_DEF構造体の配列へのポインター。 各構造体には、クライアント DLL が開く仮想チャネルの名前と初期化オプションが含まれています。 VirtualChannelInit 呼び出しでは、これらの仮想チャネルは開かないことに注意してください。このアプリケーションで使用する名前のみが予約されます。
[in] channelCount
pChannel 配列内のエントリの数を指定します。
[in] versionRequested
仮想チャネルサポートのレベルを指定します。 このパラメーターを VIRTUAL_CHANNEL_VERSION_WIN2000 に設定します。
[in] pChannelInitEventProc
リモート デスクトップ サービスがクライアント DLL に仮想チャネル イベントを通知するために呼び出す、アプリケーション定義の VirtualChannelInitEvent 関数へのポインター。
戻り値
関数が成功した場合、戻り値は CHANNEL_RC_OK。
エラーが発生した場合、関数は次のいずれかの値を返します。
注釈
VirtualChannelInit 関数は、VirtualChannelEntry 関数からのみ呼び出すことができます。 VirtualChannelInit の呼び出しは、それ以外の場合は失敗します。
VirtualChannelInit が正常に返されると、リモート デスクトップ サービスによって要求されたチャネルが登録されます。 ただし、リモート デスクトップ サービスが他の初期化を完了していない可能性があります。 すべての初期化が完了すると、リモート デスクトップ サービスは、CHANNEL_EVENT_INITIALIZED イベントを使用して VirtualChannelInitEvent コールバック関数を呼び出します。
この関数を呼び出す前に、使用可能な仮想チャネルの数を想定しないでください。システムおよびその他のプラグインには予約済みの仮想チャネルが含まれている可能性があるためです。 したがって、この関数を呼び出した後は、常にCHANNEL_RC_TOO_MANY_CHANNELSリターン コードをチェックする必要があります。
VirtualChannelInit が返されると、チャネルが正常に初期化された場合、各CHANNEL_DEF構造体のオプション メンバーにCHANNEL_OPTION_INITIALIZEDが含まれます。
クライアント セッションあたりのチャネルの最大数は CHANNEL_MAX_COUNT。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista |
サポートされている最小のサーバー | Windows Server 2008 |
対象プラットフォーム | Windows |
ヘッダー | cchannel.h |