IWbemClassObject::GetNames メソッド (wbemcli.h)

IWbemClassObject::GetNames メソッドは、オブジェクト内のプロパティの名前を取得します。 さらに、ユーザーが指定した選択基準に応じて、プロパティのすべてまたはサブセットを取得できます。 これらのプロパティには、名前ごとに IWbemClassObject::Get を使用してアクセスできます。 このメソッドは、 システム プロパティを返すこともできます。

構文

HRESULT GetNames(
  [in]  LPCWSTR   wszQualifierName,
  [in]  long      lFlags,
  [in]  VARIANT   *pQualifierVal,
  [out] SAFEARRAY **pNames
);

パラメーター

[in] wszQualifierName

NULL を指定できるパラメーター。 NULL でない場合は、フィルターの一部として動作する修飾子名を指定する有効な LPCWSTR を指す必要があります。 これは読み取り専用として処理されます。 詳細については、「解説」を参照してください。

[in] lFlags

詳細については、「解説」を参照してください。

[in] pQualifierVal

NULL を指定できるパラメーター。 NULL でない場合は、フィルター値に初期化された有効な VARIANT 構造体を指す必要があります。 この VARIANT は、 メソッドによって読み取り専用として処理されます。 したがって、呼び出し元は、必要に応じて、そのバリアント 型 (VariantClear) を呼び出す必要があります。 詳細については、「解説」を参照してください。

[out] pNames

NULL にすることはできませんが、入力時にこのパラメーターは NULL を指す必要があります。 新しい SAFEARRAY 構造体は常に割り当てられ、ポインターはその構造体を指すよう設定されます。 返される配列には 0 個の要素を含めることができますが、 WBEM_S_NO_ERROR が返されるときには常に割り当てられます。 エラーが発生した場合、新しい SAFEARRAY 構造体は返されません。

戻り値

このメソッドは、メソッド呼び出しの状態を示す HRESULT を返します。 次の一覧は、 HRESULT 内に含まれる値の一覧です。 一般的な HRESULT 値については、「 システム エラー コード」を参照してください。

解説

返される名前は、フラグとパラメーターの組み合わせによって制御されます。 たとえば、すべてのプロパティのすべての名前を指定することも、キー プロパティのみを指定することもできます。 プライマリ フィルターは 、lFlags パラメーターで指定されます。その他のパラメーターは、それに応じて異なります。

フラグ値はビット フィールドであり、組み合わせることができます。 次の各グループの 1 つのフラグを、他の各グループのフラグと組み合わせることができます。 グループ内のフラグ値は相互に排他的です。

グループ 1 フラグ 説明
WBEM_FLAG_ALWAYS すべてのプロパティ名を返します。 strQualifierName パラメーターと pQualifierVal パラメーターは使用されません。
WBEM_FLAG_ONLY_IF_TRUE パラメーター strQualifierName で指定された名前の修飾子を持つプロパティのみを返します。 このフラグを使用する場合は、 strQualifierName を指定する必要があります。
WBEM_FLAG_ONLY_IF_FALSE パラメーター strQualifierName で指定された名前の修飾子を持たないプロパティのみを返します。 このフラグを使用する場合は、 strQualifierName を指定する必要があります。
WBEM_FLAG_ONLY_IF_IDENTICAL パラメーター QualifierName で指定された名前の修飾子を持ち、pQualifierVal によって指される VARIANT 構造体で指定された値と同じ値を持つプロパティのみを返します。 このフラグを使用する場合は、 QualifierNamepQualifierVal の両方を指定する必要があります。
 
グループ 2 フラグ 説明
WBEM_FLAG_KEYS_ONLY キーを定義するプロパティまたはプロパティの名前のみを返します。
WBEM_FLAG_REFS_ONLY オブジェクト参照であるプロパティ名だけを返します。
 
グループ 3 フラグ 説明
WBEM_FLAG_LOCAL_ONLY 派生クラスに属するプロパティ名のみを返します。 親クラスまたは親クラスからプロパティを除外します。
WBEM_FLAG_PROPAGATED_ONLY 親クラスまたは親クラスに属するプロパティ名のみを返します。
WBEM_FLAG_SYSTEM_ONLY システム プロパティのみを返します。
WBEM_FLAG_NONSYSTEM_ONLY システム プロパティではないプロパティ名のみを返します。
 

指定したフィルターに一致するプロパティがない場合に、空のリストが返されるエラーではありません。

BSTR 値の SAFEARRAY 構造体の使用の詳細については、「WMI インスタンスの一部を取得する」を参照してください。

要件

   
サポートされている最小のクライアント Windows Vista
サポートされている最小のサーバー Windows Server 2008
対象プラットフォーム Windows
ヘッダー wbemcli.h (Wbemidl.h を含む)
Library WbemUuid.lib
[DLL] CIMWin32.dll;Esscli.dll;Fastprox.dll;FrameDyn.dll;FrameDynOS.dll;Krnlprov.dll;Ncprov.dll;Wbemcore.dll;Wbemess.dll;Wmipiprt.dll

関連項目

IWbemClassObject

IWbemClassObject::BeginEnumeration

IWbemClassObject::Get

WBEM_CONDITION_FLAG_TYPE

WMI システムのプロパティ