IPropertyStore::SetValue 方法 (propsys.h)
這個方法會設定屬性值,或取代或移除現有的值。
語法
HRESULT SetValue(
REFPROPERTYKEY key,
REFPROPVARIANT propvar
);
參數
key
TBD
propvar
TBD
傳回值
方法 IPropertyStore::SetValue
可以傳回下列任一項:
傳回碼 | 描述 |
---|---|
|
屬性變更成功。 |
|
已設定值,但已截斷。 |
|
這是錯誤碼。 屬性存放區是唯讀的,因此方法無法設定值。 |
備註
IPropertyStore::SetValue
只會影響目前的屬性存放區實例。 屬性處理程式會 IPropertyStore::SetValue
藉由累積記憶體內部數據結構中的屬性變更來實作。 只有在呼叫 IPropertyStore::Commit 時,屬性變更才會寫入數據流。
如果在只讀屬性存放區上呼叫 IPropertyStore::Commit ,則屬性處理程式會決定此專案,並傳回STG_E_ACCESSDENIED。
如果值已新增或移除,SetValue
則 IPropertyStore::GetCount 和 IPropertyStore::GetAt 的後續列舉會反映該變更和後續呼叫以IPropertyStore::SetValue
反映變更的值。
新增屬性
如果索引鍵所指向的屬性值不存在於存放區中, IPropertyStore::SetValue
請將值新增至存放區。
取代現有的屬性值
如果索引鍵所指向的屬性值已存在於存放區中,則會取代預存的值。
拿掉現有屬性
若要從屬性存放區中移除值,請將 pv 指向之 結構的 vt 成員設定為VT_EMPTY。 如果該值不存在,則不執行任何動作,而且方法會傳回S_OK。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 適用於 Windows Vista 和更新版本的 Windows 作業系統。 |
目標平台 | Universal |
標頭 | propsys.h |
程式庫 | Propsys.idl |
IRQL | 所有層級 |