IOCTL_KS_HANDSHAKE IOCTL(ks.h)
커널 모드 클라이언트는 IOCTL_KS_HANDSHAKE 사용하여 연결되지 않은 AVStream 핀 간의 인터페이스를 협상할 수 있습니다. 클라이언트는 IOCTL_KS_HANDSHAKE 및 아래에 설명된 매개 변수를 사용하여 KsSynchronousDeviceControl 을 호출합니다.
이미 연결된 핀으로 프로토콜 핸드셰이크를 시도하려면 KsPinHandshake를 호출합니다.
주 코드
입력 버퍼
클라이언트는 InBuffer 매개 변수에 KSHANDSHAKE 형식의 구조체에 대한 포인터를 배치합니다.
입력 버퍼 길이
InLength 는 sizeof(KSHANDSHAKE)와 같아야 합니다.
출력 버퍼
클라이언트는 OutBuffer 매개 변수에서 KSHANDSHAKE 형식의 구조에 대한 포인터를 배치합니다. 요청이 성공하면 핸드셰이크 정보가 이 위치에 배치됩니다.
출력 버퍼 길이
OutLength 는 sizeof(KSHANDSHAKE)와 같아야 합니다.
상태 블록
요청이 성공하면 IoStatus.Information가 sizeof(KSHANDSHAKE)로 설정됩니다.
이 IOCTL은 커널 모드에서만 보낼 수 있습니다. 요청이 사용자 모드에서 전송되면 Status 멤버가 STATUS_INVALID_DEVICE_REQUEST 설정됩니다.
KsSynchronousDeviceControl 호출의 InLength 및 OutLength 매개 변수가 모두 sizeof(KSHANDSHAKE)와 같지 않으면 Status 멤버가 STATUS_INVALID_BUFFER_SIZE 설정됩니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | ks.h(Ks.h 포함) |