枚舉所有文檔

IOleContainer 
枚舉文檔和正在運行的容器中的所有目標,該接口支持枚舉目標包含和嵌入的所有鏈接,同樣支持名字解析和靜默更新鏈接來源
使用IOleContainer接口可以便於靜默升級鏈接源,而不需要中斷。
IOleContainer::EnumObjects 枚舉當前容器中的所有目標
HRESULT EnumObjects([in]  DWORD grfFlags, [out] IEnumUnknown **ppenum);
grfFlags 指定容器中的哪些目標會被枚舉 可取的值如下
typedef enum tagOLECONTF { 
  OLECONTF_EMBEDDINGS     = 1, 嵌入的目標
  OLECONTF_LINKS          = 2, 鏈接目標
  OLECONTF_OTHERS         = 4, 非鏈接和嵌入的目標
  OLECONTF_ONLYUSER       = 8, 用戶能看到的
  OLECONTF_ONLYIFRUNNING  = 16 當前容器中處於運行狀態的鏈接和嵌入的目標
} OLECONTF;
ppenum 指向IEnumUnknown的指針,返回指向枚舉目標的指針。
IEnumUnknown::Next獲取枚舉隊列中的元素的接口IUnknown
通過IUnknown的接口 QueryInterface 獲取目標的其他接口
操作完成後需要調用 IUnknown::Release來釋放
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章