[Function Discovery는 요구 사항 섹션에 지정된 운영 체제에서 사용할 수 있습니다. 이후 버전에서는 변경되거나 제공되지 않을 수 있습니다.]
지정된 제약 조건을 충족하는 함수 인스턴스의 컬렉션을 검색합니다.
구문
HRESULT Query(
[in] IFunctionDiscoveryProviderQuery *pIFunctionDiscoveryProviderQuery,
[out] IFunctionInstanceCollection **ppIFunctionInstanceCollection
);
매개 변수
[in] pIFunctionDiscoveryProviderQuery
쿼리 조건을 정의하는 매개 변수를 포함하는 IFunctionDiscoveryProviderQuery 인터페이스에 대한 포인터입니다.
[out] ppIFunctionInstanceCollection
공급자가 지정된 쿼리에 대한 응답으로 함수 인스턴스를 동기적으로 반환하는 데 사용해야 하는 IFunctionInstanceCollection 인터페이스에 대한 포인터입니다.
Query 메서드를 구현할 때 공급자가 알림을 지원하는 경우 이 매개 변수를 NULL로 설정할 수 있습니다. 즉, 공급자가 결과를 비동기적으로 반환합니다. 공급자의 Initialize 메서드에 전달된 IFunctionDiscoveryNotification 인터페이스를 사용하여 비동기 결과를 반환해야 합니다.
클라이언트 애플리케이션이 알림을 구현하지 않은 경우 NULL 매개 변수를 전달할 수 있습니다.
반환 값
가능한 반환 값에는 다음이 포함되지만 이에 국한되지는 않습니다.
| 반환 코드 | Description |
|---|---|
|
메서드가 성공적으로 완료되고 결과가 동기적으로 반환됩니다. |
|
pIFunctionDiscoveryProviderQuery 매개 변수는 NULL입니다. |
|
메서드가 성공적으로 완료되고 결과가 비동기적으로 반환됩니다. |
설명
활성 쿼리는 EndQuery 메서드를 호출하여 함수 검색에 의해 종료됩니다. EndQuery는 클라이언트가 쿼리에 대한 IFunctionDiscoveryNotification 인터페이스를 지정한 경우에만 호출됩니다. IFunctionDiscoveryNotification이 제공되지 않은 경우 쿼리 호출이 완료되면 공급자가 쿼리를 종료한 것으로 간주해야 합니다.
클라이언트는 이전 쿼리 호출이 반환된 후 언제든지 쿼리 를 다시 실행할 수 있습니다. 쿼리 구현은 새 쿼리 에 대한 IFunctionInstanceCollection 을 반환할 수 있어야 합니다. EndQuery는 클라이언트가 공급자의 Initialize 메서드에 전달된 IFunctionDiscoveryNotification 인터페이스를 전달한 경우에만 후속 쿼리 호출 전에 호출됩니다.
쿼리가 E_PENDING 반환하는 경우 공급자는 FD_EVENTID_SEARCHCOMPLETEIFunctionDiscoveryNotification 인터페이스의 OnEvent 메서드를 호출하여 결과의 열거가 완료되었음을 나타내야 합니다. FD_EVENTID_SEARCHCOMPLETE 이벤트를 보내지 않으면 클라이언트가 무기한 중단됩니다.
요구 사항
| 요구 사항 | 값 |
|---|---|
| 지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
| 지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱만 해당] |
| 대상 플랫폼 | Windows |
| 헤더 | functiondiscoveryprovider.h |