次の方法で共有


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 必要に応じて、IWbemServices Windows Management への呼び出しを送信するときに、プロバイダーに追加のコンテキスト情報を伝達するために使用されます。
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 値を持つ複数の Name (__Win32Providerの複数のインスタンス) を使用してプロバイダーが自身を登録する場合に、イベント プロバイダーによって実装されます。 このクラスには、使用する名前付きプロバイダーを識別するためのメカニズムが用意されています。
IWbemProviderInit プロバイダーの初期化に使用されます。
IWbemProviderInitSink WMI によって実装され、初期化状態を報告するためにプロバイダーによって呼び出されます。
IWbemQualifierSet 1 つのプロパティまたはオブジェクト全体 (クラスまたはインスタンス) の名前付き修飾子のセット全体のコンテナーとして機能します。
IWbemQueryする WMI クエリ言語 (WQL) クエリを解析できるエントリ ポイントを提供します。
IWbemRefresherする 列挙子やリフレッシャー オブジェクトなどの更新可能なオブジェクトを更新できるエントリ ポイントを提供します。
IWbemServices WMI サービスにアクセスするためにクライアントとプロバイダーによって使用されます。 インターフェイスは WMI によってのみ実装され、プライマリ WMI インターフェイスです。
IWbemStatusCodeText エラー コードまたはエラーが発生したサブシステムの名前のテキスト文字列の説明を抽出します。
IWbemUnboundObjectSink すべての論理イベント コンシューマーによって実装されます。 イベント オブジェクトの配信を受け入れる単純なシンク インターフェイスです。

 

手記

WMI COM 関数の多くは、名前付き定数として文書化されている数値エラー コードを返します。 これらの定数は、PSDK WMI\Include フォルダーの Wbemcli.h で定義されています。 詳細については、「WMI リターン コードの」を参照してください。

 

COM プログラミングに関する次のトピックの詳細については、「コンポーネント開発を参照してください。

  • インターフェイスとオブジェクトの設計。
  • IUnknown実装します。
  • メモリ管理
  • 参照カウントの処理。

WMI リファレンス