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
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 |