Función SafeArrayAllocDescriptor (oleauto.h)

Asigna memoria para un descriptor de matriz seguro.

Sintaxis

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

Parámetros

[in] cDims

Número de dimensiones de la matriz.

[out] ppsaOut

Descriptor de matriz seguro.

Valor devuelto

Esta función puede devolver uno de estos valores.

Código devuelto Descripción
S_OK
Correcto.
E_INVALIDARG
El argumento psa no era válido.
E_UNEXPECTED
No se pudo bloquear la matriz.

Comentarios

Esta función permite la creación de matrices seguras que contienen elementos con tipos de datos distintos de los proporcionados por SafeArrayCreate. Después de crear un descriptor de matriz mediante SafeArrayAllocDescriptor, establezca el tamaño del elemento en el descriptor de matriz, una llamada a SafeArrayAllocData para asignar memoria para los elementos de la matriz.

Ejemplos

En el ejemplo siguiente se crea una matriz segura mediante las funciones SafeArrayAllocDescriptor y 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;
}

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado oleauto.h
Library OleAut32.lib
Archivo DLL OleAut32.dll

Consulte también

SafeArrayAllocData

SafeArrayDestroyData

SafeArrayDestroyDescriptor