Compartilhar via


Função SafeArrayAllocDescriptor (oleauto.h)

Aloca memória para um descritor de matriz segura.

Sintaxe

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

Parâmetros

[in] cDims

O número de dimensões da matriz.

[out] ppsaOut

O descritor de matriz segura.

Retornar valor

Essa função pode retornar um desses valores.

Código de retorno Descrição
S_OK
Êxito.
E_INVALIDARG
O argumento psa não era válido.
E_UNEXPECTED
A matriz não pôde ser bloqueada.

Comentários

Essa função permite a criação de matrizes seguras que contêm elementos com tipos de dados diferentes daqueles fornecidos por SafeArrayCreate. Depois de criar um descritor de matriz usando SafeArrayAllocDescriptor, defina o tamanho do elemento no descritor de matriz, uma chamada SafeArrayAllocData para alocar memória para os elementos da matriz.

Exemplos

O exemplo a seguir cria uma matriz segura usando as funções SafeArrayAllocDescriptor e 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 Valor
Plataforma de Destino Windows
Cabeçalho oleauto.h
Biblioteca OleAut32.lib
DLL OleAut32.dll

Confira também

SafeArrayAllocData

SafeArrayDestroyData

SafeArrayDestroyDescriptor