共用方式為


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

另請參閱

IMDSPDevice3 介面

IMDSPDevice::SendOpaqueCommand

IWMDMDevice3::D eviceIoControl