Функция SafeArrayAllocDescriptor (oleauto.h)
Выделяет память для дескриптора безопасного массива.
Синтаксис
HRESULT SafeArrayAllocDescriptor(
[in] UINT cDims,
[out] SAFEARRAY **ppsaOut
);
Параметры
[in] cDims
Число измерений в массиве.
[out] ppsaOut
Дескриптор безопасного массива.
Возвращаемое значение
Эта функция может возвращать одно из этих значений.
Код возврата | Описание |
---|---|
|
Успешно. |
|
Недопустимый аргумент psa . |
|
Не удалось заблокировать массив. |
Комментарии
Эта функция позволяет создавать безопасные массивы, содержащие элементы с типами данных, отличными от тех, которые предоставляются SafeArrayCreate. После создания дескриптора массива с помощью SafeArrayAllocDescriptor задайте размер элемента в дескрипторе массива, вызовите SafeArrayAllocData для выделения памяти для элементов массива.
Примеры
В следующем примере создается безопасный массив с помощью функций SafeArrayAllocDescriptor и SafeArrayAllocData .
SAFEARRAY *psa;
unsigned int ndim = 2;
HRESULT hresult = SafeArrayAllocDescriptor( ndim, &psa );
if( FAILED( hresult ) )
return ERR_OutOfMemory;
(psa)->rgsabound[ 0 ].lLbound = 0;
(psa)->rgsabound[ 0 ].cElements = 5;
(psa)->rgsabound[ 1 ].lLbound = 1;
(psa)->rgsabound[ 1 ].cElements = 4;
hresult = SafeArrayAllocData( psa );
if( FAILED( hresult ) ) {
SafeArrayDestroyDescriptor( psa )
return ERR_OutOfMemory;
}
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | oleauto.h |
Библиотека | OleAut32.lib |
DLL | OleAut32.dll |