枚舉所有文檔
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來釋放
枚舉文檔和正在運行的容器中的所有目標,該接口支持枚舉目標包含和嵌入的所有鏈接,同樣支持名字解析和靜默更新鏈接來源
使用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來釋放
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.