ドライバーの MOF ファイルのコンパイル
WMI データとイベント ブロックを定義する MOF ファイルをコンパイルするには、Microsoft Windows オペレーティング システムに含まれている Mofcomp と呼ばれる MOF コンパイラを使用します。 次の構文を使用します。
mofcomp -WMI -B:filename.bmf filename.mof
上記の構文では、次の項目が表示されます。
-WMI
filename.mof 内のすべてのクラスを WMI で使用するために検証します。 いずれかのクラス定義が無効な場合、Mofcomp は出力ファイル filename.bmfを削除します。 -WMIを省略した場合は、filename.bmfで Wmimofckを実行してクラスを検証する必要があります。 ドライバーは、WMI スイッチを使用するか、Wmimofck を実行して MOF を検証する必要があります。 そうしないと、MOF ファイルが WMI スキーマに正しく読み込まれない可能性があります。
-B:filename.bmf
CIMOM オブジェクト リポジトリに変更を加えることなく、プラットフォームに依存しないバイナリ バージョンの MOF ファイルを filename.bmfに作成するようにコンパイラに要求します。
filename.mof
入力 MOF ファイルの名前を指定します。
Mofcomp の使用方法の詳細については、コマンド プロンプト ウィンドウを開き、mofcomp /?と入力します。
Mofcomp の詳細については、Windows SDK のMofCompおよびその他のトピックを参照してください。
コンパイルされた MOF ファイルをリソースとしてドライバーのバイナリ イメージに含めるには、ドライバーのリソース スクリプト (RC) ファイルに次の行を追加します。
MofResource MOFDATA filename.bmf
ドライバーは、登録要求 (Parameters.WMI.DataPath が WMIREGISTER に設定されたIRP_MN_REGINFOまたはIRP_MN_REGINFO_EX要求) に応答して MOF リソース名を指定します。
ドライバーが WMI ライブラリ ルーチンを使用して WMI IRP を処理する場合は、DpWmiQueryReginfoルーチンで MOF リソース名を指定します。
ドライバーが WMI IRP を直接処理している場合は、ドライバーが WMI に渡すWMIREGINFO構造体で MOF リソース名を指定します。
IRP_MN_REGINFOおよびIRP_MN_REGINFO_EX要求の処理の詳細については、WMI データ プロバイダーとしての登録 を参照してください。
WMI ライブラリ ルーチンを使用した WMI IRP の処理の詳細については、「WMI 要求の処理」を参照してください。
実行可能ファイルにリソースを定義して含める方法の詳細については、Microsoft Windows SDK を参照してください。