Befehle (WPD-API)
Die Clientanwendung und der Treiber kommunizieren über Befehle, die vom Client (über die Windows Portable Device API) an den Treiber gesendet werden (über das User-Mode Driver Framework). Ein Befehl kann einen Parameter enthalten oder nicht und kann ein Ergebnis zurückgeben oder nicht. Ein Client kann einen Befehl explizit senden, indem entweder die IPortableDevice::SendCommand-Methode oder die IPortableDeviceService:SendCommand-Methode oder implizit eine der Methoden der Clientschnittstellen aufgerufen wird. Einige Befehle können nur explizit gesendet werden. diese sind in der Dokumentation des Befehls notiert. Auf den Befehlsreferenzseiten wird der Zweck eines Befehls beschrieben, und es wird beschrieben, welche Parameter er empfängt und welche Parameter er zurückgeben soll.
Ein Befehl wird durch eine PROPERTYKEY-Struktur identifiziert. Dies besteht aus zwei Teilen: einem GUID-Teil (dem fmtid-Element ) und einem DWORD-Teil (dem pid-Element ). Der GUID-Teil wird verwendet, um die Kategorie anzugeben, zu der der Befehl gehört (verwandte Befehle gehören zur gleichen Kategorie und haben daher den gleichen fmtid). Der DWORD-Teil gibt die Befehls-ID an und wird verwendet, um die einzelnen Befehle innerhalb einer Befehlskategorie zu unterscheiden (die pid-Werte für Befehle in derselben Kategorie unterscheiden sich).
In der folgenden Tabelle sind die Kategorien von Befehlen aufgeführt, die von Windows Portable Devices definiert werden. Gerätehersteller können ihre eigenen Befehle definieren, indem sie eigene Befehlskategorien und Befehls-IDs erstellen. Ein Hersteller sollte jedoch keine Befehle zu den unten aufgeführten Kategorien hinzufügen, da diese von Microsoft reserviert sind.
Befehlskategorien
Befehlskategorie | BESCHREIBUNG |
---|---|
WPD_CATEGORY_COMMON | Befehle, die für alle Objekte und Geräte gemeinsam sind. |
WPD_CATEGORY_DEVICE_HINTS | Befehle, die verwendet werden, um optionale Geräteinformationen abzurufen, die zur Verbesserung der Benutzerfreundlichkeit verwendet werden können. |
WPD_CATEGORY_SMS | Befehle, die für Geräte verwendet werden, die SMS-Funktionen (Short Message Service) unterstützen, die in der Regel auf Mobiltelefonen verfügbar gemacht werden. |
WPD_CATEGORY_STILL_IMAGE_CAPTURE | Befehle, die für Geräte verwendet werden, die die Standbilderfassung unterstützen. |
WPD_CATEGORY_STORAGE | Befehle, die für Speicherfunktionsobjekte verwendet werden. |
Die spezifischen Befehle, die für jeden dieser Typen definiert sind, sind in den folgenden Tabellen angegeben, die nach Befehlstyp organisiert sind.
WPD_CATEGORY_COMMON Kategorie
Get-Help | BESCHREIBUNG |
---|---|
WPD_COMMAND_COMMON_RESET_DEVICE | Setzt das Gerät zurück. |
WPD_CATEGORY_DEVICE_HINTS Kategorie
Get-Help | BESCHREIBUNG |
---|---|
WPD_COMMAND_DEVICE_HINTS_GET_CONTENT_LOCATION | Ruft die Objekt-IDs von Ordnern ab, die ein Objekt eines angegebenen Typs enthalten können. |
WPD_CATEGORY_STORAGE Kategorie
Get-Help | BESCHREIBUNG |
---|---|
WPD_COMMAND_STORAGE_EJECT | Wirft ein Speichermedium aus, das vom Treiber remote ausgeworfen werden kann. |
WPD_COMMAND_STORAGE_FORMAT | Formatiert ein Speicherfunktionsobjekt auf dem Gerät. |
WPD_CATEGORY_SMS Kategorie
Get-Help | BESCHREIBUNG |
---|---|
WPD_COMMAND_SMS_SEND | Initiiert das Senden einer SMS-Nachricht durch ein SMS-Funktionsobjekt. |
WPD_CATEGORY_STILL_IMAGE_CAPTURE Kategorie
Get-Help | BESCHREIBUNG |
---|---|
WPD_COMMAND_STILL_IMAGE_CAPTURE_INITIATE | Initiiert eine Standbilderfassung durch ein funktionsbezogenes Objekt des Standbilds. |