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
遠端桌面服務呼叫的應用程式定義 VirtualChannelInitEvent 函式指標,以通知用戶端 DLL 的虛擬通道事件。
傳回值
如果函式成功,傳回值 會CHANNEL_RC_OK。
如果發生錯誤,函式會傳回下列其中一個值。
備註
您只能從 VirtualChannelEntry 函式呼叫 VirtualChannelInit 函式。 任何其他時間對 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 |