Metodo IPropertyBag::Write (oaidl.h)
Salvare la proprietà denominata in un valore VARIANT inizializzato dal chiamante.
Sintassi
HRESULT Write(
LPCOLESTR pszPropName,
VARIANT *pVar
);
Parametri
pszPropName
Indirizzo di una stringa contenente il nome della proprietà da scrivere. Non può essere NULL.
pVar
Indirizzo del chiamante inizializzato VARIANT che contiene il valore della proprietà da salvare. Il chiamante è proprietario di questa variante ed è responsabile di tutte le relative allocazioni. Ovvero, il contenitore delle proprietà non tenta di liberare i dati in VARIANT.
Commenti
Il metodo Write indica al contenitore delle proprietà di salvare la proprietà denominata con pszPropName usando il tipo e il valore nella classe VARIANT inizializzata dal chiamante in pVar. In alcuni casi, il chiamante potrebbe indicare al contenitore delle proprietà di salvare un altro oggetto, ad esempio quando pVar->vt
è VT_UNKNOWN. In questi casi, il contenitore delle proprietà esegue una query su questo puntatore a oggetti per un'interfaccia di persistenza, ad esempio IPersistStream o IPersistPropertyBag e contiene anche tale oggetto salva i dati. In genere, questo comporta la presenza di una matrice di byte per questo oggetto, che può essere salvata come testo codificato, ad esempio stringa esadecimale, MIME e così via. Quando il contenitore delle proprietà viene usato successivamente per reinizializzare un controllo, il client proprietario del contenitore delle proprietà deve ricreare l'oggetto quando il chiamante lo richiede, inizializzando tale oggetto con i bit salvati in precedenza.
Ciò consente operazioni di persistenza efficienti per le proprietà BLOB (Binary Large Object), ad esempio un'immagine, in cui il proprietario del contenitore delle proprietà indica all'oggetto immagine (gestito come proprietà nel controllo salvato) di salvare in una posizione specifica. In questo modo si evitano potenziali operazioni di copia aggiuntive che potrebbero essere coinvolte con altri meccanismi di persistenza basati su proprietà.
E_NOTIMPL non è un codice restituito valido, perché qualsiasi oggetto che implementa questa interfaccia deve supportare l'intera funzionalità dell'interfaccia.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 10 Build 20348 |
Server minimo supportato | Windows 10 Build 20348 |
Intestazione | oaidl.h |