Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Помимо массового извлечения свойств для коллекции идентификаторов объектов приложение также может выполнять массовое извлечение свойств для всех объектов определенного типа. Как и в предыдущем примере, массовое извлечение для заданного типа требует, чтобы драйвер устройства поддерживал массовые извлечения.
Приложение может выполнить массовое извлечение с помощью интерфейсов, описанных в следующей таблице.
| Интерфейс | Описание |
|---|---|
| интерфейс IPortableDeviceContent | Предоставляет доступ к методам, зависящим от содержимого. |
| интерфейс IPortableDeviceKeyCollection | Используется для идентификации свойств, которые необходимо извлечь. |
| интерфейс IPortableDeviceProperties | Используется для определения того, поддерживает ли данный драйвер массовые операции. |
| Интерфейс IPortableDevicePropertiesBulk | Поддерживает операцию массового извлечения. |
| интерфейс IPortableDevicePropVariantCollection | Используется для хранения идентификаторов объектов для массовой операции. |
Функция ReadContentPropertiesBulkFilteringFormat в модуле ContentProperties.cpp примера приложения демонстрирует операцию массового извлечения для объектов определенного типа или формата.
Код, найденный в функции ReadContentPropertiesBulkFilteringFormat, почти идентичен коду, найденном в функции ReadContentPropertiesBulk. (Полное описание этой функции см. в теме Получение свойств для нескольких объектов.)
Одно основное различие возникает при очереди операции. При фильтрации по типу или формату метод IPortableDevicePropertiesBulk::QueueGetValuesByObjectFormat вызывается вместо метода IPortableDevicePropertiesBulk::QueueGetValuesByObjectList.
hr = pPropertiesBulk->QueueGetValuesByObjectFormat(WPD_OBJECT_FORMAT_WMA,
WPD_DEVICE_OBJECT_ID,
100,
pPropertiesToRead,
pCallback,
&guidContext);
Связанные разделы