[Function Discovery는 요구 사항 섹션에 지정된 운영 체제에서 사용할 수 있습니다. 이후 버전에서는 변경되거나 제공되지 않을 수 있습니다.]
IFunctionDiscovery::CreateInstanceCollectionQuery로 정의된 쿼리를 수행합니다.
구문
HRESULT Execute(
[out] IFunctionInstanceCollection **ppIFunctionInstanceCollection
);
매개 변수
[out] ppIFunctionInstanceCollection
요청된 함수 instance 컬렉션을 수신하는 IFunctionInstanceCollection 인터페이스 포인터에 대한 포인터입니다.
반환 값
가능한 반환 값에는 다음이 포함되지만 이에 국한되지는 않습니다.
| 반환 코드 | Description |
|---|---|
|
메서드가 완료되었습니다. 결과는 ppIFunctonInstanceCollecton에서 동기적으로 반환됩니다. |
|
메서드는 이 작업을 수행하는 데 필요한 메모리를 할당할 수 없습니다. |
|
일부 결과는 비동기 알림에 의해 반환됩니다. 자세한 내용은 설명 부분을 참조하십시오. |
미리 정의된 쿼리는 계층화된 범주의 쿼리입니다. 미리 정의된 쿼리가 실행되면 함수 instance 반환하는 각 공급자도 HRESULT 값을 반환합니다. 공급자 HRESULT 값이 집계되고 Execute 메서드에서 반환된 값은 이러한 집계 결과를 반영합니다. 결과는 다음과 같이 집계됩니다.
- 모든 공급자가 S_OK 반환하면 Execute 는 S_OK 반환합니다.
- 하나 이상의 공급자가 E_PENDING 반환하고 다른 모든 공급자가 S_OK 또는 E_PENDING 반환하는 경우 Execute는 E_PENDING 반환합니다.
- 모든 공급자가 오류 값(즉, S_OK 또는 E_PENDING 이외의 값)을 반환하는 경우 Execute 는 마지막으로 쿼리된 네트워크 공급자가 반환한 오류 값을 반환합니다. 또한 클라이언트의 IFunctionDiscoveryNotification 콜백 루틴이 IFunctionDiscovery::CreateInstanceCollectionQuery에 제공된 경우 각 공급자 에 대해 OnError 알림이 전송됩니다. 각 OnError 알림에는 공급자가 반환한 HRESULT가 포함됩니다.
- 하나 이상의 공급자가 오류 값을 반환하고 다른 모든 공급자가 S_OK 반환하는 경우 Execute 는 S_OK 반환합니다. OnError 알림은 위에서 설명한 대로 전송됩니다.
- 하나 이상의 공급자가 오류 값을 반환하고 하나 이상의 공급자가 E_PENDING 반환하는 경우 Execute 는 E_PENDING 반환합니다. OnError 알림은 위에서 설명한 대로 전송됩니다.
Execute가 E_PENDING 반환하면 결과 집합은 IFunctionDiscovery의 CreateInstanceCollectionQuery 메서드에 제공된 IFunctionDiscoveryNotification 인터페이스를 통해 비동기적으로 반환됩니다. ppIFunctionInstanceCollection 은 NULL 이거나 부분 결과 집합을 포함할 수 있습니다. IFunctionDiscoveryNotification의 OnEvent 메서드가 FD_EVENTID_SEARCHCOMPLETE 함께 호출되면 열거가 완료됩니다. FD_EVENTID_SEARCHCOMPLETE 이벤트가 수신되면 결과에 대한 추가 알림이 업데이트됩니다.
설명
쿼리 개체에서 데이터를 검색하려면 먼저 클라이언트 프로그램에서 이 메서드를 호출해야 합니다. 이 메서드가 호출되면 다음을 수행합니다.
- 함수 instance 컬렉션 개체를 검색합니다.
- IFunctionDiscovery::CreateInstanceCollectionQuery에 전달되는 범주의 공급자를 쿼리합니다.
- 범주 공급자를 검색합니다.
- 하위 범주 데이터를 사용하여 범주 공급자를 쿼리하여 쿼리 제약 조건을 사용하여 컬렉션을 생성합니다.
- 클라이언트 프로그램의 IFunctionDiscoveryNotification 콜백 루틴의 주소가 IFunctionDiscovery::CreateInstanceCollectionQuery에 제공된 경우 업데이트 알림 메커니즘을 시작합니다.
- 컬렉션 데이터를 캐시하고 를 반환합니다.
요구 사항
| 지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
| 지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱만 해당] |
| 대상 플랫폼 | Windows |
| 헤더 | functiondiscoveryapi.h |
| DLL | FunDisc.dll |