IMoniker Interface

We'll now look in detail at IMoniker interface its supporting functions and structures.


interface IMoniker : IPersistStream { 
    HRESULT    BindToObject(pbc, pmkToLeft, iidResult, ppvResult);
    HRESULT    BindToStorage(pbc, pmkToLeft, iid, ppvObj);
    HRESULT    Reduce(pbc, dwReduceHowFar, ppmkToLeft, ppmkReduced);
    HRESULT    ComposeWith(pmkRight, fOnlyIfNotGeneric, ppmkComposite)
    HRESULT    Enum(fForward, ppenmMoniker);
    HRESULT    IsEqual(pmkOtherMoniker);
    HRESULT    Hash(pdwHash);
    HRESULT    IsRunning(pbc, pmkToLeft, pmkNewlyRunning);
    HRESULT    GetTimeOfLastChange(pbc, pmkToLeft, pfiletime);
    HRESULT    Inverse(ppmk);
    HRESULT    CommonPrefixWith(pmkOther, ppmkPrefix);
    HRESULT    RelativePathTo(pmkOther, ppmkRelPath);
    HRESULT    GetDisplayName(pbc, pmkToLeft, lplpszDisplayName);
    HRESULT    ParseDisplayName(pbc, pmkToLeft, lpszDisplayName, pcchEaten, ppmkOut);
    HRESULT    IsSystemMoniker(pdwMksys);
    };

HRESULT BindMoniker(pmk, reserved, iidResult, ppvResult);
HRESULT CreateBindCtx(reserved, ppbc);

HRESULT MkParseDisplayName(pbc, lpszDisplayName, pcchEaten, ppmk);
interface IParseDisplayName : IUnknown {
    HRESULT    ParseDisplayName(pbc, lpszDisplayName, pcchEaten, ppmkOut);
    };

HRESULT CreateGenericComposite(pmkFirst, pmkRest, ppmkComposite);    
HRESULT CreateFileMoniker(lpszPathName, ppmk);
HRESULT CreateItemMoniker(lpszDelim, lpszItem, ppmk);
HRESULT CreateAntiMoniker(ppmk);
HRESULT CreatePointerMoniker(punk, ppmk);