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.