当写程序对serverStyle文件进行编辑的时候 ,必须注意以下几条:
1、只使用IStyleGallery接口是无法修改serverstyle的,必须用IStyleGalleryStorage接口且指定targetFile属性。暂且理解为一种保护措施吧,原文件只读不写,targetFile所指定的临时文件可进行写入操作。
2、指定临时文件后本人AddItem多次仍不成功,经过反复测试,结论为本人所要修改的serverStyle文件太老旧的缘故,与当前使用的ArcGIS10.1平台不符。于是将targetFile替换成一个10.1的serverstyle文件并清空它的点、线、面类,然后就可以从老serverstyle文件里写过来我所需要的符号(Item)了。
3、最后一定要注意读取多个符号时,enumStyleItem使用完一定要及时释放,如果不退出程序就一定要释放才能二次读取,不然又会返回错误……HRESULT E_FAIL。