Partager via


Fonction SafeArrayAllocDescriptor (oleauto.h)

Alloue de la mémoire pour un descripteur de tableau sécurisé.

Syntaxe

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

Paramètres

[in] cDims

Nombre de dimensions du tableau.

[out] ppsaOut

Descripteur de tableau sécurisé.

Valeur retournée

Cette fonction peut retourner l’une de ces valeurs.

Code de retour Description
S_OK
Réussite.
E_INVALIDARG
L’argument psa n’était pas valide.
E_UNEXPECTED
Impossible de verrouiller le tableau.

Remarques

Cette fonction permet de créer des tableaux sécurisés qui contiennent des éléments avec des types de données autres que ceux fournis par SafeArrayCreate. Après avoir créé un descripteur de tableau à l’aide de SafeArrayAllocDescriptor, définissez la taille de l’élément dans le descripteur de tableau, appelez SafeArrayAllocData pour allouer de la mémoire pour les éléments du tableau.

Exemples

L’exemple suivant crée un tableau sécurisé à l’aide des fonctions SafeArrayAllocDescriptor et 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;
}

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête oleauto.h
Bibliothèque OleAut32.lib
DLL OleAut32.dll

Voir aussi

SafeArrayAllocData

SafeArrayDestroyData

SafeArrayDestroyDescriptor