SafeArrayAllocDescriptor
9/8/2008
Essa função aloca memória para um descritor SafeArray, permitindo a criação de safearrays que contêm elementos com tipos dados Other Than aqueles fornecidos por SafeArrayCreate.
Syntax
HRESULT SafeArrayAllocDescriptor(
unsigned int cDims,
SAFEARRAY FAR* FAR* ppsaOut
);
Parameters
- cDims
[no] Número de dimensões da matriz.
- ppsaOut
[out] Ponteiro para uma localidade no qual armazenar a descritor de matriz criado.
Return Value
Retorna os valores HRESULT mostrados a seguinte tabela.
Valor | Descrição |
---|---|
S_OK |
O sucesso. |
E_INVALIDARG |
O psa parâmetro não era um válido SafeArray descritor. |
E_UNEXPECTED |
A matriz não pôde ser bloqueado. |
Remarks
Essa função permite a criação de safearrays que contêm elementos com dados tipos diferentes daqueles fornecidos por SafeArrayCreate.
Depois de criar um descritor de matriz usando SafeArrayAllocDescriptor, defina o tamanho elemento na descritor de matriz e chamar SafeArrayAllocData Para alocar memória para elementos de matriz.
Passagem inválido (e, em algumas circunstâncias NULL) ponteiros para essa função faz com que uma terminação inesperada do aplicativo.
Example
O seguinte exemplo de código cria um SafeArray usando o SafeArrayAllocDescriptor e SafeArrayAllocData funções.
SAFEARRAY FAR* FAR*ppsa;
unsigned int ndim = 2;
HRESULT HRESULT = SafeArrayAllocDescriptor( ndim, ppsa );
if( FAILED( HRESULT ) )
return ERR_OutOfMemory;
(*ppsa)->rgsabound[ 0 ].lLbound = 0;
(*ppsa)->rgsabound[ 0 ].cElements = 5;
(*ppsa)->rgsabound[ 1 ].lLbound = 1;
(*ppsa)->rgsabound[ 1 ].cElements = 4;
HRESULT = SafeArrayAllocData( *ppsa );
if( FAILED( HRESULT ) ) {
SafeArrayDestroyDescriptor( *ppsa )
return ERR_OutOfMemory;
}
Requirements
Header | oleauto.h |
Library | oleaut32.lib |
Windows Embedded CE | Windows CE 2.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |
See Also
Reference
Automation Functions
SafeArrayAllocData
SafeArrayDestroyData
SafeArrayDestroyDescriptor