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 操作系统。 |
目标平台 | 通用 |
标头 | propsys.h |
Library | Propsys.idl |
IRQL | 所有级别 |