SafeArrayAllocDescriptor

Dieser Dokumentation für die Vorschau nur ist und in späteren Versionen geändert. Leere Themen wurden als Platzhalter eingefügt.]

Reserviert Speicher für ein sicheres Arraydeskriptor.

HRESULT SafeArrayAllocDescriptor(  
  unsigned int  cDims,          
  SAFEARRAY **  ppsaOut  
);

Parameter

  • cDims
    Die Anzahl der Dimensionen des Arrays.

  • ppsaOut
    Ein Zeiger auf einen Speicherort in der erstellten Arraydeskriptor gespeichert.

Rückgabewert

Der Rückgabewert vom zurückgegebenen HRESULT ist eine der folgenden.

Rückgabewert

Bedeutung

S_OK

Erfolg.

E_INVALIDARG

Das Argument ppsaOut konnte kein gültiger Zeiger auf ein sicheres Arraydeskriptor.

E_UNEXPECTED

Das Array konnte nicht gesperrt werden.

Kommentare

Diese Funktion ermöglicht die Erstellung von sicheren Arrays, die mit Datentypen außer denen SafeArrayCreate bereitgestellten Elemente enthalten. Nachdem ein Arraydeskriptor mit SafeArrayAllocDescriptor, legen Sie die Elementgröße in den Arraydeskriptor ein Aufruf SafeArrayAllocData für die Arrayelemente keinen Speicher reservieren.

Beispiel

Im folgenden Beispiel wird ein sicheres Array mithilfe der SafeArrayAllocDescriptor und SafeArrayAllocData Funktionen erstellt.

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;
}

Siehe auch

Referenz

SafeArrayAllocData

SafeArrayDestroyData

SafeArrayDestroyDescriptor