2012-08-10 155 views
2

据为IPropertyStorage::WriteMultiple Method备注部分...如何删除IPropertyStorage自动添加LOCALE属性?

当创建一个新的属性集,特殊的代码页(楼盘序号1)和区域设置ID(物业编号为0x80000000)属性写入属性集自动。

但是,我想为我的PropertySet省略LOCALE ID。我曾尝试

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

但这种失败

0x80030057无效的参数错误

如何省略这种不必要的楼盘序号?我曾尝试在前后做IPropertyStorage::Commit()。但拨打DeleteMultiple()时也会产生同样的错误。

注:我曾尝试过使用和没有规格[0] .lpwstr = 0;但这很愚蠢,因为它与propid是一个“联盟”,所以编写它们都改变了第一个。但是,仅设置propid = PID_LOCALE时仍然失败。

回答

2

尝试在创建后放置Del​​eteMultiple。

+0

是的!谢谢。 – Les 2012-08-10 15:35:40