Freigeben über


VIRTUALCHANNELINIT-Rückruffunktion (cchannel.h)

Initialisiert den Zugriff einer Client-DLL auf virtuelle Remotedesktopdienste-Kanäle. Der Client ruft VirtualChannelInit auf, um die Namen seiner virtuellen Kanäle zu registrieren.

Remotedesktopdienste stellen einen Zeiger auf eine VirtualChannelInit-Funktion in der CHANNEL_ENTRY_POINTS-Struktur bereit, die an Ihren VirtualChannelEntry-Einstiegspunkt übergeben wird.

Syntax

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
)
{...}

Parameter

[in] ppInitHandle

Zeiger auf eine Variable, die ein Handle empfängt, das die Clientverbindung identifiziert. Verwenden Sie dieses Handle, um den Client bei nachfolgenden Aufrufen der Funktion VirtualChannelOpen zu identifizieren.

[in, out] pChannel

Zeiger auf ein Array von CHANNEL_DEF Strukturen. Jede Struktur enthält den Namen und die Initialisierungsoptionen eines virtuellen Kanals, den die Client-DLL öffnet. Beachten Sie, dass der VirtualChannelInit-Aufruf diese virtuellen Kanäle nicht öffnet. Es reserviert nur die Namen für die Verwendung durch diese Anwendung.

[in] channelCount

Gibt die Anzahl der Einträge im pChannel-Array an.

[in] versionRequested

Gibt die Ebene der Unterstützung virtueller Kanäle an. Legen Sie diesen Parameter auf VIRTUAL_CHANNEL_VERSION_WIN2000 fest.

[in] pChannelInitEventProc

Zeiger auf eine anwendungsdefinierte VirtualChannelInitEvent-Funktion , die von Remotedesktopdiensten aufgerufen wird, um die Client-DLL über Virtuelle Kanalereignisse zu benachrichtigen.

Rückgabewert

Wenn die Funktion erfolgreich ist, wird der Rückgabewert CHANNEL_RC_OK.

Wenn ein Fehler auftritt, gibt die Funktion einen der folgenden Werte zurück.

Hinweise

Sie können die VirtualChannelInit-Funktion nur über Ihre VirtualChannelEntry-Funktion aufrufen. Aufrufe von VirtualChannelInit zu einem anderen Zeitpunkt schlagen fehl.

Wenn VirtualChannelInit erfolgreich zurückgegeben wird, hat Remotedesktopdienste die angeforderten Kanäle registriert. Die Remotedesktopdienste haben jedoch möglicherweise keine andere Initialisierung abgeschlossen. Wenn alle Initialisierungen abgeschlossen sind, ruft Remotedesktopdienste Ihre VirtualChannelInitEvent-Rückruffunktion mit dem ereignis CHANNEL_EVENT_INITIALIZED auf.

Sie sollten vor dem Aufrufen dieser Funktion keine Annahmen über die Anzahl der verfügbaren virtuellen Kanäle treffen, da das System und andere Plug-Ins möglicherweise über reservierte virtuelle Kanäle verfügen. Daher sollten Sie nach dem Aufrufen dieser Funktion immer nach einem CHANNEL_RC_TOO_MANY_CHANNELS Rückgabecode suchen.

Wenn VirtualChannelInit zurückgibt, enthält der Optionsmember jeder CHANNEL_DEF-StrukturCHANNEL_OPTION_INITIALIZED , wenn der Kanal erfolgreich initialisiert wurde.

Die maximale Anzahl von Kanälen pro Clientsitzung ist CHANNEL_MAX_COUNT.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista
Unterstützte Mindestversion (Server) Windows Server 2008
Zielplattform Windows
Kopfzeile cchannel.h

Weitere Informationen

CHANNEL_DEF

VirtualChannelEntry

VirtualChannelInitEvent