com 名字对象(3)使用IMoniker
生活随笔
收集整理的這篇文章主要介紹了
com 名字对象(3)使用IMoniker
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
?
一.名字對象比較
Hash和IsEqual方法
IMoniker* moniker2=NULL; CreateFileMoniker(OLESTR("F:\\test.xlsx"),&moniker2); DWORD dw; moniker2->Hash(&dw); IMoniker* moniker3=NULL; CreateFileMoniker(OLESTR("F:\\test2.xlsx"),&moniker3); DWORD dw2; moniker3->Hash(&dw2); HRESULT hr= moniker2->IsEqual(moniker3);IsRunning說明對象是否在運(yùn)行,GetTimeOfLastChange獲取對象最后一次修改時間
IBindCtx* bindCtx=NULL; CreateBindCtx(0,&bindCtx); FILETIME ft; moniker3->GetTimeOfLastChange(bindCtx,NULL,&ft); hr=moniker3->IsRunning(bindCtx,NULL,NULL);二.管理復(fù)合名字對象
1.Inverse返回名字對象的逆名字對象
IMoniker* moniker2=NULL; CreateFileMoniker(OLESTR("F:\\test.xlsx"),&moniker2); IMoniker* moniker3=NULL; CreateItemMoniker(OLESTR("!"),OLESTR("Sheet1"),&moniker3); IMoniker* moniker4=NULL; CreateGenericComposite(moniker2,moniker3,&moniker4); LPOLESTR str; IBindCtx* bindCtx=NULL; CreateBindCtx(0,&bindCtx); moniker4->GetDisplayName(bindCtx,NULL,&str); IMoniker* moniker5=NULL; moniker4->Inverse(&moniker5); LPOLESTR str2; moniker5->GetDisplayName(bindCtx,NULL,&str2);原文件名字對象:F:\test.xlsx!Sheet1
逆名字對象:\..\..
2.IsSystemMoniker返回名字對象的類型
DWORD monikerType; IMoniker* moniker2=NULL; CreateFileMoniker(OLESTR("F:\\test.xlsx"),&moniker2); moniker2->IsSystemMoniker(&monikerType);?
typedef enum tagMKSYS{ MKSYS_NONE = 0,MKSYS_GENERICCOMPOSITE = 1,MKSYS_FILEMONIKER = 2,MKSYS_ANTIMONIKER = 3,MKSYS_ITEMMONIKER = 4,MKSYS_POINTERMONIKER = 5,MKSYS_CLASSMONIKER = 7,MKSYS_OBJREFMONIKER = 8,MKSYS_SESSIONMONIKER = 9,MKSYS_LUAMONIKER = 10} MKSYS;三.反-名字對象(CreateAntiMoniker)
在創(chuàng)建自定義名字對象時菜會用到這種名字對象.暫時不深究
四.三個處理FILETIME的函數(shù)
HRESULT CoFileTimeNow(
? FILETIME * lpFileTime
);
BOOL CoDosDateTimeToFileTime(
? WORD nDosDate,
? WORD nDosTime,
? FILETIME * lpFileTime
);
BOOL CoFileTimeToDosDateTime(
? FILETIME * lpFileTime,
? LPWORD lpDosDate,
? LPWORD lpDosTime
);
轉(zhuǎn)載于:https://www.cnblogs.com/Clingingboy/archive/2011/08/01/2124280.html
總結(jié)
以上是生活随笔為你收集整理的com 名字对象(3)使用IMoniker的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VB2010的时间表示
- 下一篇: 随手一记