次の方法で共有


CFrameworkQuery::GetValuesForProp(LPCWSTR,std.vector<_bstr_t>&) メソッド (frquery.h)

[CFrameworkQuery クラスは WMI プロバイダー フレームワークの一部で、現在最終的な状態と見なされています。これらのライブラリに影響を与える、セキュリティ関連以外の問題に対しては、それ以上の開発、機能強化、または更新プログラムは利用できません。 すべての新しい開発には、MI API を使用する必要があります。]

GetValuesForProp メソッドは、クエリ内に表示される特定のプロパティによって生成されるすべての値を返します。

たとえば、GetValuesForProp(L"Name", sa) の呼び出しは、クエリに答えるためにインスタンスを送り返す必要があるすべての "Name" の値を含んだ、配列 sa を返します。 sa に {"a","b"} が含まれている場合、クエリに完全に答えるためには、"Name=a" のすべてのインスタンスに加えて、 "Name=b" のすべてのインスタンスも送り返される必要があります。

"Name" の制約が十分に限定的でない場合は、空の sa 配列が返されます。

構文

HRESULT GetValuesForProp(
  LPCWSTR               wszPropName,
  std::vector<_bstr_t>& vectorNames
);

パラメーター

wszPropName

ターゲット プロパティの名前。

vectorNames

wszPropName で指定されたプロパティの値の配列。

戻り値

このメソッドは、成功 した場合はWBEM_S_NO_ERROR を返し、失敗 した場合はWBEM_E_FAILEDまたはその他の HRESULT エラー コードを返します。

注釈

プロパティ名を指定すると、このメソッドは CHStringArray またはベクター コンテナー内のすべての結果値を返します。 ベクター コンテナーには、結果値を含む オブジェクト_bstr_t 保持されます。

たとえば、次の一覧は、wszPropName が "Drive" に設定された状態で呼び出されたときに、さまざまなクエリに対して GetValuesForProp によって返される値の一覧です。

クエリ 戻り値 結果
SELECT * FROM Win32_Directory

WHERE Drive = "C:"

WBEM_S_NO_ERROR C:
SELECT * FROM Win32_Directory

WHERE Drive = "C:" OR FileSize = 256

WBEM_S_NO_ERROR 結果はありません。 aszNames が空です。
SELECT * FROM Win32_Directory

WHERE Drive = "C:" OR Drive = "D:"

WBEM_S_NO_ERROR C:、D:
SELECT * FROM Win32_Directory

WHERE ドライブ <> "C:"

WBEM_S_NO_ERROR 結果はありません。 aszNames が空です。
SELECT * FROM Win32_Directory

WHERE Path = "\DOS"

WBEM_S_NO_ERROR 結果はありません。 aszNames が空です。
 

GetValuesForProp メソッドは文字列型のみをサポートします。

次のクエリの後に GetValuesForProp("PropInt", values) を呼び出すと、 WBEM_E_INVALID_QUERY が返され、 GetValuesForProp("PropStr", values) は S_OKを返します。

SELECT * FROM Test WHERE PropInt = 32 AND PropStr = "a"

要件

   
サポートされている最小のクライアント Windows Vista
サポートされている最小のサーバー Windows Server 2008
対象プラットフォーム Windows
ヘッダー frquery.h (FwCommon.h を含む)
Library FrameDyn.lib
[DLL] FrameDynOS.dll;FrameDyn.dll

こちらもご覧ください

CFrameworkQuery

Provider::ExecQuery