gpt4 book ai didi

c++ - 如何删除 IPropertyStorage 自动添加的 LOCALE 属性?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:54:32 25 4
gpt4 key购买 nike

根据 IPropertyStorage::WriteMultiple Method 的备注部分...

When a new property set is created, the special codepage (Property ID 1) and Locale ID (Property ID 0x80000000) properties are written to the property set automatically.

但是,我希望我的 PropertySet 省略 LOCALE ID。我试过了

specs[0].ulKind = PRSPEC_PROPID;
specs[0].propid = PID_LOCALE;
//specs[0].lpwstr = 0;
hr = pPropStorage->DeleteMultiple(1, specs);

但这失败了

0x80030057 Invalid parameter error

如何省略这个不需要的属性 ID?我曾尝试在前后执行 IPropertyStorage::Commit()。但是在调用 DeleteMultiple() 时会产生同样的错误。

注意:我尝试过使用和不使用 specs[0].lpwstr = 0;但那是愚蠢的,因为它是一个带有 propid 的“union ”,所以把它们都写下来会改变第一个。但仅设置 propid = PID_LOCALE 时仍然失败。

最佳答案

尝试将 DeleteMultiple 放在 Create 之后。

关于c++ - 如何删除 IPropertyStorage 自动添加的 LOCALE 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11903031/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com