Abrufen von Eigenschaften für mehrere Objekte nach Objektformat

Zusätzlich zum Massenabruf von Eigenschaften für eine Auflistung von Objektbezeichnern kann eine Anwendung auch einen Massenabruf von Eigenschaften für alle Objekte eines bestimmten Typs ausführen. Wie im vorherigen Beispiel erfordert der Massenabruf für einen bestimmten Typ, dass der Gerätetreiber Massenabrufe unterstützt.

Ihre Anwendung kann einen Massenabruf mithilfe der in der folgenden Tabelle beschriebenen Schnittstellen ausführen.

Schnittstelle BESCHREIBUNG
IPortableDeviceContent-Schnittstelle Bietet Zugriff auf die inhaltsspezifischen Methoden.
IPortableDeviceKeyCollection-Schnittstelle Wird verwendet, um die abzurufenden Eigenschaften zu identifizieren.
IPortableDeviceProperties-Schnittstelle Wird verwendet, um zu ermitteln, ob ein bestimmter Treiber Massenvorgänge unterstützt.
IPortableDevicePropertiesBulk-Schnittstelle Unterstützt den Massenabrufvorgang.
IPortableDevicePropVariantCollection-Schnittstelle Wird verwendet, um die Objektbezeichner für den Massenvorgang zu speichern.

 

Die ReadContentPropertiesBulkFilteringFormat-Funktion im ContentProperties.cpp-Modul der Beispielanwendung veranschaulicht einen Massenabrufvorgang für Objekte eines bestimmten Typs oder Formats.

Der code, der in der ReadContentPropertiesBulkFilteringFormat-Funktion gefunden wurde, ist fast identisch mit dem Code, der in der ReadContentPropertiesBulk-Funktion gefunden wurde. (Eine vollständige Beschreibung dieser Funktion finden Sie im Thema zum Abrufen von Eigenschaften für mehrere Objekte .)

Der erste Hauptunterschied tritt auf, wenn der Vorgang in die Warteschlange gestellt wird. Beim Filtern nach Typ oder Format wird die IPortableDevicePropertiesBulk::QueueGetValuesByObjectFormat-Methode anstelle der IPortableDevicePropertiesBulk::QueueGetValuesByObjectList-Methode aufgerufen.

hr = pPropertiesBulk->QueueGetValuesByObjectFormat(WPD_OBJECT_FORMAT_WMA,
                                                   WPD_DEVICE_OBJECT_ID,
                                                   100,
                                                   pPropertiesToRead,
                                                   pCallback,
                                                   &guidContext);

IPortableDevice-Schnittstelle

IPortableDeviceContent-Schnittstelle

IPortableDeviceKeyCollection-Schnittstelle

IPortableDeviceProperties-Schnittstelle

IPortableDevicePropertiesBulk-Schnittstelle

IPortableDevicePropVariantCollection-Schnittstelle

Programmierhandbuch