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
S_OK
Erfolg.
E_INVALIDARG
Das Argument psa war ungültig.
E_UNEXPECTED
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

Weitere Informationen

SafeArrayAllocData

SafeArrayDestroyData

SafeArrayDestroyDescriptor