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_INVALID_DEVICE_REQUEST。
如果调用 KsSynchronousDeviceControl 中的 InLength 和 OutLength 参数不等于 sizeof(KSHANDSHAKE),则状态成员设置为STATUS_INVALID_BUFFER_SIZE。
要求
要求 | 价值 |
---|---|
标头 | ks.h (包括 Ks.h) |