MOniker接口 class Moniker: public IPer virtual HRESULT BindToObject(IBindContext pbc, IMoniker "pmkToLeft, REFIID riid, void**ppvObj)=0; virtual HRESULT BindToStorage(IBindContext'pbc, IMoniker 'pmkToLeft, REFIID rid, void**ppvObj)=0 virtual HRESULT Reduce (IBind Context"pbc, DWORD dwReduceHow Far MOniker**ppmkToLeft, IMoniker*ppmkReduced)=0; virtual HRESULT Compose With(MOniker pmkRight, BOOL fOnlylfNotGeneric, MOniker* *ppmkComposite virtual HRESULT Enum(BOOL fForward, IEnumMoniker **pp Enum)=0 virtual HRESULT Is Equal(Moniker pmkOtherMoniker)=0 virtual HRESULT Hash(DWORD 'pdw Hash)=0 virtual HRESULT ISRunning(IBindContext * pbc, IMoniker " pmkToLeft, IMoniker ' pmkNewlyRunning)=0 virtual HRESULT Get TimeOfLastChange(BInd Context"pbc, IMoniker 'pmkToLeft, FILETIME pFileTime)=0 virtual HRESULT Inverse(MOniker **ppmk)=0 virtual HRESULT Common Prefix With( MOniker 'pmkOther, IMoniker *"ppmkPrefix) virtual HRESULT RelativePathTo(MOniker ' pmkOther, IMoniker ppmkRelPath)=0; virtual HRESULT Get Display Name(bInd Context pbc, IMoniker pmkToLeft, LPOLESTR'ppszDisplayName)=0 virtual HRESULT Parse DisplayName(IBindContext "pbc, IMoniker *pmkToLeft, LPOLESTR PSZDisplayName, ULONG pchEaten, MOniker **ppmkOut)=0 virtual HRESULT Is SystemMoniker(DWORD 'pdwMksys)=0; }; !" # $%& %'&() & %% !*+,- ." # $%& %'&() & %% !*+,- " # $%&)/ )00( & %%'& %%*+,- #/ 1" % .1& ' 2'34 & %%# *+,- " '( 0 & %% *+,- 5" % 1 *+,- 1")/ )%01*+,- ." # $%& %'& %302 .*+,- 4 '#1 ." # $%& %'&(%( *+,- " %%*+,- # ' $/ 1" % 1 & %% ' $*+,- 1" % 1 & %%1*+,- 4) 23" # $%& %'& %6) 23*+,- ) 23" # $%& %'& 6) 23& 34%1 & %% *+,- 2 ")/ )%02*+,- 7-