Поделиться через


Функция VariantToDoubleArrayAlloc (propvarutil.h)

Выделяет массив значений DOUBLE , а затем извлекает данные из структуры VARIANT в этот массив.

Синтаксис

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

Параметры

[in] var

Тип: REFVARIANT

Ссылка на исходную структуру VARIANT .

[out] pprgn

Тип: DOUBLE**

При возврате этой функции содержит указатель на массив значений DOUBLE , извлеченных из исходной структуры VARIANT .

[out] pcElem

Тип: ULONG*

При возврате этой функции содержит указатель на количество элементов, извлеченных из исходной структуры VARIANT .

Возвращаемое значение

Тип: HRESULT

Если эта функция завершается успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Эта вспомогательная функция используется, когда вызывающее приложение ожидает , что VARIANT будет содержать массив значений DOUBLE .

Если исходный variant имеет тип VT_ARRAY | VT_R8 эта функция извлекает массив значений DOUBLE в только что выделенный массив. Вызывающее приложение отвечает за использование CoTaskMemFree для освобождения массива, на который указывает pprgn , когда он больше не нужен.

Примеры

В следующем примере, который будет включен в состав более крупной программы, показано, как использовать VariantToDoubleArrayAlloc для доступа к значению массива DOUBLE в VARIANT.

// 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 с пакетом обновления 2 (SP2), Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2003 с пакетом обновления 1 (SP1) [только классические приложения]
Целевая платформа Windows
Header propvarutil.h
Библиотека Propsys.lib
DLL Propsys.dll (версия 6.0 или более поздняя)
Распространяемые компоненты Windows Desktop Search (WDS) 3.0

См. также раздел

InitVariantFromDoubleArray

PropVariantChangeType

PropVariantToDoubleVectorAlloc

VariantToDoubleArray