다음을 통해 공유


IOCTL_KS_HANDSHAKE IOCTL(ks.h)

커널 모드 클라이언트는 IOCTL_KS_HANDSHAKE 사용하여 연결되지 않은 AVStream 핀 간의 인터페이스를 협상할 수 있습니다. 클라이언트는 IOCTL_KS_HANDSHAKE 및 아래에 설명된 매개 변수를 사용하여 KsSynchronousDeviceControl 을 호출합니다.

이미 연결된 핀으로 프로토콜 핸드셰이크를 시도하려면 KsPinHandshake를 호출합니다.

주 코드

IRP_MJ_DEVICE_CONTROL

입력 버퍼

클라이언트는 InBuffer 매개 변수에 KSHANDSHAKE 형식의 구조체에 대한 포인터를 배치합니다.

입력 버퍼 길이

InLength 는 sizeof(KSHANDSHAKE)와 같아야 합니다.

출력 버퍼

클라이언트는 OutBuffer 매개 변수에서 KSHANDSHAKE 형식의 구조에 대한 포인터를 배치합니다. 요청이 성공하면 핸드셰이크 정보가 이 위치에 배치됩니다.

출력 버퍼 길이

OutLength 는 sizeof(KSHANDSHAKE)와 같아야 합니다.

상태 블록

요청이 성공하면 IoStatus.Information가 sizeof(KSHANDSHAKE)로 설정됩니다.

이 IOCTL은 커널 모드에서만 보낼 수 있습니다. 요청이 사용자 모드에서 전송되면 Status 멤버가 STATUS_INVALID_DEVICE_REQUEST 설정됩니다.

KsSynchronousDeviceControl 호출의 InLengthOutLength 매개 변수가 모두 sizeof(KSHANDSHAKE)와 같지 않으면 Status 멤버가 STATUS_INVALID_BUFFER_SIZE 설정됩니다.

요구 사항

요구 사항
헤더 ks.h(Ks.h 포함)

추가 정보

AVStrMiniPinHandshake

KSHANDSHAKE

KsPinHandshake

KsPinRegisterHandshakeCallback