WDDM IOCTL请求
2021-06-30
383
2
WDDM也支持IOCTL请求,只是现在的作用大幅度下降了
InitialData.DxgkDdiDispatchIoRequest = BddDdiDispatchIoRequest;
函数原型为:
NTSTATUS DxgkddiDispatchIoRequest(
IN_CONST_PVOID MiniportDeviceContext,
IN_ULONG VidPnSourceId,
IN_PVIDEO_REQUEST_PACKET VideoRequestPacket
)
这里第一个参数就是我们的创建的类指针。
第二个参数为数据源ID标识。
第三个参数结构定义如下:
typedef struct _VIDEO_REQUEST_PACKET {
ULONG IoControlCode;
PSTATUS_BLOCK StatusBlock;
PVOID InputBuffer;
ULONG InputBufferLength;
PVOID OutputBuffer;
ULONG OutputBufferLength;
} VIDEO_REQUEST_PACKET, *PVIDEO_REQUEST_PACKET;
可以看到,这其实就是我们通常意义上的IOCTL的几个参数。