PropVariantGetElem 関数 (propvarutil.h)
別の PROPVARIANT 構造体内の指定した要素に基づいて PROPVARIANT 構造体を 初期化します。
構文
HRESULT PropVariantGetElem(
[in] REFPROPVARIANT propvarIn,
[in] ULONG iElem,
[out] PROPVARIANT *ppropvar
);
パラメーター
[in] propvarIn
型: REFPROPVARIANT
ソース PROPVARIANT 構造体への参照。
[in] iElem
種類: ULONG
propvarIn 内の PROPVARIANT 構造体要素のインデックス。
[out] ppropvar
型: PROPVARIANT*
この関数が戻るときに、ソース PROPVARIANT 構造体から指定された値を持つ PROPVARIANT が 格納されます。
戻り値
型: HRESULT
この関数が成功すると、 S_OKが返されます。 そうでない場合は、HRESULT エラー コードを返します。
解説
このヘルパー関数は、次の型の PROPVARIANT 構造体に対して機能します。
- VT_LPWSTR
- VT_BSTR
- VT_BOOL
- VT_I2
- VT_I4
- VT_I8
- VT_U12
- VT_U14
- VT_U18
- VT_FILETIME
- VT_VECTOR |(VT_LPWSTR、VT_BSTR、VT_BOOL、VT_I2、VT_I4、VT_I8、VT_U12、VT_U14、VT_U18、VT_FILETIMEのいずれか)
- VT_ARRAY |(VT_BSTR、VT_BOOL、VT_I2、VT_I4、VT_I8、VT_U12、VT_U14、VT_U18のいずれか)
これはインライン関数であり、そのソース コードは ヘッダーに用意されています。 .dll または .lib ファイルには含まれません。
この関数は、ソース PROPVARIANT 構造体から 1 つの値を抽出し、その値を使用して出力 PROPVARIANT 構造体を初期化します。 呼び出し元のアプリケーションは PropVariantClear を使用して、ppropvar によって参照される PROPVARIANT が不要になったときに解放する必要があります。
ソース PROPVARIANT がベクターまたは配列の場合、 iElem はベクターまたは配列内の要素の数より小さくする必要があります。
ソース PROPVARIANT の値が 1 つだけの場合、 iElem は 0 である必要があります。
ソース PROPVARIANT が空の場合、この関数は常にエラー コードを返します。
例
大きなプログラムの一部として含める次のコード例は、反復ステートメントで PropVariantGetElem を使用して PROPVARIANT の値にアクセスする方法を示しています。
// PROPVARIANT propvar;
// Assume propvar is initialized and valid.
UINT cElem = PropVariantGetElementCount(propvar);
HRESULT hr = <mark type="const">S_OK</mark>;
for (UINT iElem = 0; SUCCEEDED(hr) && iElem < cElem; iElem ++)
{
<xref rid="_stg_propvariant"/>propvarElem = {0};
hr = PropVariantGetElem(propvar, iElem, &propvarElem);
if (SUCCEEDED(hr))
{
// propvarElem is valid now.
PropVariantClear(&propvarElem);
}
}
要件
サポートされている最小のクライアント | WINDOWS XP と SP2、Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 SP1 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | propvarutil.h |
再頒布可能パッケージ | Windows デスクトップ検索 (WDS) 3.0 |