Condividi tramite


Funzione SafeArrayAllocDescriptor (oleauto.h)

Alloca memoria per un descrittore di matrice sicuro.

Sintassi

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

Parametri

[in] cDims

Numero di dimensioni della matrice.

[out] ppsaOut

Descrittore di matrice sicuro.

Valore restituito

Questa funzione può restituire uno di questi valori.

Codice restituito Descrizione
S_OK
Operazione completata.
E_INVALIDARG
L'argomento psa non è valido.
E_UNEXPECTED
Impossibile bloccare la matrice.

Commenti

Questa funzione consente la creazione di matrici sicure che contengono elementi con tipi di dati diversi da quelli forniti da SafeArrayCreate. Dopo aver creato un descrittore di matrice usando SafeArrayAllocDescriptor, impostare le dimensioni dell'elemento nel descrittore della matrice, una chiamata SafeArrayAllocData per allocare memoria per gli elementi della matrice.

Esempio

Nell'esempio seguente viene creata una matrice sicura usando le funzioni 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;
}

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione oleauto.h
Libreria OleAut32.lib
DLL OleAut32.dll

Vedi anche

SafeArrayAllocData

SafeArrayDestroyData

SafeArrayDestroyDescriptor