IMDSPDevice3::D eviceIoControl 方法(mswmdm.h)
DeviceIoControl 方法调用设备 I/O 控件。
语法
HRESULT DeviceIoControl(
[in] DWORD dwIoControlCode,
[in] BYTE *lpInBuffer,
[in] DWORD nInBufferSize,
[out] BYTE *lpOutBuffer,
[in] LPDWORD pnOutBufferSize
);
参数
[in] dwIoControlCode
要发送到设备的 I/O 控制代码。
[in] lpInBuffer
调用应用程序提供的输入缓冲区。 如果 nInBufferSize 为零,则可以 NULL。
[in] nInBufferSize
lpInBuffer的大小(以字节为单位)。
[out] lpOutBuffer
由调用应用程序提供的输出缓冲区。
[in] pnOutBufferSize
lpOutBuffer的大小(以字节为单位)。
返回值
该方法返回 HRESULT。 Windows 媒体设备管理器中的所有接口方法都可以返回以下任一类错误代码:
- 标准 COM 错误代码
- 转换为 HRESULT 值的 Windows 错误代码
- Windows 媒体设备管理器错误代码
言论
此方法提供应用程序和服务提供商之间的专用通信模式。 然后,服务提供商可以处理此 IOCTL,(可选)对其进行修改,并将其传递给内核模式驱动程序。
与 IMDSPDevice::SendOpaqueCommand相比,此方法更符合 DeviceIoControl Windows API,因为输出缓冲区由调用方提供。 此外,与 IMDSPDevice::SendOpaqueCommand不同,此方法不涉及任何 MAC 检查,并且效率更高。
要求
要求 | 价值 |
---|---|
目标平台 | 窗户 |
标头 | mswmdm.h |
库 | Mssachlp.lib |