IOCTL_KS_HANDSHAKE IOCTL (ks.h)

内核模式客户端可以使用 IOCTL_KS_HANDSHAKE 协商未连接的 AVStream 引脚之间的接口。 客户端使用 IOCTL_KS_HANDSHAKE 和下面所述的参数调用 KsSynchronousDeviceControl

若要尝试使用已连接的引脚进行协议握手,请调用 KsPinHandshake

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

客户端在 InBuffer 参数中放置指向 KSHANDSHAKE 类型的结构的指针。

输入缓冲区长度

InLength 必须等于 (KSHANDSHAKE) 的大小。

输出缓冲区

客户端在 OutBuffer 参数中放置指向 KSHANDSHAKE 类型的结构的指针。 如果请求成功,握手信息将放置在此位置。

输出缓冲区长度

OutLength 必须等于 (KSHANDSHAKE) 的大小。

状态块

如果请求成功,IoStatus.Information 设置为 sizeof (KSHANDSHAKE) 。

此 IOCTL 只能从内核模式发送。 如果请求是从用户模式发送的,则 Status 成员将设置为 STATUS_INVALID_DEVICE_REQUEST。

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

要求

要求
Header ks.h (包括 Ks.h)

另请参阅

AVStrMiniPinHandshake

KSHANDSHAKE

KsPinHandshake

KsPinRegisterHandshakeCallback