Winapi IPropertyStory在不提交的情况下执行SetValue
我在下面这个博客中写了同样的代码来更改窗口的Winapi IPropertyStory在不提交的情况下执行SetValue,winapi,ipropertystorage,Winapi,Ipropertystorage,我在下面这个博客中写了同样的代码来更改窗口的System.AppUserModel.ID: 他正在做: hr = pps->SetValue(pkey, var); PropVariantClear(&var); 他没有做pps->Commit(),我很困惑,因为我已经写了代码,我做了SetValue,我做了Commit,但我的更改不会生效 为什么他不做Commit?他弄错了吗?或者他是你不需要提交的特殊情况 感谢问题在于,var被设置为未正确初始化的propvariant。我的
System.AppUserModel.ID
:
他正在做:
hr = pps->SetValue(pkey, var);
PropVariantClear(&var);
他没有做pps->Commit()
,我很困惑,因为我已经写了代码,我做了SetValue
,我做了Commit
,但我的更改不会生效
为什么他不做Commit
?他弄错了吗?或者他是你不需要提交的特殊情况
感谢问题在于,
var
被设置为未正确初始化的propvariant。我的InitFromString函数搞砸了,它会忘记设置var.vt
。我不知道为什么会返回成功的hr。我猜窗口属性存储不是持久的,因此不需要显式提交更改。