Récupération des propriétés de plusieurs objets par format d’objet

En plus d’une récupération en bloc des propriétés d’une collection d’identificateurs d’objet, une application peut également effectuer une récupération en bloc de propriétés pour tous les objets d’un type particulier. Comme dans l’exemple précédent, la récupération en bloc pour un type donné requiert que le pilote de périphérique prenne en charge les récupérations en bloc.

Votre application peut effectuer une récupération en bloc à l’aide des interfaces décrites dans le tableau suivant.

Interface Description
Interface IPortableDeviceContent Fournit l’accès aux méthodes spécifiques au contenu.
Interface IPortableDeviceKeyCollection Utilisé pour identifier les propriétés à récupérer.
Interface IPortableDeviceProperties Utilisé pour déterminer si un pilote donné prend en charge les opérations en bloc.
Interface IPortableDevicePropertiesBulk Prend en charge l’opération de récupération en bloc.
Interface IPortableDevicePropVariantCollection Utilisé pour stocker les identificateurs d’objet pour l’opération en bloc.

La fonction ReadContentPropertiesBulkFilteringFormat dans le module ContentProperties. cpp de l’exemple d’application illustre une opération de récupération en bloc pour les objets d’un type ou d’un format particulier.

Le code trouvé dans la fonction ReadContentPropertiesBulkFilteringFormat est presque identique au code trouvé dans la fonction ReadContentPropertiesBulk. (Pour obtenir une description complète de cette fonction, consultez la rubrique extraction des propriétés de plusieurs objets .)

La principale différence se produit lorsque l’opération est mise en file d’attente. Lors du filtrage par type ou format, la méthode IPortableDevicePropertiesBulk :: QueueGetValuesByObjectFormat est appelée à la place de la méthode IPortableDevicePropertiesBulk :: QueueGetValuesByObjectList .

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

Interface IPortableDevice

Interface IPortableDeviceContent

Interface IPortableDeviceKeyCollection

Interface IPortableDeviceProperties

Interface IPortableDevicePropertiesBulk

Interface IPortableDevicePropVariantCollection

Guide de programmation