다음을 통해 공유


WMI용 COM API

WMI COM(구성 요소 개체 모델) API를 사용하여 관리 클라이언트 애플리케이션을 작성하거나 새 WMI 공급자만들 수 있습니다. COM API 참조는 고급 시스템 관리자뿐만 아니라 클라이언트 및 공급자 애플리케이션을 작성하는 개발자를 위한 정보를 제공합니다.

WMI 엔터프라이즈 관리 애플리케이션 작성에 대한 자세한 내용은 C++사용하여 WMI 애플리케이션 만들기를 참조하세요. WMI 공급자를 작성하는 방법에 대한 자세한 내용은 WMI데이터 제공을 참조하세요.

메모

WMI는 Microsoft Visual C++ 버전 6.0 이상 개발 시스템을 사용하는 C++ 개발만 지원합니다. 그러나 Borland 및 Watcom과 같은 다른 컴파일러를 사용할 수도 있습니다.

 

각 WMI 개체는 궁극적으로 IUnknown 인터페이스에서 상속된 인터페이스에서 상속됩니다. COM은 개체 구현자 또는 인터페이스가 메모리 관리, 매개 변수 관리 및 다중 스레딩과 같은 작업을 처리하는 방법을 결정합니다. COM을 준수하여 WMI용 COM API는 각 WMI 개체의 인터페이스에서 제공하는 기능을 지원하도록 합니다.

WMI는 다음 WMI 관련 COM 인터페이스를 통해 액세스됩니다.

인터페이스 묘사
IEnumWbemClassObject IWbemClassObject형식의 개체와 함께 작동하는 열거자입니다. IEnumVariant같은 표준 COM 열거자와 비슷합니다.
IMofCompiler Mofd.dll구현된 이 인터페이스는 MOF 컴파일러 및 MOF 파일을 컴파일하는 다른 애플리케이션에서 사용하는 COM 인터페이스를 제공합니다.
IUnsecuredApartment 클라이언트 프로세스에서 비동기 호출을 만드는 프로세스를 간소화하는 데 사용됩니다.
IWbemBackupRestore WMI 리포지토리의 내용을 백업하고 복원합니다.
IWbemCallResult IWbemServices 인터페이스의 반동기 호출을 데 사용됩니다. 이러한 호출을 수행하면 호출된 IWbemServices 메서드가 IWbemCallResult 개체와 함께 즉시 반환됩니다.
IWbemCausalityAnalysis 부모 요청에서 생성된 자식 요청을 추적합니다.
IWbemClassObject 클래스 정의와 클래스 개체 인스턴스를 모두 포함하고 조작합니다. 개발자는 이 인터페이스를 구현할 필요가 없습니다. WMI는 구현을 제공합니다.
IWbemConfigureRefresher 클라이언트 코드에서 열거자, 개체 및 중첩된 새로 고침을 새로 고침에 추가하거나 제거하는 데 사용됩니다.
IWbemContext 필요에 따라 Windows Management에 대한 IWbemServices 호출을 제출할 때 공급자에게 추가 컨텍스트 정보를 전달하는 데 사용됩니다.
IWbemDecoupledBasicEventProvider 분리된 공급자를 WMI에 등록합니다.
IWbemDecoupledRegistrar 분리된 공급자를 WMI와 연결합니다. 이 인터페이스를 사용하면 프로세스 호스팅 공급자가 인터페이스의 상호 운용성 수명을 정의하고 다른 공급자와 공존할 수 있습니다.
IWbemEventConsumerProvider 이벤트 소비자 공급자에 대한 기본 인터페이스를 제공합니다. 이 인터페이스와 FindConsumer 메서드를 통해 이벤트 소비자 공급자는 지정된 이벤트를 받아야 하는 이벤트 소비자를 나타낼 수 있습니다.
IWbemEventProvider 이벤트 공급자와의 통신을 시작하는 데 사용됩니다.
IWbemEventProviderQuerySink 필요에 따라 성능을 최적화하기 위해 현재 활성 상태인 이벤트 쿼리 필터 종류를 알고자 하는 이벤트 공급자가 구현합니다.
IWbemEventProviderSecurity 필요에 따라 해당 이벤트에 대한 소비자 액세스를 제한하려는 이벤트 공급자에 의해 구현됩니다.
IWbemEventSink 제한된 쿼리 집합을 사용하여 이벤트 공급자와의 통신을 시작합니다. 이 인터페이스는 IWbemObjectSink확장하여 보안 및 성능을 다루는 새로운 방법을 제공합니다.
IWbemHiPerfProvider 공급자가 새로 고칠 수 있는 개체 및 열거자를 제공할 수 있도록 합니다.
IWbemHiPerfEnum 인스턴스 개체의 열거에 대한 신속한 액세스를 제공하기 위해 새로 고침 작업에 사용됩니다.
IWbemLocator 특정 호스트 컴퓨터에서 WMI에 대한 IWbemServices 인터페이스에 대한 초기 네임스페이스 포인터를 가져옵니다.
IWbemObjectAccess 개체의 메서드 및 속성에 대한 액세스를 제공합니다. IWbemObjectAccess 개체는 새로 고침업데이트된 인스턴스에 대한 컨테이너입니다.
IWbemObjectSink IWbemServices 결과와 특정 유형의 이벤트 알림을 모두 수신하는 데 사용됩니다.
IWbemObjectTextSrc IWbemClassObject 인스턴스를 다른 텍스트 형식으로 변환하는 데 사용됩니다.
IWbemPropertyProvider WMI 클래스의 인스턴스에서 개별 속성 검색 및 업데이트를 지원합니다.
IWbemProviderIdentity 공급자가 동일한 CLSID 값으로 둘 이상의 이름(__Win32Provider여러 인스턴스)를 사용하여 자신을 등록하는 경우 이벤트 공급자가 구현합니다. 클래스는 사용해야 하는 명명된 공급자를 구분하기 위한 메커니즘을 제공합니다.
IWbemProviderInit 공급자를 초기화하는 데 사용됩니다.
IWbemProviderInitSink WMI에 의해 구현되고 초기화 상태를 보고하기 위해 공급자가 호출합니다.
IWbemQualifierSet 단일 속성 또는 전체 개체(클래스 또는 인스턴스)에 대한 명명된 한정자의 전체 집합에 대한 컨테이너 역할을 합니다.
IWbemQuery WQL(WMI 쿼리 언어) 쿼리를 구문 분석할 수 있는 진입점을 제공합니다.
IWbemRefresher 열거자 또는 새로 고침 개체와 같은 새로 고칠 수 있는 개체를 새로 고칠 수 있는 진입점을 제공합니다.
IWbemServices 클라이언트 및 공급자가 WMI 서비스에 액세스하는 데 사용됩니다. 인터페이스는 WMI에서만 구현되며 기본 WMI 인터페이스입니다.
IWbemStatusCodeText 오류 코드 또는 오류가 발생한 하위 시스템의 이름에 대한 텍스트 문자열 설명을 추출합니다.
IWbemUnboundObjectSink 모든 논리적 이벤트 소비자가 구현합니다. 이벤트 개체 배달을 허용하는 간단한 싱크 인터페이스입니다.

 

메모

대부분의 WMI COM 함수는 명명된 상수로 문서화된 숫자 오류 코드를 반환합니다. 이러한 상수는 PSDK WMI\Include 폴더의 Wbemcli.h에 정의됩니다. 자세한 내용은 WMI 반환 코드 참조하세요.

 

COM 프로그래밍에 대한 다음 항목에 대한 자세한 내용은 구성 요소 개발참조하세요.

  • 인터페이스 및 개체 디자인.
  • IUnknown구현.
  • 메모리 관리
  • 참조 계산 처리.

WMI 참조