首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何删除IPropertyStorage自动添加的区域设置属性?

如何删除IPropertyStorage自动添加的区域设置属性?
EN

Stack Overflow用户
提问于 2012-08-10 13:47:24
回答 1查看 154关注 0票数 2

根据IPropertyStorage::WriteMultiple方法的备注部分.

创建新属性集时,将自动将特殊代码页(属性ID 1)和区域设置ID (Property ID 0x80000000)属性写入属性集。

但是,我希望我的PropertySet省略区域设置ID。

代码语言:javascript
复制
specs[0].ulKind = PRSPEC_PROPID;
specs[0].propid = PID_LOCALE;
//specs[0].lpwstr = 0;
hr = pPropStorage->DeleteMultiple(1, specs);

但这次失败了

0x80030057无效参数错误

如何省略这个不需要的属性ID?我之前和之后都试过做IPropertyStorage::Commit()。但是在调用DeleteMultiple()时也会产生同样的错误。

注意:我尝试过使用和不使用specs.lpwstr = 0;但是这是愚蠢的,因为它是一个带有propid的“联合”,所以编写它们都改变了第一个。但是,当只设置propid = PID_LOCALE时,它仍然失败。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-10 15:26:53

尝试将DeleteMultiple放在创建之后。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11903031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档