標準修飾子
CIM 準拠のすべての実装では、標準の修飾子セットを処理する必要があります。 特定のオブジェクトにすべての修飾子が一覧されているわけではありません。 通常、拡張クラスが追加の修飾子を提供するのは、クラス インスタンスのプロビジョニングやクラスに対する他の操作を容易にするためです。
修飾子を適用するのはプロバイダーの責任です。 WMI は修飾子を適用しませんが、プロパティの使用方法をユーザーに通知するためにだけ修飾子を使用します。
注意
WMI は CIM 2.5 仕様に準拠しています。
修飾子には、次の制限事項があります。
- すべての標準修飾子を一緒に使用できるわけではありません。
- すべての修飾子を、関連付けや参照など、すべてのコンストラクトに適用できるわけではありません。 これらの制限は、「適用対象」の一覧で確認できます。
- 関連付けや参照など特定のコンストラクトでは、一部の修飾子が相互に排他的であるため、法的修飾子の使用をさらに制限できます。1 つの修飾子の使用が、他の修飾子の値に対する制限を意味する場合があります。 これらの使用規則が文書化されています。
- 法的修飾子はプロパティ、メソッド、インスタンス、サブクラスなどのエンティティだけによって継承されるのであり、関連付けや参照によって継承されるのではありません。 たとえば、プロパティに適用される MaxLen 修飾子は、参照によって継承されません。
WMI 標準修飾子の一覧を次に示します。
Abstract
データ型: boolean
適用対象: クラス、関連付け、表示
クラスが抽象であり、新しいクラスのベースとしてのみ機能するかどうかを示します。 既定値は FALSE です。 抽象クラスのインスタンスを作成することはできません。 この修飾子がない場合、 クラスは抽象ではないことを示します。したがって、この修飾子はすべての抽象クラスに必要です。
Aggregate
データ型: boolean
適用対象: 参照
参照が集計関連付けの親コンポーネントであるかどうかを示します。 既定値は FALSE です。
使用法: Aggregation 修飾子と Aggregate 修飾子は一緒に使用されます。Aggregation が関連付けを修飾し、Aggregate が親参照を指定します。
Aggregation
データ型: boolean
適用対象: 関連付け
関連付けが集計であるかどうかを示します。 既定値は FALSE です。 Aggregate と共に使用されます。 この修飾子は、すべての集計関連付けに必要です。
Alias
データ型: string
適用対象: プロパティ、参照、メソッド
スキーマ内のプロパティまたはメソッドの代替名。 既定値は NULL です。
ArrayType
データ型: string
適用対象: プロパティ、パラメーター
修飾配列の型。
次の値を指定できます。
- bag (既定値)
- インデックス付き
- ordered
使用法: この種類の修飾子は、配列であるプロパティとパラメーターにのみ適用します (角かっこ構文を使用して定義します)。
BitMap
データ型: string array
適用対象: プロパティ、メソッド、パラメーター
重要ビット位置のマップで、それぞれの重要位置を "オン" や "オフ" にできます。 それぞれの "on" ビットは、BitValues 配列内の対応する値にマップされます。 複数のビットを "オン" にすることで、BitValues 配列内の複数の同時実行値が示されます。 既定値は NULL です。
詳細については、「BitMap と BitValues」を参照してください。
BitValues
データ型: string array
適用対象: プロパティ、メソッド、パラメーター
ビット位置値を関連付けられた string に変換します。 既定値は NULL です。
詳細については、「BitMap と BitValues」を参照してください。
Constructor
データ型: boolean
適用対象: メソッド
メソッドはインスタンスを作成するかどうかを示します。 これらのメソッドは、1 つのインスタンスや 1 つのクラスだけに作用するような制約はありません。 たとえば、コンストラクターは、関連付けインスタンスだけでなく、コンストラクターを定義する クラスのインスタンスも作成できます。
Constructor 修飾子は情報だけを対象としており、オブジェクト マネージャーによる作用を受けることは想定されていません。 オブジェクト マネージャーは、オブジェクトが作成される時にコンストラクター メソッドを呼び出す必要はありません。 また、コンストラクターが呼び出されるとき、オブジェクト マネージャーは、元のクラスの親クラスに定義されたコンストラクター メソッドを呼び出す必要はありません。 既定値は FALSE です。
CreateBy
データ型: string
適用対象: クラス
このクラスのインスタンスを作成するメソッドの名前。 値は、"PutInstance" か、インスタンスを作成する他のメソッドの名前です。 既定値は NULL です。
使用法: この修飾子は、SupportsCreate 修飾子が存在する場合にのみ使用できます。
DeleteBy
データ型: string
適用対象: クラス
このクラスのインスタンスを削除するメソッドの名前。 値は、"DeleteInstance" か、インスタンスを削除する他のメソッドの名前です。 既定値は NULL です。
使用法: この修飾子は、SupportsDelete 修飾子が存在する場合にのみ使用できます。
Description
データ型: string
適用対象: すべて
名前付き要素の説明。 既定値は NULL です。
Destructor
データ型: boolean
適用対象: メソッド
メソッドはインスタンスを削除するかどうかを示します。 Destructor 修飾子を使用するメソッドは、デストラクターが適用されるインスタンスを削除します。1 つのインスタンスやクラスだけに作用するような制約はありません。 たとえば、デストラクターは、関連付けインスタンスだけでなく、デストラクターを定義する クラスのインスタンスも削除できます。
Destructor 修飾子は情報だけを対象としており、オブジェクト マネージャーによる作用を受けることは想定されていません。 インスタンスが削除されるときに Destructor 修飾子を持つメソッドをオブジェクト マネージャーが呼び出す義務はありません。 また、デストラクターが呼び出されるとき、オブジェクト マネージャーは、元のクラスの親クラスに定義されたデストラクター メソッドを呼び出す必要はありません。 既定値は FALSE です。
DisplayName
データ型: string
適用対象: すべて
要素の実際の名前でなく、UI に表示される名前。 既定値は NULL です。
EmbeddedInstance
データ型: string
適用対象: すべて
修飾された文字列型要素には、埋め込みインスタンスが含まれています。 修飾子の値は、修飾要素を所有するクラスと同じ名前空間内の CIM クラスの名前を指定します。 埋め込みインスタンスは、指定されたクラスのインスタンスであり、そのサブクラスのインスタンスを含みます。 既定値は NULL です。
Gauge
データ型: boolean
適用対象: すべて
プロパティは負でない整数 (増減できるが、最大値を超えることはない) を表すかどうかを示します。 既定値は FALSE です。
プロパティの最大値を 2^n - 1 より大きくすることはできません。 N には、この修飾子が適用されるプロパティのデータ型に応じて 8、16、32、または 64 を指定できます。 ゲージの値がその最大値になるのは、モデル化している情報がその最大値以上のときです。 モデル化している情報がその後に最大値を下回ると、ゲージも減少します。 この修飾子が適用されるのは、符号なし整数データ型のプロパティのみです。
In
データ型: boolean
適用対象: パラメーター
パラメーターはメソッドに値を渡すために使用するかどうかを示します。 既定は TRUE です。
In、Out
データ型: boolean
適用対象: パラメーター
パラメーターは入力パラメーターと出力パラメーターの両方であるかどうかを示します。
データ型: boolean
適用対象: プロパティ、参照
プロパティは名前空間ハンドルの一部であるかどうかを示します。 複数のプロパティに Key 修飾子がある場合は、そのようなすべてのプロパティをまとめてキー (複合キー) が形成されます。 キーのプロパティは、一緒にまとまって、各クラス インスタンスの一意の参照を提供する必要があります。 この修飾子がプロパティに配置されている場合は、値 TRUE のみが許可されます。
Lazy
適用対象: プロパティ
プロパティは返されるリソースが多く、プロセッサの時間とメモリが多く必要であることを示します。 WMI では、Lazy 修飾子でマークされたプロパティを返そうとしないようにすることで、クエリのパフォーマンスが向上します。
MappingStrings
データ型: string array
適用対象: クラス、プロパティ、関連付け、状態表示、参照
プロパティ、クラス、関連付け、表示状態、または参照の源に関する詳細情報を見つけることができる場所へのパスを示す、値のセット。 マッピング文字列には、ディレクトリ パス、URL、レジストリ キー、インクルード ファイル、CIM クラスへの参照、または他の形式を指定できます。 既定値は NULL です。
Max
データ型: int
適用対象: 参照
特定の参照が、関連付け内の他の参照値のセットごとに持つことができる、値の最大数。 既定値は NULL です。 たとえば、関連付けが A インスタンスを B インスタンスに関連付け、それぞれの B インスタンスに最大 1 つの A インスタンスがなければならない場合、A への参照は最大 1 つの修飾子を持つ必要があります。
MaxLen
データ型: int
適用対象: プロパティ、メソッド、パラメーター
string データ項目の最大長 (文字数) で、固定長配列のサポートを示します。
固定長配列が生じた場合、MaxLen 修飾子には解析中に見つかった固定長が含まれます。 可変長配列が生じた場合、この修飾子は使用されません。 MaxLen は、配列に格納するべき要素の最大数を示すために使用します。 既定値をオーバーライドするときは、任意の符号なし整数値 (uint32) を指定できます。 NULL の値 (既定値) は、無制限の長さを意味します。
MaxValue
データ型: int
適用対象: プロパティ、メソッド、パラメーター
オブジェクトの最大値。 既定値は NULL です。
Min
データ型: int
適用対象: 参照
参照の最小カーディナリティ (特定の参照が、関連付け内の他の参照値のセットごとに持つことができる、値の最大数)。 既定値は 0 です。
たとえば、関連付けが A インスタンスを B インスタンスに関連付け、それぞれの B インスタンスに 1 つ以上の A インスタンスがなければならない場合、A への参照は最低 1 つの修飾子を持つ必要があります。
MinValue
データ型: int
適用対象: プロパティ、メソッド、パラメーター
オブジェクトの最小値を示します。 既定値は NULL です。
ModelCorrespondence
データ型: string array
適用対象: プロパティ
オブジェクトの プロパティと CIM スキーマ内の他のプロパティとの間の対応を示す値のセット。 既定値は NULL です。
オブジェクトのプロパティが、次の構文を使用して特定されます。
<スキーマ名> "_" <クラスまたは関連付け名> "." <プロパティ名>
Nonlocal
データ型: string
適用対象: 参照
インスタンスの場所。値は <namespacetype>://<namespacehandle> 既定値は NULL です。
使用法: この修飾子は NonlocalType 修飾子と一緒に使用できません。
NonlocalType
データ型: string
適用対象: 参照
インスタンスの場所の種類。 その値は <namespacetype> です。 既定値は NULL です。
使用法: この修飾子は Nonlocal 修飾子と一緒に使用できません。
NullValue
データ型: string
適用対象: プロパティ
関連付けられたプロパティが NULL であることを示す値 (プロパティには、有効な値や意味のある値がありません)。 既定値は NULL です。
NULL 値を定義するために使用される規則と制限は、ValueMap 修飾子に適用されるものと同じです。 この修飾子はオーバーライドできないことに注意してください。 理に合わないのは、サブクラスが返すことができる NULL 値が、親クラスのそれとは異なることです。
Out
データ型: boolean
適用対象: パラメーター
パラメーターがメソッドから値を返すかどうかを示します。 既定値は FALSE です。
Override
データ型: string
適用対象: プロパティ、メソッド、参照
派生クラス内の同じ名前のプロパティ、メソッド、または参照によってオーバーライドされる親クラスまたは下位コンストラクト (プロパティ、メソッド、または参照)。 既定値は NULL です。
形式は次のようになります:
[<"クラス">.]<"下位コンストラクト">
クラス名を省略すると、オーバーライドはクラス階層内の親クラスの下位コンストラクトに適用されます。
使用法: Override 修飾子は、同じメタ モデルのみに基づくコンストラクトを参照できます。 コンストラクト名やシグネチャをオーバーライド操作中に変更することはできません。
OverrideValue
適用対象: クラス
サブクラスのプロパティ値が親クラスの値をオーバーライドするかどうかを示します。 機能的な意味は、親クラスに対してクエリを実行し、WHERE 句にこのプロパティが含まれている場合、親はオーバーライドされた値を持つインスタンスを返さなければならないということです。 その結果、Windows Management は、親クラスに送信されるクエリの WHERE 句を調整して、このプロパティへの参照を除外します。
Propagated
データ型: string
適用対象: プロパティ
伝達されているキーの名前。 既定値は NULL です。
この修飾子を使用するのは、参照に包含クラスをそのターゲットとする弱い修飾子が 1 つだけ存在することを前提としています。 関連付けられたプロパティは、このクラスで弱い関連付けの反対側の修飾子によって指定されたプロパティと同じ値を持っていなければなりません。 形式は次のようになります:
[<"クラス">.]<"下位コンストラクト">
使用法: Propagated 修飾子を使用するときは、Key 修飾子を TRUE の値で指定しなければなりません。
Read
データ型: boolean
適用対象: プロパティ
プロパティは読み取り可能かどうかを示します。 既定は TRUE です。
Required
データ型: boolean
適用対象: プロパティ
プロパティに null 以外の値が必要かどうかを示します。 既定値は FALSE です。
Revision
データ型: string
適用対象: クラス、関連付け、表示、スキーマ
スキーマ オブジェクトのマイナー リビジョン番号。 既定値は NULL です。
使用法: Version 修飾子は、Revision 修飾子を使用しているときメジャー バージョン番号を指定するために存在する必要があります。
Schema
データ型: string
適用対象: プロパティ、メソッド
機能が定義されているスキーマの名前。 既定値は NULL です。
Source
データ型: string
適用対象: クラス、関連付け、表示、参照
インスタンスの場所。 既定値は NULL です。
修飾子の値は <namespacetype>://<namespacehandle> です。
使用法: Source 修飾子は SourceType 修飾子と一緒に使用することができません。
SourceType
データ型: string
適用対象: クラス、関連付け、表示、参照
インスタンスの場所の種類。 この修飾子の値は <namespacetype> です。 既定値は NULL です。
使用法: SourceType 修飾子は Source 修飾子と一緒に使用することはできません。
SupportsCreate
データ型: boolean
適用対象: クラス
クラスはインスタンスの作成をサポートするかどうかを示します。 既定値は FALSE です。
SupportsDelete
データ型: boolean
適用対象: クラス
クラスはインスタンスの削除をサポートするかどうかを示します。 既定値は FALSE です。
SupportsUpdate
データ型: boolean
適用対象: クラス
クラスはインスタンスの変更 (更新) をサポートするかどうかを示します。 既定値は FALSE です。
Terminal
データ型: boolean
適用対象: クラス
クラスにサブクラスを含めることができるかどうかを示します。 既定値は FALSE です。
サブクラスが宣言されている場合、コンパイラにエラーが発生します。
使用法: この修飾子を Abstract 修飾子と共存させることはできません。 Terminal 修飾子と Abstract 修飾子の両方が指定されている場合、コンパイラにエラーが発生します。
Units
データ型: string
適用対象: プロパティ、メソッド、パラメーター
関連付けられたデータ項目を表す単位の型。 既定値は NULL です。
たとえば、サイズ データ項目の Units の値は "bytes" になります。
ValueMap
データ型: string array
適用対象: プロパティ、メソッド、パラメーター
プロパティ、メソッドの戻り値の型、またはメソッド パラメーターに使用できる値のセット。 既定値は NULL です。
使用法: この修飾子は、単独で使用することも、Values 修飾子と組み合わせて使用することもできます。 Values 修飾子との組み合わせで使用すると、ValueMap 配列内の値の場所によって Values 配列内の対応するエントリの場所が提供されます。 ValueMap 修飾子は、文字列と整数値でのみ使用します。 値マップ配列内の整数値を表す構文は、[+|=]digit[*digit] です。 内容、最大桁数、表される値は、関連付けられたプロパティの型によって制限されます。 たとえば、uint8 には符号を付けることができず、4 桁未満にしなければならず、256 未満の値を表さなければなりません。
Values
データ型: string array
適用対象: プロパティ、メソッド、パラメーター
整数値を関連付けられた文字列に変換する値のセット。 既定値は NULL です。
このプロパティは、列挙プロパティにマップされる文字列値の配列も指定します。 この修飾子は、整数プロパティまたは文字列プロパティに適用でき、マッピングは暗黙的または明示的にすることができます。 マッピングが暗黙的な場合、整数または文字列のプロパティ値は Values 配列内の順序位置を表します。 マッピングが明示的な場合、プロパティは整数でなければならず、有効なプロパティ値が ValueMap 修飾子で定義された配列に一覧表示されます。 詳細については、「値マップ」を参照してください。
ValueMap 修飾子が存在しない場合、Values 配列は、関連付けられたプロパティ、メソッドの戻り値の型、またはメソッド パラメーターの値を使用してインデックスが作成されます (ゼロ - 相対)。 ValueMap 修飾子が存在する場合、値インデックスは、値マップ内のプロパティ値の場所によって定義されます。
Version
データ型: string
適用対象: クラス、スキーマ、関連付け、表示
スキーマ オブジェクトのメジャー バージョン番号。 既定値は NULL です。 変更がスキーマに加えられてインターフェイスが変わると、バージョン番号は大きくなります。
Weak
データ型: boolean
適用対象: 参照
参照されるクラスのキーに、関連付け内の他の参加者のキーが含まれるかどうかを示します。 既定値は FALSE です。
この修飾子が使用されるのは、参照されるクラスの ID が、関連付け内の他の参加者の ID に依存するときです。 特定のクラスに対して弱い参照が 1 つを超えることはできません。 関連付け内の他のクラスは、キーを定義する必要があります。 関連付け内の他のクラスのキーは、参照されるクラス内で繰り返され、Propagated 修飾子のタグが付きます。
Write
データ型: boolean
適用対象: プロパティ
アプリケーションまたはスクリプトがプロパティ値を変更できることを示します。 アプリケーションを実行するアカウントは、 クラスのインスタンスを含む名前空間にアクセスできなければなりません。 プロバイダーの実装では、プロバイダー データへのアクセスが制限される場合もあります。 TRUE の値は、WMI とプロバイダーによってアクセスが許可されているコンシューマーがプロパティを読み取りかつ書き込み可能であることを示します。 既定値は FALSE です。
Write 修飾子がないプロパティは、まだ書き込み可能な場合があります。 プロバイダーの実装では、Write 修飾子が存在するかどうかに関係なく、プロバイダー クラス内のプロパティを変更できる場合があります。
WriteAtCreate
データ型: boolean
適用対象: プロパティ
プロパティはインスタンスの作成時に書き込み可能かどうかを示します。 この修飾子は、WriteAtCreate 修飾子と一緒に使用できます。 既定値は FALSE です。
WriteAtUpdate
データ型: boolean
適用対象: プロパティ
プロパティはインスタンスの更新時に書き込み可能かどうかを示します。 この修飾子は、WriteAtCreate 修飾子と一緒に使用できます。 既定値は FALSE です。
例
修飾子の取得の詳細については、TechNet ギャラリーの Get-WmiClassMethodsAndWritableWmiProperties PowerShell コード サンプルを参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows Vista |
サポートされている最小のサーバー |
Windows Server 2008 |