Geräteerweiterungen für die Berichterstellung von erworbenen Inhalten
Windows Media Player 11 führt neue Funktionen ein, mit denen portable Geräte den Player über Inhalte benachrichtigen können, die dem Gerät seit der letzten Synchronisierung hinzugefügt wurden. Windows Media Player 11 können diese Informationen verwenden, um neu erworbene Inhalte vom Gerät auf den Computer des Benutzers zu kopieren. Gerätehersteller sollten die folgenden Anforderungen zur Unterstützung dieser Funktionalität beachten:
- Dieses Feature wird nur für MTP-fähige Geräte unterstützt.
- Dieses Feature funktioniert nur mit Geräten, die eine Partnerschaft mit Windows Media Player.
- Geräte dürfen nur Inhalte melden, die das Gerät verfasst oder heruntergeladen hat. Dies schließt Fotos ein, die vom Gerät aufgenommen wurden. sprachaufzeichnungen, die vom Gerät erstellt wurden; Voicemail-Aufzeichnungen; Downloads von einer Grafikkarte; - und -Downloads aus dem Internet. Inhalte, die auf dem Gerät als Folge der Synchronisierung mit einem anderen Gerät oder einer anderen Partnerschaft gespeichert wurden, dürfen nicht gemeldet werden.
Die Headerdatei mit dem Namen wmpdevices.h, die als Teil des Windows Media Player SDK installiert wird, definiert die Strukturen und Konstanten, die zur Unterstützung Windows Media Player Geräteerweiterungen erforderlich sind.
Damit ein Gerät erkannt wird, dass es die Berichterstellung von erfassten Inhalten über den Windows Media Player MTP-Geräteerweiterungssatz unterstützt, muss es die folgenden Informationen in das DeviceInfo-Dataset enthalten. (Weitere Informationen zu diesem Dataset finden Sie in Abschnitt 4.6.1 der MTP-Spezifikation.)
| Datasetfeld | Feld reihenfolge | Datentyp | Wert |
|---|---|---|---|
| VendorExtensionID | 2 | UINT32 | 0x00000006 |
| VendorExtensionVersion | 3 | UINT16 | 0x0064 (100) |
| VendorExtensionDesc | 4 | String | "microsoft.com/WMPPD: 11.0" |
Die folgende Tabelle enthält Details zum MTP-Vorgang zum Melden von erworbenen Inhalten.
| Element | BESCHREIBUNG |
|---|---|
| Vorgangscode | 0x9202 |
| Operation-Parameter 1 | Die Transaktions-ID, die vom Gerät während der vorherigen Sitzung angegeben wurde. Dieser Wert ist 0 (null) für die erste Sitzung. |
| Operation-Parameter 2 | Startindex. Dieser Wert ist beim ersten Aufruf einer Sitzung immer 0 (null). Bei nachfolgenden Aufrufen innerhalb derselben Synchronisierungssitzung erhöht sich dieser Wert um die Anzahl der Elemente, die aus den vorherigen Antwortdaten zurückgegeben wurden. |
| Operation-Parameter 3 | 0x10000. Diese Konstante, die in wmpdevices.h definiert ist, ist die maximale Anzahl von PUOIDs, die in der Antwort zurückgegeben werden können. Beachten Sie, dass der Wert dieser Konstante in zukünftigen Releases dieser Headerdatei überarbeitet werden kann. |
| Operation Parameter 4 | 0 |
| Operation Parameter 5 | 0 |
| Daten | Das Gerät gibt ein MTP-Array zurück, das erworbene PUOIDs enthält. Das Array beginnt mit einem DWORD-Wert, der die Anzahl der Elemente im Array angibt, gefolgt vom Array von Elementen. |
| Datenrichtung | R->I |
| Antwortcodeoptionen | MTP _ RESPONSE _ OK (0x2001) oder gültiger Fehlerantwortcode. |
| Antwortparameter 1 | Die aktuelle Transaktions-ID. |
| Antwortparameter 2 | Die Anzahl der PUOIDs, die von zukünftigen Anforderungen abgerufen werden müssen. |
| Antwortparameter 3 | DWORD mit Statusinformationen. Der Status wird bitweise angegeben. Weitere Informationen zu zu verwendenden Flags finden Sie unter Hinweise. |
| Antwortparameter 4 | 0 |
| Antwortparameter 5 | 0 |
Hinweise
Der Status wird durch den Antwortparameter 3 bitweise mithilfe des folgenden Flags angegeben.
| Flag | Wert | BESCHREIBUNG |
|---|---|---|
| WMP _ MDRT _ KENNZEICHNET NICHT _ GEMELDETE _ ABGERUFENE _ ELEMENTE | 0x1 | Das Gerät enthält einige erworbene Elemente, die nicht in der Liste der PUOIDS zurückgegeben werden können. Beachten Sie, dass dieses Flag mit dem Antwortparameter 2 nicht redundant ist. Legen Sie dieses Flag nur fest, wenn angeforderte Elemente vom Gerät nicht zurückgeben werden können. |
Bits 1 bis 31 sind für die zukünftige Verwendung reserviert. Diese Bits sollten auf 0 (null) festgelegt werden.