SafeArrayAllocDescriptor 函数 (oleauto.h)

为安全数组描述符分配内存。

语法

HRESULT SafeArrayAllocDescriptor(
  [in]  UINT      cDims,
  [out] SAFEARRAY **ppsaOut
);

参数

[in] cDims

数组的维数。

[out] ppsaOut

安全数组描述符。

返回值

此函数可以返回其中一个值。

返回代码 说明
S_OK
成功。
E_INVALIDARG
参数 psa 无效。
E_UNEXPECTED
无法锁定数组。

注解

此函数允许创建包含除 SafeArrayCreate 提供的数据类型以外的元素的安全数组。 使用 SafeArrayAllocDescriptor 创建数组描述符后,在数组描述符中设置元素大小,调用 SafeArrayAllocData 为数组元素分配内存。

示例

以下示例使用 SafeArrayAllocDescriptorSafeArrayAllocData 函数创建安全数组。

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
标头 oleauto.h
Library OleAut32.lib
DLL OleAut32.dll

另请参阅

SafeArrayAllocData

SafeArrayDestroyData

SafeArrayDestroyDescriptor