[Function Discovery는 요구 사항 섹션에 지정된 운영 체제에서 사용할 수 있습니다. 이후 버전에서는 변경되거나 제공되지 않을 수 있습니다.]
범주 및 하위 범주에 따라 지정된 함수 인스턴스 컬렉션을 가져옵니다.
구문
HRESULT GetInstanceCollection(
[in] const WCHAR *pszCategory,
[in] const WCHAR *pszSubCategory,
[in] BOOL fIncludeAllSubCategories,
[out] IFunctionInstanceCollection **ppIFunctionInstanceCollection
);
매개 변수
[in] pszCategory
열거할 범주의 식별자입니다. 범주 정의를 참조하세요.
[in] pszSubCategory
열거할 하위 범주의 식별자입니다. 하위 범주 정의를 참조하세요. 이 매개 변수는 NULL일 수 있습니다.
[in] fIncludeAllSubCategories
TRUE이면 이 메서드는 pszCategory에 지정된 범주의 모든 하위 범주를 재귀적으로 열거하고 pszCategory의 모든 하위 범주에서 함수 인스턴스를 포함하는 컬렉션을 반환합니다.
FALSE인 경우 이 메서드는 pszCategory로 지정된 범주 및 pszSubCategory로 지정된 하위 범주의 함수 인스턴스를 반환하도록 제한합니다.
[out] ppIFunctionInstanceCollection
요청된 함수 인스턴스를 포함하는 함수 instance 컬렉션을 수신하는 IFunctionInstanceCollection 인터페이스 포인터에 대한 포인터입니다. 한정 함수 인스턴스가 없으면 컬렉션이 비어 있습니다.
반환 값
가능한 반환 값에는 다음이 포함되지만 이에 국한되지는 않습니다.
| 반환 코드/값 | Description |
|---|---|
|
메서드가 완료되었습니다. |
|
pszCategory 값이 잘못되었습니다. ppIFunctionInstanceCollection 매개 변수에 반환된 값은 NULL입니다. |
|
메서드는 이 작업을 수행하는 데 필요한 메모리를 할당할 수 없습니다. |
|
pszCategory 또는 pszSubCategory 값을 알 수 없습니다. |
|
결과를 비동기적으로 반환하는 공급자에 대해 호출이 실행되었습니다. |
설명
일부 함수 검색 공급자는 IFunctionDiscoveryNotification 인터페이스를 사용하여 쿼리 결과를 반환합니다. GetInstanceCollection 은 이러한 방식으로 반환되고 E_PENDING 실패하는 함수 인스턴스를 찾을 수 없습니다. 클라이언트는 IFunctionDiscovery 인터페이스의 CreateInstanceQuery 메서드를 사용하여 이러한 공급자에 대한 함수 인스턴스를 찾는 것이 좋습니다.
메서드가 성공했지만 쿼리 매개 변수와 일치하는 함수 인스턴스가 없으면 S_OK 반환되고 ppFunctionInstanceCollection 은 빈 컬렉션을 가리킵니다(컬렉션의 GetCount 메서드는 0을 반환함).
하위 범주 쿼리는 계층화된 범주 및 일부 공급자 범주에 대해서만 지원됩니다. 레지스트리 공급자, PnP-X 연결 공급자 및 게시 공급자는 하위 범주 쿼리를 지원합니다. 사용자 지정 공급자는 하위 범주 쿼리를 지원하도록 명시적으로 설계할 수 있습니다. 다른 공급자의 경우 쿼리 제약 조건을 사용하여 함수 instance 컬렉션을 필터링할 수 있습니다. 쿼리 제약 조건 목록은 제약 조건 정의를 참조하세요.
예제
다음 코드는 Microsoft.Networking.Devices 네임스페이스에서 SSDP 공급자와 연결된 함수 인스턴스를 반환합니다.
hr = spDisco->GetInstanceCollection(FCTN_CATEGORY_NETWORKDEVICES,
FCTN_SUBCAT_NETWORKDEVICES_SSDP,
FALSE,
&spFunctionInstanceCollection);
한 번에 여러 인터페이스를 필터링하거나 하위 범주 쿼리를 지원하지 않는 공급자를 필터링하려면 IFunctionInstanceQuery 의 인터페이스 제약 조건을 참조하세요.
요구 사항
| 지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
| 지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱만 해당] |
| 대상 플랫폼 | Windows |
| 헤더 | functiondiscoveryapi.h |
| DLL | FunDisc.dll |