共用方式為


initVariantFromVariantArrayElem 函式 (propvarutil.h)

使用儲存在另一個 VARIANT 結構中的值,初始化 VARIANT 結構。

語法

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

參數

[in] varIn

類型: REFVARIANT

來源 VARIANT 結構的參考。

[in] iElem

類型: ULONG

其中一個來源 VARIANT 結構專案的索引。

[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 結構擷取單一值,並使用該值初始化輸出 VARIANT 結構。 呼叫的應用程式必須使用 VariantClear,在不再需要時釋出 pvar 所參考的 VARIANT

如果來源 VARIANT 是陣列, iElem 必須小於數位中的元素數目。

如果來源 VARIANT 有單一值, 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
程式庫 Propsys.lib
Dll Propsys.dll (6.0 版或更新版本)
可轉散發套件 Windows 桌面搜尋 (WDS) 3.0

另請參閱

InitPropVariantFromPropVariantVectorElem

VariantGetElem