다음을 통해 공유


IServiceProvider 인터페이스(servprov.h)

GUID 식별 서비스를 찾는 일반 액세스 메커니즘을 제공합니다.

상속

IServiceProvider 인터페이스는 IUnknown 인터페이스에서 상속됩니다.

메서드

IServiceProvider 인터페이스에는 이러한 메서드가 있습니다.

 
IServiceProvider::QueryService

IServiceProvider 구현을 통해 노출되는 모든 서비스에 대한 팩터리 메서드 역할을 합니다.
IServiceProvider::QueryService

IServiceProvider 구현을 통해 노출되는 모든 서비스에 대한 팩터리 메서드 역할을 합니다. CLSID 매개 변수를 허용합니다.

설명

IServiceProvider 인터페이스는 컨트롤 또는 서비스가 통신할 수 있는 다른 개체를 통해 제공되는 GUID 식별 서비스를 찾는 일반 액세스 메커니즘입니다. 예를 들어 포함된 개체(예: OLE 컨트롤)는 일반적으로 IOleObject::SetClientSite를 사용하여 제공되는 IOleClientSite 인터페이스를 통해 컨테이너의 연결된 클라이언트 사이트 개체와만 통신합니다. 포함된 개체는 클라이언트 사이트에 해당 서비스가 구현되지 않을 때 컨테이너가 지원하는 다른 서비스를 클라이언트 사이트에 요청해야 합니다.

클라이언트 사이트는 필요한 경우 사이트에서 관리하는 컨트롤이 서비스에 액세스할 수 있는 수단을 제공해야 합니다. 예를 들어 현재 위치 개체 또는 컨트롤에서 IOleInPlaceSite::GetWindowContext) 함수를 사용하여 사이트가 포함된 문서 개체와 문서가 포함된 프레임 개체의 인터페이스 포인터에 액세스할 수 있습니다. 이러한 인터페이스 포인터는 별도의 개체에 존재하기 때문에 컨트롤은 사이트의 QueryInterface 를 호출하여 해당 포인터를 가져올 수 없습니다. 대신 IServiceProvider 인터페이스를 사용합니다.

IServiceProvider 인터페이스는 호출자가 서비스 ID(SID, GUID), 반환할 인터페이스의 IID 및 호출자의 인터페이스 포인터 변수 주소를 지정하는 단일 메서드 QueryService의 오버로드를 해야 합니다. 두 번째 오버로드는 메서드에 전달된 출력 포인터에서 IID를 유추합니다.

이 인터페이스의 IID는 IID_IServiceProvider.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 빌드 22000
지원되는 최소 서버 Windows 빌드 22000
머리글 servprov.h