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 |