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_INVALID_DEVICE_REQUEST。

如果调用 KsSynchronousDeviceControl 中的 InLengthOutLength 参数不等于 sizeof(KSHANDSHAKE),则状态成员设置为STATUS_INVALID_BUFFER_SIZE。

要求

要求 价值
标头 ks.h (包括 Ks.h)

另请参阅

AVStrMiniPinHandshake

KSHANDSHAKE

KsPinHandshake

KsPinRegisterHandshakeCallback