다음을 통해 공유


IFunctionDiscoveryProvider::InstanceQueryService 메서드(functiondiscoveryprovider.h)

[Function Discovery는 요구 사항 섹션에 지정된 운영 체제에서 사용할 수 있습니다. 이후 버전에서는 변경되거나 제공되지 않을 수 있습니다.]

함수 instance 대한 공급자별 COM 개체를 만듭니다. 공급자 작성기는 COM 개체를 통해 추가 기능을 제공하기 위해 이 메서드를 구현할 수 있습니다.

구문

HRESULT InstanceQueryService(
  [in]  IFunctionInstance *pIFunctionInstance,
  [in]  INT_PTR           iProviderInstanceContext,
  [in]  REFGUID           guidService,
  [in]  REFIID            riid,
  [out] IUnknown          **ppIUnknown
);

매개 변수

[in] pIFunctionInstance

IFunctionInstance 인터페이스에 대한 포인터입니다.

[in] iProviderInstanceContext

특정 함수와 연결된 컨텍스트는 instance.

[in] guidService

서비스의 고유 식별자(SID)입니다. 공급자 작성기가 정의한 서비스 ID입니다. 예제는 FunctionDiscoveryServiceIDs.h를 참조하세요.

[in] riid

호출자가 서비스에 대해 수신하려는 인터페이스의 고유 식별자입니다.

[out] ppIUnknown

서비스의 인터페이스 포인터를 수신하는 포인터입니다. 호출자는 서비스가 더 이상 필요하지 않은 경우 이 인터페이스 포인터를 통해 Release 를 호출합니다.

반환 값

가능한 반환 값에는 다음이 포함되지만 이에 국한되지는 않습니다.

반환 코드 Description
S_OK
메서드가 완료되었습니다.
E_NOINTERFACE
공급자는 guidService 로 식별된 서비스를 구현하지만 rrid로 식별된 인터페이스를 구현하지는 않습니다.
E_OUTOFMEMORY
메서드는 이 작업을 수행하는 데 필요한 메모리를 할당할 수 없습니다.
E_NOTIMPL
공급자가 IFunctionInstance::QueryService 메서드를 구현하지 않거나 guidService 로 지정된 서비스 식별자가 공급자의 서비스 식별자와 일치하지 않습니다.

설명

InstanceQueryServiceguidService로 식별된 서비스를 만들거나 액세스하여 ppv 인수에서 riid로 지정된 인터페이스의 주소를 반환합니다. 공급자는 서비스를 구현할 수 있으며 이 메서드는 공급자가 이 구현을 제공한 다음 서비스를 구현하기 위해 새 개체를 만들도록 요구하는 메커니즘을 제공합니다.

guidService가 이 공급자에 속하지 않거나 riid 인터페이스가 지원되지 않는 경우 공급자는 E_NOINTERFACE 반환해야 합니다. 공급자는 이 메서드를 구현하지 않거나 요청된 SID를 구현하지 않는 경우 E_NOTIMPL 반환해야 합니다.

포함된 서비스 또는 디바이스를 지원하는 모든 공급자는 SID_PNPXServiceCollection 서비스를 구현해야 합니다. SID_PNPXServiceCollection 서비스가 지원되는 경우 클라이언트는 IFunctionInstance::QueryService 를 호출하여 포함된 서비스 또는 디바이스와 연결된 정보 및 메타데이터에 액세스할 수 있습니다. 예를 들어 PnP-X 공급자(즉, SSDP 공급자 및 WSD 공급자)는 SID_PNPXServiceCollection 서비스에 대한 지원을 구현합니다. 모든 공급자가 SID_PNPXServiceCollection 서비스 지원을 구현하는 것은 아닙니다.

요구 사항

   
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 functiondiscoveryprovider.h

추가 정보

IFunctionDiscoveryProvider