다음을 통해 공유


고성능 인터페이스 구현

WMI는 처리 중인 고성능 공급자를 WMI 또는 클라이언트 응용 프로그램에 로드하므로 고성능 공급자를 in-process 서버로 디자인해야 합니다. 또한 IWbemHiPerfProviderIWbemRefresher 인터페이스에서 고성능 공급자 메서드를 구현해야 합니다.

고성능 공급자를 in-process 서버로 구현해야 합니다. in-process 서버의 보안을 구현할 때 알아야 할 한 가지 기능은 공급자가 자체 위치를 식별하는 방법입니다. WMI에 in-process를 로드하면 WMI는 CLSID를 사용하여 공급자를 인스턴스화합니다. 클라이언트 응용 프로그램에 프로세스에서 로드되는 경우 클라이언트 응용 프로그램은 ClientLoadableCLSID 속성을 사용하여 공급자를 인스턴스화합니다. CLSID 및 ClientLoadableCLSID에 다른 값을 제공하면 공급자가 프로세스 내 WMI 또는 클라이언트 응용 프로그램에 로드되는지 확인할 수 있습니다. WMI 프로세스에 있는 경우 공급자는 ClientLoadableCLSID를 사용하여 필요한 클라이언트 가장을 수행해야 합니다. 클라이언트 프로세스에 있는 경우 공급자는 호출된 스레드의 액세스 토큰을 상속합니다. In-process 서버를 구현하는 방법에 대한 자세한 내용은 COM(구성 요소 개체 모델) 설명서를 참조하세요.

프로세스 내 서버인 고성능 공급자는 리프레셔 개체를 사용하여 원격 클라이언트에 대한 데이터를 최신 상태로 유지합니다. 다음 표에는 고성능 공급자를 위해 구현해야 하는 메서드가 나와 있습니다.

메서드 기능
IWbemHiPerfProvider::QueryInstances 쿼리
IWbemHiPerfProvider::GetObjects 개체 검색
IWbemHiPerfProvider::CreateRefresher 리프레셔 만들기
IWbemHiPerfProvider::CreateRefreshableObject 새로 고침할 수 있는 인스턴스 개체 만들기
IWbemHiPerfProvider::CreateRefreshableEnum 새로 고침할 수 있는 열거자 만들기
IWbemHiPerfProvider::StopRefreshing 열거자 또는 인스턴스 개체 새로 고침 중지
IWbemRefresher::Refresh 리프레셔 만들기

 

인스턴스 공급자를 고성능 공급자로 만들기