Freigeben über


IPropertyBag::Write-Methode (oaidl.h)

Speichern Sie die benannte Eigenschaft in einem vom Aufrufer initialisierten VARIANT.

Syntax

HRESULT Write(
  LPCOLESTR pszPropName,
  VARIANT   *pVar
);

Parameter

pszPropName

Die Adresse einer Zeichenfolge, die den Namen der zu schreibenden Eigenschaft enthält. Dies kann nicht NULL sein.

pVar

Die Adresse des vom Aufrufer initialisierten VARIANT, der den zu speichernden Eigenschaftswert enthält. Der Aufrufer besitzt diesen VARIANT und ist für alle Zuweisungen verantwortlich. Das heißt, der Eigenschaftenbehälter versucht nicht, Daten in variant frei zu geben.

Hinweise

Die Write-Methode weist den Eigenschaftenbehälter an, die Eigenschaft mit dem Namen pszPropName zu speichern, indem sie den Typ und den Wert im aufruferinitialisierten VARIANT in pVar verwendet. In einigen Fällen weist der Aufrufer den Eigenschaftenbehälter auf, ein anderes Objekt zu speichern, z. B. wenn pVar->vt VT_UNKNOWN ist. In solchen Fällen fragt der Eigenschaftenbehälter diesen Objektzeiger nach einer Persistenzschnittstelle ab, z. B. IPersistStream oder IPersistPropertyBag, und dieses Objekt speichert auch seine Daten. In der Regel führt dies dazu, dass der Eigenschaftenbehälter ein Bytearray für dieses Objekt enthält, das als codierter Text gespeichert werden kann, z. B. hexadezimale Zeichenfolge, MIME usw. Wenn der Eigenschaftenbehälter später zum erneuten Initialisieren eines Steuerelements verwendet wird, muss der Client, der den Eigenschaftenbehälter besitzt, das Objekt neu erstellen, wenn der Aufrufer danach fragt und dieses Objekt mit den zuvor gespeicherten Bits initialisiert.

Dies ermöglicht effiziente Persistenzvorgänge für BLOB-Eigenschaften (Binary Large Object), z. B. ein Bild, bei dem der Besitzer des Eigenschaftenbehälters das Bildobjekt (das als Eigenschaft im gespeicherten Steuerelement verwaltet wird) an einem bestimmten Speicherort speichert. Dadurch werden potenzielle zusätzliche Kopiervorgänge vermieden, die möglicherweise mit anderen eigenschaftsbasierten Persistenzmechanismen verbunden sind.

E_NOTIMPL ist kein gültiger Rückgabecode, da jedes Objekt, das diese Schnittstelle implementiert, die gesamte Funktionalität der Schnittstelle unterstützen muss.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10 Build 20348
Unterstützte Mindestversion (Server) Windows 10 Build 20348
Kopfzeile oaidl.h