CHANNEL_PDU_HEADER 구조체(pchannel.h)
가상 채널의 서버 끝에서 수신되는 데이터 블록에 대한 정보를 포함합니다.
구문
typedef struct tagCHANNEL_PDU_HEADER {
UINT32 length;
UINT32 flags;
} CHANNEL_PDU_HEADER, *PCHANNEL_PDU_HEADER;
멤버
length
이 헤더를 제외한 데이터 블록의 크기(바이트)입니다.
flags
데이터 블록에 대한 정보입니다. 다음 비트 플래그가 설정됩니다. 다음 목록의 값을 비교할 때 '==' 연산자를 사용하여 직접 비교하면 안 됩니다. 대신 목록에 설명된 비교 메서드를 사용합니다.
CHANNEL_FLAG_FIRST (1)
청크는 단일 쓰기 작업으로 작성된 데이터의 시작입니다.
이 플래그를 비교할 때 비트 비교를 사용합니다.
CHANNEL_FLAG_LAST (2)
청크는 단일 쓰기 작업으로 작성된 데이터의 끝입니다.
이 플래그를 비교할 때 비트 비교를 사용합니다.
CHANNEL_FLAG_MIDDLE (0)
이것이 기본값입니다. 청크는 단일 쓰기 작업으로 작성된 데이터 블록의 중간에 있습니다.
비트 비교를 사용하여 이 플래그 값을 직접 비교하지 마세요. 대신 비트 비교를 사용하여 플래그 값이 CHANNEL_FLAG_FIRST 또는 CHANNEL_FLAG_LAST 아닌지 확인합니다. 이 작업은 다음 비교를 사용하여 수행됩니다.
Result = !(flags & CHANNEL_FLAG_FIRST) && !(flags & CHANNEL_FLAG_LAST)
CHANNEL_FLAG_ONLY (3)
CHANNEL_FLAG_FIRST 및 CHANNEL_FLAG_LAST 값을 결합합니다. 청크에는 단일 쓰기 작업의 모든 데이터가 포함됩니다.
이 플래그를 비교할 때 비트 비교를 사용합니다.
설명
경우에 따라 원격 데스크톱 서비스는 WTSVirtualChannelRead 함수를 호출하여 읽은 각 데이터 청크의 시작 부분에 CHANNEL_PDU_HEADER 구조를 배치합니다. 이 문제는 가상 채널을 초기화하기 위해 VirtualChannelInit 함수를 호출할 때 클라이언트 DLL이 CHANNEL_OPTION_SHOW_PROTOCOL 옵션을 설정하는 경우에 발생합니다. 또한 채널이 IWTSVirtualChannel::Write 메서드를 사용하여 작성된 동적 가상 채널인 경우에도 발생합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista |
지원되는 최소 서버 | Windows Server 2008 |
머리글 | pchannel.h |