次の方法で共有


InitVariantFromVariantArrayElem 関数 (propvarutil.h)

別の VARIANT 構造体に格納されている値を使用して 、VARIANT 構造体を 初期化します。

構文

PSSTDAPI InitVariantFromVariantArrayElem(
  [in]  REFVARIANT varIn,
  [in]  ULONG      iElem,
  [out] VARIANT    *pvar
);

パラメーター

[in] varIn

型: REFVARIANT

ソース VARIANT 構造体への参照。

[in] iElem

種類: ULONG

ソース VARIANT 構造体要素の 1 つのインデックス。

[out] pvar

型: VARIANT*

この関数が戻るときに、 には初期化された VARIANT 構造体が含まれます。

戻り値

型: HRESULT

この関数が成功すると、 S_OKが返されます。 そうでない場合は、HRESULT エラー コードを返します。

注釈

このヘルパー関数は、次の型の VARIANT 構造体に対して機能します。

  • VT_BSTR
  • VT_BOOL
  • VT_I2
  • VT_I4
  • VT_I8
  • VT_U12
  • VT_U14
  • VT_U18
  • VT_DATE
  • VT_ARRAY |(VT_BSTR、VT_BOOL、VT_I2、VT_I4、VT_I8、VT_U12、VT_U14、VT_U18、VT_DATEのいずれか)
今後、追加の種類がサポートされる可能性があります。

この関数は、ソース VARIANT 構造体から 1 つの値を抽出し、その値を使用して出力 VARIANT 構造体を初期化します。 呼び出し元のアプリケーションでは、必要なくなったときに、pvar によって参照される VARIANT を解放するために VariantClear を使用する必要があります。

ソース VARIANT が配列の場合、 iElem は配列内の要素の数より小さくする必要があります。

ソース VARIANT に 1 つの値がある場合、 iElem は 0 である必要があります。

ソース VARIANT が空の場合、この関数は常にエラー コードを返します。

VariantGetElementCount を使用して、配列または配列内の要素の数を取得できます。

次の例は、より大きなプログラムの一部として含めるために、イテレーション ステートメント で InitVariantFromVariantArrayElem を使用して VARIANT の値にアクセスする方法を示しています。

// VARIANT var;
// Assume var is initialized and valid.
UINT cElem = VariantGetElementCount(var);
HRESULT hr = <mark type="const">S_OK</mark>;

for (UINT iElem = 0; SUCCEEDED(hr) && iElem < cElem; iElem ++)
{
    VARIANT varElem = {0};

    hr = InitVariantFromVariantArrayElem(var, iElem, &varElem);

    if (SUCCEEDED(hr))
    {
        // varElem is now valid.
        VariantClear(&varElem);
    }
}

要件

要件
サポートされている最小のクライアント WINDOWS XP と SP2、Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 SP1 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー propvarutil.h
Library Propsys.lib
[DLL] Propsys.dll (バージョン 6.0 以降)
再頒布可能パッケージ Windows デスクトップ検索 (WDS) 3.0

こちらもご覧ください

InitPropVariantFromPropVariantVectorElem

VariantGetElem