WMI に固有の標準修飾子の一覧を次に示します。
改正
データ型: boolean
適用対象: クラス
ローカライズされた修正された修飾子がクラスに含まれていることを示します。 既定値は TRUEです。
関連付けられているクラスを変換できます。 翻訳されたバージョンにアクセスするには、ロケール識別子を使用して名前空間名を作成します。
Bypass_GetObject
データ型: boolean
適用対象: メソッド
メソッド呼び出しが、最初に GetObject を呼び出してオブジェクト パスを検証するのではなく、プロバイダーの ExecMethodAsync 呼び出しに直接渡す必要があることを示します。 既定値は FALSE です。 Bypass_GetObjectを使用すると、パフォーマンスが大幅に向上します。
Bypass_GetObjectを使用する前に、次のいずれのアクションも実行されていないことを確認してください。
- クラスからクラスを派生させます。
- Bypass_GetObject修飾子を持つメソッドをオーバーライドします。
これらの予防措置に従わないと、子クラスではなく親クラスのメソッド実装が呼び出される可能性があります。 詳細については、「Bypass_GetObject修飾子の使用」を参照してください。
CIM_Key
データ型: CIM_BOOLEAN
適用対象: プロパティ
関連付けられているプロパティが CIM のキー プロパティであり、WMI ではキー プロパティではないことを示します。
データ型: VT_BSTR
適用対象: プロパティ、メソッド、パラメーター
プロパティの型を説明するテキストが含まれています。
ClassContext
データ型: VT_BSTR
適用対象: クラス
クラスに、プロバイダーによって動的に提供される詳細情報に関連付けられたインスタンスがあることを示します。
廃止
データ型: CIM_BOOLEAN
適用対象: プロパティ、クラス
プロパティが別のプロパティに置き換えられた場合に示します。
陳列
適用対象: クラス、プロパティ
関連付けられているクラスの UUID 。
データ型: boolean
適用対象: クラス、プロパティ
インスタンスが動的に作成されるクラスを示します。 この修飾子の値は TRUE に設定する必要があります。
DynProps
データ型: boolean
適用対象: クラス、インスタンス
インスタンスに動的プロパティ プロバイダーによって提供される値が含まれていることを示します。 既定値は TRUEです。
このようなインスタンスでは、この修飾子を指定する必要があります。 値 TRUE のみが許可されます。
付け
データ型: CIM_BOOLEAN
適用対象: インスタンス
インスタンスの有効期間中にこのプロパティの値を変更できないことを示します。
身分証明書
データ型: VT_I4
適用対象: プロパティ、パラメーター
MOF ステートメントが自動的に生成されるときに、プロパティまたはメソッド パラメーターを一意に識別し、シーケンス処理します。
この修飾子は、メソッド パラメーターにのみ必要です。 メソッドのパラメーターを作成する場合、クラス デザイナーは最初のパラメーターの Id(0) で始まり、連続する各パラメーターに連続する各整数を使用する必要があります。 ID 修飾子が意図せずに省略された場合、MOF コンパイラは ID 修飾子を自動的に生成します。
実装
データ型: boolean
適用対象: メソッド
メソッドにプロバイダーによって提供される実装があることを示します。
InstanceContext
データ型: VT_BSTR
適用対象: インスタンス
インスタンスに動的プロパティ プロバイダーによって提供される値が含まれていることを示します。
この値は、 IWbemPropertyProvider::GetProperty メソッドの引数としてプロパティ プロバイダーに渡されます。
ロケールの
データ型: VT_BSTR
適用対象: クラスまたはインスタンス
クラスまたはインスタンスの元の言語を指定します。 ロケール値の詳細については、「ロケール コード」を参照してください。
NamespaceSecuritySDDL
データ型: 文字列配列
適用対象: 名前空間インスタンス
名前空間のセキュリティ記述子を SDDL 形式で指定します。 詳細については、「名前空間の 作成時の名前空間セキュリティの設定」を参照してください。 SDDL 文字列は、名前空間のセキュリティを確立するために WMI によって処理されますが、文字列として格納されません。 セキュリティ記述子が指定されていない場合は、既定のセキュリティが使用されます。 詳細については、「 名前空間セキュリティ記述子の設定」を参照してください。
随意
データ型: boolean
適用対象: パラメーター
パラメーターが不要であり、適切に動作する既定値があることを示します。
特権
データ型: 文字列配列
適用対象: プロパティ、メソッド
インスタンスの作成、プロパティの入力、メソッドの実行に必要な権限をクライアントに通知するために使用される値のセット。 既定値は FALSE です。
PropertyContext
データ型: VT_BSTR
適用対象: プロパティ
インスタンス プロパティに、動的プロパティ プロバイダーによって提供される値が含まれていることを示します。
このようなプロパティでは、この修飾子を指定する必要があります。 この値は、 IWbemPropertyProvider::GetProperty の引数としてプロパティ プロバイダーに渡されます。
プロバイダーの
データ型: VT_BSTR
適用対象: クラス
この修飾子の値は、クラス インスタンスを提供し、インスタンス データを更新する動的プロバイダーの名前です。 この名前は、この名前を含む Name プロパティを持つ__Win32Provider クラスのインスタンスを作成することによって、WMI に登録する必要があります。 インスタンスが動的に提供されるクラスでこの修飾子を指定する場合は、 動的 修飾子も指定する必要があります。
RequiresEncryption
データ型: boolean
適用対象: 名前空間インスタンス
TRUE に設定すると、RequiresEncryption によって名前空間がマークされるため、クライアント アプリケーションとスクリプトは暗号化された認証で接続する必要があります。 認証レベルは、C++ で RPC_C_AUTHN_LEVEL_PKT_PRIVACY に設定する必要があります。 スクリプトまたは Visual Basic では、認証レベルを WbemAuthenticationLevelPktPrivacy に設定する必要があります。 詳細については、「 名前空間セキュリティ記述子の設定」を参照してください。 修飾子は、プラグマ名前空間プリプロセッサ コマンドと共に MOF で使用されます。
詳細については、「 C++ を使用した既定のプロセス セキュリティ レベルの設定 」または 「VBScript を使用した既定のプロセス セキュリティ レベルの設定」を参照してください。 スクリプト認証レベルは WbemAuthenticationLevelEnum で定義されています。
シングルトン
データ型: boolean
適用対象: クラス
インスタンスを 1 つだけ持ち、キー プロパティを含まないクラスを指定します。
値 TRUE (既定値) のみが許可されます。
静的
データ型: boolean
適用対象: メソッド
クラス定義またはそのインスタンスを使用してメソッドを呼び出すことができるかどうかを示します。
インスタンスからメソッドを呼び出すことはできません。
サブタイプ
データ型: VT_BSTR
適用対象: プロパティ
CIM_DATETIME型のプロパティが、特定の時刻ではなく時間間隔を表していることを示します。
プロパティを間隔として識別するには、この修飾子の値を "interval" にする必要があります。 この修飾子の他のすべての値は、将来使用するために予約されています。
UUID
データ型: string
適用対象: クラス
クラスに適用される汎用一意識別子。
ClassVersion
データ型: string
適用対象: クラス
クラス オブジェクトのバージョン番号。 既定値は NULL です。 バージョン番号は、クラスに変更が加えられたときにインクリメントされます。
WritePrivileges
データ型: 文字列配列
適用対象: プロパティ
書き込み操作を成功させるために使用可能で有効にする必要があるシステム特権を示す値のセット。
注釈
ロケール コード
ロケール コードは、"MS_<Three Digit Language ID>" という形式です。 たとえば、英語のロケールはMS_409。 次の表に、言語 ID の一覧を示します。
言語 | 言語 ID (16 進数) |
---|---|
アラビア語 | 401 |
ポルトガル語 (ブラジル) | 416 |
簡体中国語 | 804 |
中国語 (繁体字) | 404 |
チェコ語 | 405 |
デンマーク語 | 406 |
オランダ語 | 413 |
英語 (既定値) | 409 |
フィンランド語 | 40b |
フランス語 | 40c |
ドイツ語 | 407 |
ギリシャ語 | 408 |
ヘブライ語 | 40d |
ハンガリー語 | 40e |
イタリア語 | 410 |
日本語 | 411 |
韓国語 | 412 |
ノルウェー語 | 414 |
ポーランド語 | 415 |
ポルトガル語 (ポルトガル) | 816 |
ロシア語 | 419 |
スペイン語 | c0a |
スウェーデン語 | 41D |
トルコ語 | 41f |
Bypass_GetObject修飾子の使用
メソッドで Bypass_GetObject 修飾子を使用すると、混乱を招く結果が生じる可能性があります。
次の例では、 Shape クラスと Circle クラスを定義します。 Circle クラスは Shape クラスから派生しています。
class Shape
{
string Name;
uint32 DrawIt(); // - draws an irregular geometric shape
};
class Circle : Shape
{
uint32 DrawIt(); // - draws a circle
};
ExecMethod に対する次の呼び出しでは、"MyCircle" という名前の Circle オブジェクトを使用して円を描画します。
ExecMethod("Shape.Name='MyCircle'","DrawIt");
前のシナリオでは、WMI は GetObject を呼び出します。"Shape.Name='MyCircle'" が円であることを検出します。DrawIt の Circle 実装を実行します。 ただし、DrawIt でBypass_GetObject修飾子を使用する場合、WMI は GetObject を呼び出さず、"Shape.Name='MyCircle"が Circle であることを検出せず、DrawIt の Circle 実装ではなく DrawIt の Shape 実装を実行します。
ExecMethod に対する次の呼び出しでは、常に DrawIt の正しい実装が呼び出されます。
ExecMethod("Circle.Name='MyCircle'","DrawIt");
要求事項
要件 | 価値 |
---|---|
サポートされている最小のクライアント |
Windows Vista |
サポートされている最小のサーバー |
Windows Server 2008 |