標準修飾子

CIM 準拠のすべての実装では、標準の修飾子セットを処理する必要があります。 特定のオブジェクトに、すべての修飾子が一覧表示されているわけではありません。 通常、拡張クラスでは、クラス インスタンスのプロビジョニングやその他の操作を容易にするために、追加の修飾子が提供されます。

修飾子を適用するのはプロバイダーの責任です。 WMI では修飾子は適用されませんが、プロパティの使用方法をユーザーに通知するためにのみ使用されます。

Note

WMI は CIM 2.5 仕様に準拠しています。

修飾子には次の制限があります。

  • すべての標準修飾子を一緒に使用できるわけではありません。
  • すべての修飾子を、関連付けや参照など、すべてのコンストラクトに適用できるわけではありません。 これらの制限は、[適用対象] の一覧で確認できます。
  • 関連付けや参照などの特定のコンストラクトでは、一部の修飾子が相互に排他的であるため、法的修飾子の使用をさらに制限できます。1 つの修飾子を使用すると、別の修飾子の値に対する制限が生じる可能性があります。 これらの使用規則が文書化されています。
  • 法的修飾子は、関連付けや参照ではなく、プロパティ、メソッド、インスタンス、サブクラスなどのエンティティによってのみ継承されます。 たとえば、プロパティに適用される MaxLen 修飾子は、参照によって継承されません。

WMI 標準修飾子の一覧を次に示します。

抽象

データ型: ブール値

適用対象: クラス、関連付け、表示

クラスが抽象クラスであり、新しいクラスのベースとしてのみ機能するかどうかを示します。 既定値は FALSE です。 抽象クラスのインスタンスを作成することはできません。 この修飾子がない場合は、クラスが抽象ではないことを示します。したがって、この修飾子はすべての抽象クラスに必要です。

集計

データ型: ブール値

適用対象: 参照

参照が集計関連付けの親コンポーネントであるかどうかを示します。 既定値は FALSE です

使用法: 集計 修飾子と 集計 修飾子を組み合わせて使用 すると、集計 は関連付けを修飾し、 Aggregate は親参照を指定します。

集計

データ型: ブール値

適用対象: 関連付け

関連付けが集計であるかどうかを示します。 既定値は FALSE です。 集計と共に使用 されます。 この修飾子は、すべての集計関連付けに必要です。

エイリアス

データ型: 文字列

適用対象: プロパティ、参照、メソッド

スキーマ内のプロパティまたはメソッドの代替名。 既定値は NULL です

ArrayType

データ型: 文字列

適用対象: プロパティ、パラメーター

修飾配列の型。

有効な値は次のとおりです。

  • バッグ (既定)
  • インデックス付き
  • ordered

使用法: (角かっこ構文を使用して定義される) 配列であるプロパティとパラメーターにのみ、この種類の修飾子を適用します。

ビットマップ

データ型: 文字列配列

適用対象: プロパティ、メソッド、パラメーター

各重要な位置を "オン" または "オフ" にできる重要なビット位置のマップ。 各 "on" ビットは、 BitValues 配列内の対応する値にマップされます。 複数のビットを "on" にすることで、 BitValues 配列内の複数の同時値が示されます。 既定値は NULL です

詳細については、「 BitMap と BitValues」を参照してください。

BitValues

データ型: 文字列配列

適用対象: プロパティ、メソッド、パラメーター

ビット位置の値を関連付けられた文字列に変換 します。 既定値は NULL です

詳細については、「 BitMap と BitValues」を参照してください。

コンス トラクター

データ型: ブール値

適用対象: メソッド

メソッドがインスタンスを作成するかどうかを示します。 これらのメソッドは、単一のインスタンスまたは 1 つのクラスで動作するように制限されません。 たとえば、コンストラクターは、関連付けインスタンスと、コンストラクターを定義するクラスのインスタンスを作成できます。

コンストラクター修飾子は情報のみを対象としており、オブジェクト マネージャーによって処理されるとは限りません。 オブジェクト マネージャーは、オブジェクトの作成時にコンストラクター メソッドを呼び出す必要はありません。 また、コンストラクターが呼び出されると、オブジェクト マネージャーは、元のクラスの親クラスに対して定義されたコンストラクター メソッドを呼び出す必要はありません。 既定値は FALSE です

CreateBy

データ型: 文字列

適用対象: クラス

このクラスのインスタンスが作成されるメソッドの名前。 値は、"PutInstance" か、インスタンスを作成する別のメソッドの名前です。 既定値は NULL です

使用法: この修飾子は、 SupportsCreate 修飾子が存在する場合にのみ使用できます。

DeleteBy

データ型: 文字列

適用対象: クラス

このクラスのインスタンスが削除されるメソッドの名前。 値は "DeleteInstance" か、インスタンスを削除する別のメソッドの名前です。 既定値は NULL です

使用法: この修飾子は、 SupportsDelete 修飾子が存在する場合にのみ使用できます。

Description

データ型: 文字列

適用対象: 任意

名前付き要素の説明。 既定値は NULL です

デストラクター

データ型: ブール値

適用対象: メソッド

メソッドがインスタンスを削除するかどうかを示します。 デストラクター修飾子を使用するメソッドは、デストラクターが適用されるインスタンスを削除し、単一のインスタンスまたはクラスで動作するように制限されません。 たとえば、デストラクターは、関連付けインスタンスと、デストラクターを定義するクラスのインスタンスを削除する場合があります。

デストラクター修飾子は情報のみを対象としており、オブジェクト マネージャーによって動作することは想定されていません。 インスタンスが削除されたときに デストラクター 修飾子を持つメソッドをオブジェクト マネージャーが呼び出す義務はありません。 また、デストラクターが呼び出されると、オブジェクト マネージャーは、元のクラスの親クラスに対して定義されたデストラクター メソッドを呼び出す必要はありません。 既定値は FALSE です

DisplayName

データ型: 文字列

適用対象: 任意

要素の実際の名前の代わりに UI に表示される名前。 既定値は NULL です

EmbeddedInstance

データ型: 文字列

適用対象: 任意

修飾された文字列型要素には、埋め込みインスタンスが含まれています。 修飾子の値は、修飾された要素を所有するクラスと同じ名前空間内の CIM クラスの名前を指定します。 埋め込みインスタンスは、サブクラスのインスタンスを含む、指定されたクラスのインスタンスです。 既定値は NULL です

ゲージ

データ型: ブール値

適用対象: 任意

プロパティが負以外の整数を表すかどうかを示します。この整数は増減できますが、最大値を超えることはありません。 既定値は FALSE です

プロパティの最大値は、2^n ~ 1 より大きくすることはできません。 N は、この修飾子が適用されるプロパティのデータ型に応じて 8、16、32、または 64 にすることができます。 モデル化される情報がその最大値以上の場合は常に、ゲージの最大値が設定されます。 モデル化される情報が最大値を下回ると、ゲージも減少します。 この修飾子は、符号なし整数データ型のプロパティにのみ適用されます。

インチ

データ型: ブール値

適用対象: パラメーター

パラメーターを使用してメソッドに値を渡すかどうかを示します。 既定値は TRUE です

In、Out

データ型: ブール値

適用対象: パラメーター

パラメーターが入力パラメーターと出力パラメーターの両方であるかどうかを示します。

キー

データ型: ブール値

適用対象: プロパティ、参照

プロパティが名前空間ハンドルの一部であるかどうかを示します。 複数のプロパティに Key 修飾子がある場合、そのようなすべてのプロパティがまとめてキー (複合キー) を形成します。 組み合わせると、キー プロパティは各クラス インスタンスに一意の参照を指定する必要があります。 この修飾子がプロパティに配置されている場合は、 値 TRUE のみが許可されます。

遅延

適用対象: プロパティ

プロパティが返されるリソースが多く、多くのプロセッサ時間とメモリが必要であることを示します。 WMI では、 Lazy 修飾子でマークされたプロパティを返そうとしないことで、クエリのパフォーマンスが向上します。

MappingStrings

データ型: 文字列配列

適用対象: クラス、プロパティ、関連付け、表示、参照

プロパティ、クラス、関連付け、表示、または参照の起点に関する詳細情報を見つけることができる場所へのパスを示す値のセット。 マッピング文字列には、ディレクトリ パス、URL、レジストリ キー、インクルード ファイル、CIM クラスへの参照、またはその他の形式を指定できます。 既定値は NULL です

最大

データ型: int

適用対象: 参照

関連付け内の他の参照値のセットごとに、指定された参照に含めることができる値の最大数。 既定値は NULL です。 たとえば、関連付けが A インスタンスを B インスタンスに関連付け、B インスタンスごとに最大 1 つの A インスタンスが必要な場合、A への参照は最大 1 つの修飾子を持つ必要があります。

Maxlen

データ型: int

適用対象: プロパティ、メソッド、パラメーター

文字列データ項目の最大長 (文字数) で、固定長配列のサポートを示します。

固定長配列が検出された場合、 MaxLen 修飾子には解析中に検出された固定長が含まれます。 可変長配列が見つかった場合、この修飾子は使用されません。 MaxLen は、配列に格納する必要がある要素の最大数を提案するために使用されます。 既定値をオーバーライドする場合は、符号なし整数値 (uint32) を指定できます。 NULL (既定値) の値は、無制限の長さを意味します。

Maxvalue

データ型: int

適用対象: プロパティ、メソッド、パラメーター

オブジェクトの最大値。 既定値は NULL です

データ型: int

適用対象: 参照

参照の最小カーディナリティ (関連付け内の他の参照値のセットごとに、指定された参照が持つ値の最小数)。 既定値は 0 です。

たとえば、関連付けが A インスタンスを B インスタンスに関連付け、B インスタンスごとに少なくとも 1 つの A インスタンスが必要な場合、A への参照には少なくとも 1 つの修飾子が必要です。

Minvalue

データ型: int

適用対象: プロパティ、メソッド、パラメーター

オブジェクトの最小値を示します。 既定値は NULL です

ModelCorrespondence

データ型: 文字列配列

適用対象: プロパティ

オブジェクトのプロパティと CIM スキーマ内の他のプロパティの対応関係を示す値のセット。 既定値は NULL です

オブジェクトのプロパティは、次の構文を使用して識別されます。

"_" "."

Nonlocal

データ型: 文字列

適用対象: 参照

インスタンスの場所。その値は <namespacetype>://<namespacehandle> 既定値は NULL です

使用法: この修飾子を NonlocalType 修飾子と共に使用することはできません。

NonlocalType

データ型: 文字列

適用対象: 参照

インスタンスの場所の種類。 その値は名前空間型です<>。 既定値は NULL です

使用法: この修飾子は 、非ローカル 修飾子では使用できません。

NullValue

データ型: 文字列

適用対象: プロパティ

関連付けられているプロパティが NULL であることを示す値 (プロパティに有効または意味のある値がありません)。 既定値は NULL です

NULL 値の定義に使用される規則と制限は、ValueMap 修飾子に適用されるものと同じです。 この修飾子はオーバーライドできないことに注意してください。 サブクラスが親クラスの NULL 値とは異なる NULL 値を返すのを許可することは不合理です。

データ型: ブール値

適用対象: パラメーター

パラメーターがメソッドから値を返すかどうかを示します。 既定値は FALSE です

オーバーライド

データ型: 文字列

適用対象: プロパティ、メソッド、参照

派生クラス内の同じ名前のプロパティ、メソッド、または参照によってオーバーライドされる親クラスまたは下位コンストラクト (プロパティ、メソッド、または参照)。 既定値は NULL です

形式は次のようになります:

[<class>.]<下位コンストラクト>

クラス名を省略すると、オーバーライドはクラス階層内の親クラスの下位コンストラクトに適用されます。

使用法: Override 修飾子は、同じメタ モデルのみに基づくコンストラクトを参照できます。 オーバーライド操作中にコンストラクト名または署名を変更することはできません。

OverrideValue

適用対象: クラス

サブクラスのプロパティ値が親クラスの値をオーバーライドするかどうかを示します。 機能的な意味は、親クラスに対してクエリを実行し、 WHERE 句にこのプロパティが含まれている場合、親はオーバーライドされた値を持つインスタンスを返す必要があります。 その結果、Windows管理は、親クラスに送信されるクエリの WHERE 句を調整して、このプロパティへの参照を除外します。

反映

データ型: 文字列

適用対象: プロパティ

伝達されるキーの名前。 既定値は NULL です

この修飾子を使用すると、包含クラスをターゲットとする参照に弱い修飾子が 1 つだけ存在することを前提としています。 関連付けられているプロパティは、弱い関連付けの反対側のクラスの修飾子によって指定されたプロパティと同じ値を持つ必要があります。 形式は次のようになります:

[<class>.]<下位コンストラクト>

使用法: 伝達修飾子を使用する場合は、値が TRUEKey 修飾子を指定する必要があります。

読む

データ型: ブール値

適用対象: プロパティ

プロパティが読み取り可能かどうかを示します。 既定値は TRUE です

必須

データ型: ブール値

適用対象: プロパティ

プロパティに null 以外の値が必要かどうかを示します。 既定値は FALSE です

リビジョン

データ型: 文字列

適用対象: クラス、関連付け、表示、スキーマ

スキーマ オブジェクトのマイナー リビジョン番号。 既定値は NULL です

使用法: リビジョン修飾子を使用する場合、メジャー バージョン番号を指定するには、バージョン修飾子が存在する必要があります。

スキーマ

データ型: 文字列

適用対象: プロパティ、メソッド

機能が定義されているスキーマの名前。 既定値は NULL です

ソース

データ型: 文字列

適用対象: クラス、関連付け、表示、参照

インスタンスの場所。 既定値は NULL です

修飾子の値は <namespacetype>://<namespacehandle です>。

使用法: Source 修飾子を SourceType 修飾子と共に使用することはできません。

SourceType

データ型: 文字列

適用対象: クラス、関連付け、表示、参照

インスタンスの場所の種類。 この修飾子の値は <namespacetype です>。 既定値は NULL です

使用法: SourceType 修飾子を Source 修飾子と共に使用することはできません。

SupportsCreate

データ型: ブール値

適用対象: クラス

クラスがインスタンスの作成をサポートするかどうかを示します。 既定値は FALSE です

SupportsDelete

データ型: ブール値

適用対象: クラス

クラスがインスタンスの削除をサポートするかどうかを示します。 既定値は FALSE です

SupportsUpdate

データ型: ブール値

適用対象: クラス

クラスがインスタンスの変更 (更新) をサポートしているかどうかを示します。 既定値は FALSE です

ターミナル

データ型: ブール値

適用対象: クラス

クラスにサブクラスを含めることができるかどうかを示します。 既定値は FALSE です

サブクラスが宣言されている場合、コンパイラはエラーを生成します。

使用法: この修飾子は 、Abstract 修飾子と共存できません。 ターミナル修飾子と Abstract 修飾子の両方が指定されている場合、コンパイラはエラーを生成します。

単位

データ型: 文字列

適用対象: プロパティ、メソッド、パラメーター

関連付けられたデータ項目が表される単位の種類。 既定値は NULL です

たとえば、サイズ データ項目の単位の値が "bytes " の場合があります。

ValueMap

データ型: 文字列配列

適用対象: プロパティ、メソッド、パラメーター

プロパティ、メソッドの戻り値の型、またはメソッド パラメーターの許容値のセット。 既定値は NULL です

使用法: この修飾子は、単独で使用することも、 Values 修飾子と組み合わせて使用することもできます。 Values 修飾子と組み合わせて使用すると、ValueMap 配列内の値の場所によって、Values 配列内の対応するエントリの場所が提供されます。 ValueMap 修飾子は、文字列と整数値でのみ使用します。 値マップ配列の整数値を表す構文は、[+|=]digit[*digit]です。 コンテンツ、最大桁数、および表される値は、関連付けられたプロパティの型によって制限されます。 たとえば、uint8 は符号を付けず、4 桁未満でなければならず、256 未満の値を表す必要があります。

データ型: 文字列配列

適用対象: プロパティ、メソッド、パラメーター

整数値を関連付けられた文字列に変換する値のセット。 既定値は NULL です

このプロパティは、列挙プロパティにマップされる文字列値の配列も指定します。 この修飾子は整数プロパティまたは文字列プロパティに適用でき、マッピングは暗黙的または明示的にすることができます。 マッピングが暗黙的な場合、整数または文字列のプロパティ値は Values 配列内の序数位置を表します。 マッピングが明示的な場合、プロパティは整数である必要があり、有効なプロパティ値は ValueMap 修飾子で定義された配列に一覧表示されます。 詳細については、「 値マップ」を参照してください。

ValueMap 修飾子が存在しない場合は、関連付けられたプロパティ、メソッドの戻り値の型、またはメソッド パラメーターの値を使用して、Values 配列のインデックスが作成されます (相対 0)。 ValueMap 修飾子が存在する場合、値インデックスは値マップ内のプロパティ値の場所によって定義されます。

バージョン

データ型: 文字列

適用対象: クラス、スキーマ、関連付け、表示

スキーマ オブジェクトのメジャー バージョン番号。 既定値は NULL です。 バージョン番号は、インターフェイスを変更するスキーマに変更が加えられたときにインクリメントされます。

弱い

データ型: ブール値

適用対象: 参照

参照されるクラスのキーに、関連付け内の他の参加者のキーが含まれているかどうかを示します。 既定値は FALSE です

この修飾子は、参照されるクラスの ID が、関連付け内の他の参加者の ID に依存する場合に使用されます。 特定のクラスへの参照が 1 つ以上弱い場合はありません。 関連付け内の他のクラスは、キーを定義する必要があります。 関連付け内の他のクラスのキーは、参照先のクラスで繰り返され、 伝達修飾子 でタグ付けされます。

書き込み

データ型: ブール値

適用対象: プロパティ

アプリケーションまたはスクリプトがプロパティ値を変更できることを示します。 アプリケーションを実行するアカウントは、クラスのインスタンスを含む名前空間にアクセスできる必要があります。 プロバイダーの実装では、プロバイダー データへのアクセスが制限される場合もあります。 TRUE の値は、WMI とプロバイダーによってアクセスが許可されているコンシューマーがプロパティを読み取り可能で書き込み可能であることを示します。 既定値は FALSE です

Write 修飾子がないプロパティは、書 込み可能な場合があります。 プロバイダーの実装では、 書き込み 修飾子が存在するかどうかに関係なく、プロバイダー クラスのすべてのプロパティを変更できます。

WriteAtCreate

データ型: ブール値

適用対象: プロパティ

インスタンスの作成時にプロパティが書き込み可能かどうかを示します。 この修飾子は、 WriteAtCreate 修飾子と組み合わせて使用できます。 既定値は FALSE です

WriteAtUpdate

データ型: ブール値

適用対象: プロパティ

インスタンスの更新時にプロパティが書き込み可能かどうかを示します。 この修飾子は、 WriteAtCreate 修飾子と組み合わせて使用できます。 既定値は FALSE です

修飾子の取得の詳細については、TechNet ギャラリーの Get-WmiClassMethodsAndWritableWmiProperties PowerShell コード サンプルを参照してください。

要件

要件
サポートされている最小のクライアント
Windows Vista
サポートされている最小のサーバー
Windows Server 2008

こちらもご覧ください

WMI 修飾子

修飾子の追加