共用方式為


IPropertyBag::Write 方法 (oaidl.h)

將具名屬性儲存在呼叫端初始化的 VARIANT 中。

語法

HRESULT Write(
  LPCOLESTR pszPropName,
  VARIANT   *pVar
);

參數

pszPropName

包含要寫入之屬性名稱的字串位址。 這不可以是 NULL。

pVar

呼叫端初始化 VARIANT 的位址,其保存要儲存的屬性值。 呼叫端擁有此 VARIANT,並負責其所有配置。 也就是說,屬性包不會嘗試釋放 VARIANT 中的數據。

備註

Write 方法會指示屬性包使用 pVar 中呼叫端初始化 VARIANT 中的類型和值,以 pszPropName 儲存名為 的屬性。 在某些情況下,呼叫端可能會告訴屬性包儲存另一個物件,例如,當 是VT_UNKNOWN時 pVar->vt 。 在這種情況下,屬性包會查詢此對象指標以取得持續性介面,例如 IPersistStream 或 IPersistPropertyBag,而且該物件也會儲存其數據。 這通常會導致這個對象的屬性包有一些位元組陣列,可以儲存為編碼文字,例如十六進位字串、MIME 等等。 當屬性包稍後用來重新初始化控件時,擁有屬性包的客戶端必須在呼叫端要求它時重新建立物件,以先前儲存的位初始化該物件。

這可讓二進位大型物件 (BLOB) 屬性有效率的持續性作業,例如圖片,其中屬性包的擁有者會告知圖片物件 (該對像是儲存) 控件中的屬性,以儲存至特定位置。 這可避免可能涉及其他屬性型持續性機制的潛在額外複製作業。

E_NOTIMPL不是有效的傳回碼,因為任何實作此介面的對象都必須支援介面的整個功能。

規格需求

需求
最低支援的用戶端 Windows 10 組建 20348
最低支援的伺服器 Windows 10 組建 20348
標頭 oaidl.h