[Function Discovery는 요구 사항 섹션에 지정된 운영 체제에서 사용할 수 있습니다. 이후 버전에서는 변경되거나 제공되지 않을 수 있습니다.]
IFunctionDiscovery::CreateInstanceQuery에서 정의한 쿼리를 수행합니다.
구문
HRESULT Execute(
[out] IFunctionInstance **ppIFunctionInstance
);
매개 변수
[out] ppIFunctionInstance
요청된 함수 instance 수신하는 IFunctionInstance 인터페이스 포인터에 대한 포인터입니다.
반환 값
가능한 반환 값에는 다음이 포함되지만 이에 국한되지는 않습니다.
| 반환 코드/값 | Description |
|---|---|
|
메서드가 완료되었습니다. |
|
ppIFunctionInstance 매개 변수는 NULL입니다. |
|
메서드는 이 작업을 수행하는 데 필요한 메모리를 할당할 수 없습니다. |
|
공급자가 반환할 결과는 비동기 알림을 통해 제공됩니다. |
|
지정된 ID로 표시되는 함수 instance 이 컴퓨터에 없습니다. |
|
instance 함수에 해당하는 키가 다른 프로세스에서 삭제되었기 때문에 함수 instance 반환할 수 없습니다. 이 오류는 쿼리 처리가 진행되는 동안 키가 삭제된 경우 레지스트리 공급자가 반환합니다. |
|
함수 instance 해당하는 키를 찾을 수 없으므로 함수 instance 반환할 수 없습니다. 이 오류는 공급자가 instance 쿼리에 대한 일치하는 인스턴스를 찾을 수 없는 경우 레지스트리 공급자가 반환합니다. |
미리 정의된 쿼리는 계층화된 범주의 쿼리입니다. 미리 정의된 쿼리가 실행되면 함수 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 알림은 위에서 설명한 대로 전송됩니다.
설명
쿼리 개체에서 데이터를 검색하려면 클라이언트 프로그램에서 이 메서드를 호출해야 합니다. 이 메서드가 호출되면 다음을 수행합니다.
- 함수 instance 검색합니다.
- 클라이언트 프로그램의 IFunctionDiscoveryNotification 콜백 루틴의 주소가 IFunctionDiscovery::CreateInstanceQuery에 제공된 경우 업데이트 알림 메커니즘을 시작합니다.
Execute가 동일한 쿼리 개체에서 두 번 호출되면 두 번째 쿼리가 실행되기 전에 첫 번째 쿼리가 종료됩니다.
요구 사항
| 요구 사항 | 값 |
|---|---|
| 지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
| 지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱만 해당] |
| 대상 플랫폼 | Windows |
| 헤더 | functiondiscoveryapi.h |
| DLL | FunDisc.dll |