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 Media 设备管理器 中的所有接口方法都可以返回以下任一类错误代码:
- 标准 COM 错误代码
- 转换为 HRESULT 值的 Windows 错误代码
- Windows Media 设备管理器错误代码
注解
此方法提供应用程序和服务提供商之间的专用通信模式。 然后,服务提供商可以处理此 IOCTL,根据需要对其进行修改,并将其传递给内核模式驱动程序。
与 IMDSPDevice::SendOpaqueCommand 相比,此方法更符合 DeviceIoControl Windows API,因为输出缓冲区由调用方提供。 此外,与 IMDSPDevice::SendOpaqueCommand 不同,此方法不涉及任何 MAC 检查,并且效率更高。
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | mswmdm.h |
Library | Mssachlp.lib |