WTSVirtualChannelRead 함수(wtsapi32.h)
가상 채널의 서버 끝에서 데이터를 읽습니다.
WTSVirtualChannelRead 는 가상 채널의 클라이언트 끝에서 VirtualChannelWrite 호출로 작성된 데이터를 읽습니다.
구문
BOOL WTSVirtualChannelRead(
[in] HANDLE hChannelHandle,
[in] ULONG TimeOut,
[out] PCHAR Buffer,
[in] ULONG BufferSize,
[out] PULONG pBytesRead
);
매개 변수
[in] hChannelHandle
WTSVirtualChannelOpen 함수에서 연 가상 채널에 대한 핸들입니다.
[in] TimeOut
시간 제한(밀리초)을 지정합니다. TimeOut이 0이면 읽을 데이터가 없는 경우 WTSVirtualChannelRead가 즉시 반환됩니다. TimeOut이 INFINITE(Winbase.h에 정의됨)인 경우 함수는 읽을 데이터가 있을 때까지 무기한 대기합니다.
[out] Buffer
가상 채널의 서버 끝에서 읽은 데이터 청크를 수신하는 버퍼에 대한 포인터입니다. 서버가 단일 WTSVirtualChannelRead 호출에서 수신할 수 있는 최대 데이터 양은 CHANNEL_CHUNK_LENGTH 바이트입니다. 클라이언트의 VirtualChannelWrite 호출이 더 큰 데이터 블록을 작성하는 경우 서버는 여러 WTSVirtualChannelRead 호출을 수행해야 합니다.
경우에 따라 원격 데스크톱 서비스는 WTSVirtualChannelRead 함수에서 읽은 각 데이터 청크의 시작 부분에 CHANNEL_PDU_HEADER 구조를 배치합니다. 이는 클라이언트 DLL이 가상 채널을 초기화하기 위해 VirtualChannelInit 함수를 호출할 때 CHANNEL_OPTION_SHOW_PROTOCOL 옵션을 설정하는 경우에 발생합니다. 이는 채널이 IWTSVirtualChannel::Write 메서드를 사용하여 작성된 동적 가상 채널인 경우에도 발생합니다. 그렇지 않으면 버퍼는 VirtualChannelWrite 호출에 기록된 데이터만 받습니다.
[in] BufferSize
버퍼의 크기(바이트)를 지정합니다. 버퍼의 데이터 청크 앞에 CHANNEL_PDU_HEADER 구조체가 있는 경우 이 매개 변수의 값은 적어도 CHANNEL_PDU_LENGTH 합니다. 그렇지 않으면 이 매개 변수의 값 은 CHANNEL_CHUNK_LENGTH 이상이어야 합니다.
[out] pBytesRead
읽은 바이트 수를 수신하는 변수에 대한 포인터입니다.
반환 값
함수가 성공하면 반환 값은 0이 아닌 값입니다.
함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.
설명
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista |
지원되는 최소 서버 | Windows Server 2008 |
대상 플랫폼 | Windows |
헤더 | wtsapi32.h |
라이브러리 | Wtsapi32.lib |
DLL | Wtsapi32.Dll |