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