共用方式為


VariantToDoubleArrayAlloc 函式 (propvarutil.h)

配置 DOUBLE 值的陣列,然後將 VARIANT 結構中的數據擷取到該陣列。

語法

PSSTDAPI VariantToDoubleArrayAlloc(
  [in]  REFVARIANT var,
  [out] DOUBLE     **pprgn,
  [out] ULONG      *pcElem
);

參數

[in] var

類型: REFVARIANT

來源 VARIANT 結構的參考。

[out] pprgn

類型: DOUBLE**

當此函式傳回時,會包含從來源 VARIANT 結構擷取之 DOUBLE 值的陣列指標。

[out] pcElem

類型: ULONG*

當此函式傳回時,會包含從來源 VARIANT 結構擷取之元素計數的指標。

傳回值

類型: HRESULT

如果此函式成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

備註

當呼叫的應用程式預期 VARIANT 會保存 DOUBLE 值的數位時,就會使用此協助程式函式。

如果來源 VARIANT 的類型為 VT_ARRAY |VT_R8,此函式會將 DOUBLE 值的陣列擷取到新配置的陣列。 呼叫的應用程式負責使用 CoTaskMemFree ,在不再需要時釋放 pprgn 所指向的陣列。

範例

下列範例要包含在較大的程式中,示範如何使用 VariantToDoubleArrayAlloc 來存取 VARIANT 中的 DOUBLE 陣組值。

// VARIANT var;
// Assume variable var is initialized and valid.
// The application expects var to contain an array of DOUBLE values.
DOUBLE *prgDoubles;
ULONG cElems;

HRESULT hr = VariantToDoubleArrayAlloc(var, &prgDoubles, &cElems);

if (SUCCEEDED(hr))
{
     // prgDoubles now points to a vector of cElems DOUBLEs.
     CoTaskMemFree(prgDoubles);
}

規格需求

需求
最低支援的用戶端 Windows XP 搭配 SP2、Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 SP1 [僅限傳統型應用程式]
目標平台 Windows
標頭 propvarutil.h
程式庫 Propsys.lib
Dll Propsys.dll (6.0 版或更新版本)
可轉散發套件 Windows 桌面搜尋 (WDS) 3.0

另請參閱

InitVariantFromDoubleArray

PropVariantChangeType

PropVariantToDoubleVectorAlloc

VariantToDoubleArray