2012-08-10 39 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