SafeArrayAllocDescriptor-Funktion (oleauto.h)
Ordnet Arbeitsspeicher für einen sicheren Arraydeskriptor zu.
Syntax
HRESULT SafeArrayAllocDescriptor(
[in] UINT cDims,
[out] SAFEARRAY **ppsaOut
);
Parameter
[in] cDims
Die Anzahl der Dimensionen des Arrays.
[out] ppsaOut
Die Beschreibung des sicheren Arrays.
Rückgabewert
Diese Funktion kann einen dieser Werte zurückgeben.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Erfolg. |
|
Das Argument psa war ungültig. |
|
Das Array konnte nicht gesperrt werden. |
Hinweise
Diese Funktion ermöglicht das Erstellen von sicheren Arrays, die Elemente mit anderen Datentypen als den von SafeArrayCreate bereitgestellten enthalten. Legen Sie nach dem Erstellen eines Arraydeskriptors mithilfe von SafeArrayAllocDescriptor die Elementgröße im Arraydeskriptor fest, einen Aufruf von SafeArrayAllocData , um Arbeitsspeicher für die Arrayelemente zuzuweisen.
Beispiele
Im folgenden Beispiel wird ein sicheres Array mithilfe der Funktionen SafeArrayAllocDescriptor und SafeArrayAllocData 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;
}
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | oleauto.h |
Bibliothek | OleAut32.lib |
DLL | OleAut32.dll |