애플리케이션은 개체 식별자 컬렉션에 대한 속성을 대량 검색하는 것 외에도 특정 형식의 모든 개체에 대해 속성을 대량 검색할 수도 있습니다. 이전 예제와 같이 지정된 형식에 대한 대량 검색을 수행하려면 디바이스 드라이버에서 대량 검색을 지원해야 합니다.
애플리케이션은 다음 표에 설명된 인터페이스를 사용하여 대량 검색을 수행할 수 있습니다.
| 인터페이스 | 묘사 |
|---|---|
| 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);
관련 항목