SafeArrayPutElement
Dieser Dokumentation für die Vorschau nur ist und in späteren Versionen geändert. Leere Themen wurden als Platzhalter eingefügt.]
Speichert das Datenelement an einer angegebenen Position im Array.
HRESULT SafeArrayPutElement(
SAFEARRAY * psa,
long * rgIndices,
void * pv
);
Parameter
psa
Zeiger auf ein Arraydeskriptor SafeArrayCreate erstellt.rgIndices
Zeiger auf ein Vektor von Indizes für jede Dimension des Arrays. Die Dimension ganz rechts (niederwertigste) ist rgIndices [0]. Die Dimension ganz links unter rgIndicesgespeichert istpsa->cDims – 1].pv
Zeiger auf die Daten im Array zuweisen. Die variant Typen VT_DISPATCH und VT_UNKNOWN, VT_BSTR Zeiger sind und keine anderen Dereferenzierungsebene erfordern.
Rückgabewert
Der Rückgabewert vom zurückgegebenen HRESULT ist eine der folgenden.
Wert |
Bedeutung |
---|---|
S_OK |
Erfolg. |
DISP_E_BADINDEX |
Der angegebene Index ist ungültig. |
E_INVALIDARG |
Eines der Argumente ist ungültig. |
E_OUTOFMEMORY |
Arbeitsspeicher konnte nicht für das Element zugewiesen werden. |
Kommentare
Diese Funktion ruft automatisch SafeArrayLock und SafeArrayUnlock vor und nach das Element zuweisen. Wenn das Datenelement eine Zeichenfolge, Objekt oder Variant ist, kopiert die Funktion es richtig Wenn des sicheren Arrays gelöscht wird. Wenn das vorhandene Element eine Zeichenfolge, Objekt oder Variant ist, wird es korrekt gelöscht. Wenn das Datenelement ein VT_DISPATCH oder VT_UNKNOWN ist, wird AddRef aufgerufen, um das Objekt Verweiszähler erhöht.
Hinweis
Mehrere Sperren können an ein Array sein.Elemente können in ein Array eingefügt werden, während des Arrays durch andere Vorgänge gesperrt ist.
Ein Beispiel das aufrufende SafeArrayPutElement, finden Sie im COM-Grundlagen Zeilen-Beispiel (CLines::Add in Lines.cpp) mit im Platform SDK geliefert.