A kernel-mode client can use IOCTL_KS_HANDSHAKE to negotiate an interface between unconnected AVStream pins. The client calls KsSynchronousDeviceControl with IOCTL_KS_HANDSHAKE and the parameters described below.
To attempt a protocol handshake with a pin that is already connected, call KsPinHandshake.
The client places a pointer to a structure of type KSHANDSHAKE in the InBuffer parameter.
Input Buffer Length
InLength must be equal to sizeof(KSHANDSHAKE).
The client places a pointer to a structure of type KSHANDSHAKE in the OutBuffer parameter. If the request is successful, handshake information is placed in this location.
Output Buffer Length
OutLength must be equal to sizeof(KSHANDSHAKE).
If the request is successful, IoStatus.Information is set to sizeof(KSHANDSHAKE).
This IOCTL can be sent from kernel-mode only. If the request is sent from user mode, the Status member is set to STATUS_INVALID_DEVICE_REQUEST.
If the InLength and OutLength parameters in the call to KsSynchronousDeviceControl are not both equal to sizeof(KSHANDSHAKE), the Status member is set to STATUS_INVALID_BUFFER_SIZE.
|Header||ks.h (include Ks.h)|