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说明对象是否在运行,GetTimeOfLastChange获取对象最后一次修改时间

IBindCtx* bindCtx=NULL;
CreateBindCtx(0,&bindCtx);
FILETIME ft;
moniker3->GetTimeOfLastChange(bindCtx,NULL,&ft);
hr=moniker3->IsRunning(bindCtx,NULL,NULL);

二.管理复合名字对象

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)

在创建自定义名字对象时菜会用到这种名字对象.暂时不深究

四.三个处理FILETIME的函数

HRESULT CoFileTimeNow(
  FILETIME * lpFileTime
);

BOOL CoDosDateTimeToFileTime(
  WORD nDosDate,
  WORD nDosTime,
  FILETIME * lpFileTime
);

BOOL CoFileTimeToDosDateTime(
  FILETIME * lpFileTime,
  LPWORD lpDosDate,
  LPWORD lpDosTime
);

相关文章:

  • 2021-08-15
  • 2022-12-23
  • 2022-01-01
  • 2021-08-06
  • 2021-10-19
  • 2021-10-30
  • 2021-08-24
猜你喜欢
  • 2021-06-24
  • 2021-12-12
  • 2021-11-30
  • 2022-02-10
  • 2021-11-15
  • 2021-06-02
相关资源
相似解决方案