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 媒體 裝置管理員 錯誤碼
備註
這個方法提供應用程式與服務提供者之間的私人通訊模式。 服務提供者接著可以處理此 IOCTL、選擇性地修改它,並將它傳遞至核心模式驅動程式。
相較於 IMDSPDevice::SendOpaqueCommand,此方法更能與 DeviceIoControl Windows API 對齊,因為呼叫端會提供輸出緩衝區。 此外,不同於 IMDSPDevice::SendOpaqueCommand,此方法不會涉及任何 MAC 檢查,而且更有效率。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | mswmdm.h |
程式庫 | Mssachlp.lib |