Bagikan melalui


Metode IWMDMDevice3::D eviceIoControl (mswmdm.h)

Metode DeviceIoControl mengirimkan kode Device I/O Control (IOCTL) ke perangkat. Ini adalah metode pass-through; Windows Media Device Manager hanya meneruskan panggilan ke penyedia layanan setelah memvalidasi parameter.

Sintaks

HRESULT DeviceIoControl(
  [in]      DWORD   dwIoControlCode,
  [in]      BYTE    *lpInBuffer,
  [in]      DWORD   nInBufferSize,
  [out]     BYTE    *lpOutBuffer,
  [in, out] LPDWORD pnOutBufferSize
);

Parameter

[in] dwIoControlCode

Mengontrol kode untuk dikirim ke perangkat. Saat memanggil metode ini pada perangkat MTP, gunakan nilai IOCTL_MTP_CUSTOM_COMMAND yang ditentukan dalam MtpExt.h yang disertakan dengan SDK.

[in] lpInBuffer

Penunjuk opsional ke buffer input yang disediakan oleh pemanggil. Ini bisa NULL jika nInBufferSize adalah nol. Saat memanggil metode ini pada perangkat MTP, Anda dapat meneruskan struktur MTP_COMMAND_DATA_IN .

[in] nInBufferSize

Ukuran buffer input, dalam byte. Saat memanggil metode ini pada perangkat MTP, Anda dapat menggunakan makro SIZEOF_REQUIRED_COMMAND_DATA_IN untuk menentukan ukurannya.

[out] lpOutBuffer

Penunjuk opsional ke buffer output yang disediakan oleh pemanggil. Ini bisa NULL jika pnOutBufferSize menunjuk ke nilai nol. Saat memanggil metode ini pada perangkat MTP, Anda dapat meneruskan struktur MTP_COMMAND_DATA_OUT .

[in, out] pnOutBufferSize

Ukuran buffer output, dalam byte. Saat panggilan kembali, panggilan menentukan jumlah byte yang benar-benar dikembalikan. Saat memanggil metode ini pada perangkat MTP, Anda dapat menggunakan makro SIZEOF_REQUIRED_COMMAND_DATA_OUT yang ditentukan dalam MtpExt.h untuk menentukan ukurannya. Parameter ini tidak boleh NULL.

Menampilkan nilai

Metode mengembalikan HRESULT. Semua metode antarmuka di Windows Media Device Manager dapat mengembalikan salah satu kelas kode kesalahan berikut:

  • Kode kesalahan COM standar
  • Kode kesalahan Windows dikonversi ke nilai HRESULT
  • Kode galat Pengelola Perangkat Windows Media
Untuk daftar ekstensif kemungkinan kode kesalahan, lihat Kode Kesalahan.

Keterangan

Metode ini menyediakan mode komunikasi privat antara aplikasi dan penyedia layanan. Penyedia layanan kemudian dapat memproses IOCTL ini, secara opsional memodifikasinya, dan meneruskannya ke driver mode kernel.

Dibandingkan dengan IWMDMDevice::SendOpaqueCommand, metode ini lebih selaras dengan DeviceIoControl Windows API karena buffer output disediakan oleh pemanggil. Selain itu, tidak seperti IWMDMDevice::SendOpaqueCommand, metode ini tidak melibatkan pemeriksaan MAC dan lebih efisien.

Metode ini dapat digunakan, misalnya, untuk mengirim perintah Media Transport Protocol (MTP) kustom ke perangkat MTP.

Persyaratan

   
Target Platform Windows
Header mswmdm.h
Pustaka Mssachlp.lib

Lihat juga

Antarmuka IWMDMDevice3

IWMDMDevice::SendOpaqueCommand