除了大量擷取物件標識元集合的屬性之外,應用程式也可以針對特定類型的所有物件執行大量擷取屬性。 如前一個範例所示,指定類型的大量擷取需要設備驅動器支援大量擷取。
您的應用程式可以使用下表所述的介面來執行大量擷取。
| 介面 | 描述 |
|---|---|
| IPortableDeviceContent 介面 | 提供內容特定方法的存取權。 |
| IPortableDeviceKeyCollection 接口 | 用來識別要擷取的屬性。 |
| IPortableDeviceProperties 介面 | 用來判斷指定的驅動程式是否支援大量作業。 |
| IPortableDevicePropertiesBulk 介面 | 支援大量擷取作業。 |
| IPortableDevicePropVariantCollection 介面 | 用來儲存大量作業的物件識別碼。 |
範例應用程式ContentProperties.cpp模組中的 ReadContentPropertiesBulkFilteringFormat 函式示範特定類型或格式物件的大量擷取作業。
ReadContentPropertiesBulkFilteringFormat 函式中找到的程式代碼幾乎與 ReadContentPropertiesBulk 函式中找到的程式碼完全相同。 (如需此函式的完整描述,請參閱 擷取多個物件的屬性 主題。
當作業排入佇列時,就會發生一個主要差異。 依類型或格式篩選時,會呼叫 IPortableDevicePropertiesBulk::QueueGetValuesByObjectFormat 方法,而不是 IPortableDevicePropertiesBulk::QueueGetValuesByObjectList 方法。
hr = pPropertiesBulk->QueueGetValuesByObjectFormat(WPD_OBJECT_FORMAT_WMA,
WPD_DEVICE_OBJECT_ID,
100,
pPropertiesToRead,
pCallback,
&guidContext);
相關主題