IWMDMDevice3::D eviceIoControl-Methode (mswmdm.h)

Die DeviceIoControl-Methode sendet einen IOCTL-Code (Device E/O Control) an das Gerät. Dies ist eine Passthroughmethode. Windows Media Geräte-Manager leitet den Aufruf einfach an den Dienstanbieter weiter, nachdem die Parameter überprüft wurden.

Syntax

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

Parameter

[in] dwIoControlCode

Steuerungscode, der an das Gerät gesendet werden soll. Verwenden Sie beim Aufrufen dieser Methode auf einem MTP-Gerät den Wert IOCTL_MTP_CUSTOM_COMMAND, der in MtpExt.h definiert ist, der im SDK enthalten ist.

[in] lpInBuffer

Optionaler Zeiger auf einen vom Aufrufer bereitgestellten Eingabepuffer. Es kann NULL sein, wenn nInBufferSize null ist. Wenn Sie diese Methode auf einem MTP-Gerät aufrufen, können Sie die MTP_COMMAND_DATA_IN-Struktur übergeben.

[in] nInBufferSize

Größe des Eingabepuffers in Bytes. Beim Aufrufen dieser Methode auf einem MTP-Gerät können Sie das Makro SIZEOF_REQUIRED_COMMAND_DATA_IN verwenden, um die Größe anzugeben.

[out] lpOutBuffer

Optionaler Zeiger auf den vom Aufrufer bereitgestellten Ausgabepuffer. Es kann NULL sein, wenn pnOutBufferSize auf den Wert 0 zeigt. Wenn Sie diese Methode auf einem MTP-Gerät aufrufen, können Sie die MTP_COMMAND_DATA_OUT-Struktur übergeben.

[in, out] pnOutBufferSize

Größe des Ausgabepuffers in Bytes. Wenn der Aufruf zurückgibt, gibt er die Anzahl der tatsächlich zurückgegebenen Bytes an. Beim Aufrufen dieser Methode auf einem MTP-Gerät können Sie das in MtpExt.h definierte Makro SIZEOF_REQUIRED_COMMAND_DATA_OUT verwenden, um die Größe anzugeben. Dieser Parameter darf nicht NULL sein.

Rückgabewert

Die Methode gibt ein HRESULT zurück. Alle Schnittstellenmethoden in Windows Media Geräte-Manager können eine der folgenden Klassen von Fehlercodes zurückgeben:

  • Com-Standardfehlercodes
  • In HRESULT-Werte konvertierte Windows-Fehlercodes
  • Windows Media Geräte-Manager Fehlercodes
Eine ausführliche Liste möglicher Fehlercodes finden Sie unter Fehlercodes.

Hinweise

Diese Methode stellt einen privaten Kommunikationsmodus zwischen der Anwendung und dem Dienstanbieter bereit. Der Dienstanbieter kann diese IOCTL dann verarbeiten, optional ändern und an den Kernelmodustreiber übergeben.

Im Vergleich zu IWMDMDevice::SendOpaqueCommand ist diese Methode besser an der DeviceIoControl-Windows-API ausgerichtet, da der Ausgabepuffer vom Aufrufer bereitgestellt wird. Im Gegensatz zu IWMDMDevice::SendOpaqueCommand beinhaltet diese Methode keine MAC-Überprüfung und ist effizienter.

Diese Methode kann beispielsweise verwendet werden, um benutzerdefinierte MTP-Befehle (Media Transport Protocol) an ein MTP-Gerät zu senden.

Requirements (Anforderungen)

   
Zielplattform Windows
Kopfzeile mswmdm.h
Bibliothek Mssachlp.lib

Weitere Informationen

IWMDMDevice3-Schnittstelle

IWMDMDevice::SendOpaqueCommand