Annotation of mstools/ole20/h/moniker.h, revision 1.1.1.1

1.1       root        1: // moniker.h - moniker and related interfaces and APIs
                      2: #if !defined( _MONIKER_H_ )
                      3: #define _MONIKER_H_
                      4: 
                      5: #define MK_E_CONNECTMANUALLY        MK_E_FIRST
                      6: #define MK_E_EXCEEDEDDEADLINE       (MK_E_FIRST + 1)
                      7: #define MK_E_NEEDGENERIC            (MK_E_FIRST + 2)
                      8: #define MK_E_UNAVAILABLE            (MK_E_FIRST + 3)
                      9: #define MK_E_SYNTAX                 (MK_E_FIRST + 4)
                     10: #define MK_E_NOOBJECT               (MK_E_FIRST + 5)
                     11: #define MK_E_INVALIDEXTENSION       (MK_E_FIRST + 6)
                     12: #define MK_E_INTERMEDIATEINTERFACENOTSUPPORTED (MK_E_FIRST + 7)
                     13: #define MK_E_NOTBINDABLE            (MK_E_FIRST + 8)
                     14: #define MK_E_NOTBOUND               (MK_E_FIRST + 9)
                     15:                             // called IBindCtx->RevokeObjectBound for an
                     16:                             // object which was not bound
                     17: #define MK_E_CANTOPENFILE           (MK_E_FIRST + 10)
                     18: #define MK_E_MUSTBOTHERUSER         (MK_E_FIRST + 11)
                     19: #define MK_E_NOINVERSE              (MK_E_FIRST + 12)
                     20: #define MK_E_NOSTORAGE              (MK_E_FIRST + 13)
                     21: #define MK_E_NOPREFIX               (MK_E_FIRST + 14)
                     22: 
                     23: 
                     24: // reserved                     MK_S_FIRST
                     25: // reserved                     (MK_S_FIRST + 1)
                     26: #define MK_S_REDUCED_TO_SELF    (MK_S_FIRST + 2)
                     27: // reserved                     (MK_S_FIRST + 3)
                     28: #define MK_S_ME                 (MK_S_FIRST + 4)
                     29: #define MK_S_HIM                (MK_S_FIRST + 5)
                     30: #define MK_S_US                 (MK_S_FIRST + 6)
                     31: #ifdef OLE2SHIP
                     32: #define MK_S_MONIKERALREADYREGISTERED (MK_S_FIRST + 7)
                     33: #else
                     34: #define MK_S_MONIKERALREADYREGISTERED (MK_S_FIRST + 6)
                     35: #endif
                     36: 
                     37: 
                     38: 
                     39: // bind options; variable sized
                     40: typedef struct FARSTRUCT tagBIND_OPTS
                     41: {
                     42:     DWORD       cbStruct;       //  sizeof(BIND_OPTS)
                     43:     DWORD       grfFlags;
                     44:     DWORD       grfMode;
                     45:     DWORD       dwTickCountDeadline;
                     46: } BIND_OPTS, FAR* LPBIND_OPTS;
                     47: 
                     48: 
                     49: // bind flags; controls binding; stored in bind options above
                     50: typedef enum
                     51: {
                     52:     BIND_MAYBOTHERUSER = 1,
                     53:     BIND_JUSTTESTEXISTENCE = 2
                     54: } BIND_FLAGS;
                     55: 
                     56: 
                     57: // system moniker types; returned from IsSystemMoniker.
                     58: typedef enum tagMKSYS
                     59: {
                     60:     MKSYS_NONE = 0,
                     61:     MKSYS_GENERICCOMPOSITE = 1,
                     62:     MKSYS_FILEMONIKER = 2,
                     63:     MKSYS_ANTIMONIKER = 3,
                     64:     MKSYS_ITEMMONIKER = 4,
                     65:     MKSYS_POINTERMONIKER = 5
                     66: }MKSYS;
                     67: 
                     68: 
                     69: // bit wise enum to control how much reduction takes place.
                     70: typedef enum tagMKREDUCE
                     71: {
                     72:     MKRREDUCE_ONE           =   3<<16,
                     73:     MKRREDUCE_TOUSER        =   2<<16,
                     74:     MKRREDUCE_THROUGHUSER   =   1<<16,
                     75:     MKRREDUCE_ALL           =   0
                     76: } MKRREDUCE;
                     77: 
                     78: 
                     79: #if defined(__cplusplus)
                     80: interface IEnumMoniker;
                     81: interface IRunningObjectTable;
                     82: #else 
                     83: typedef interface IEnumMoniker IEnumMoniker;
                     84: typedef interface IRunningObjectTable IRunningObjectTable;
                     85: #endif
                     86: 
                     87: typedef       IEnumMoniker FAR* LPENUMMONIKER;
                     88: typedef         IRunningObjectTable FAR* LPRUNNINGOBJECTTABLE;
                     89: 
                     90: 
                     91: 
                     92: #undef  INTERFACE
                     93: #define INTERFACE   IBindCtx
                     94: 
                     95: DECLARE_INTERFACE_(IBindCtx, IUnknown)
                     96: {
                     97:     // *** IUnknown methods ***
                     98:     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
                     99:     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
                    100:     STDMETHOD_(ULONG,Release) (THIS) PURE;
                    101: 
                    102:     // *** IBindCtx methods ***
                    103:     STDMETHOD(RegisterObjectBound) (THIS_ LPUNKNOWN punk) PURE;
                    104:     STDMETHOD(RevokeObjectBound) (THIS_ LPUNKNOWN punk) PURE;
                    105:     STDMETHOD(ReleaseBoundObjects) (THIS) PURE;
                    106:     
                    107:     STDMETHOD(SetBindOptions) (THIS_ LPBIND_OPTS pbindopts) PURE;
                    108:     STDMETHOD(GetBindOptions) (THIS_ LPBIND_OPTS pbindopts) PURE;
                    109:     STDMETHOD(GetRunningObjectTable) (THIS_ LPRUNNINGOBJECTTABLE  FAR*
                    110:         pprot) PURE;
                    111:     STDMETHOD(RegisterObjectParam) (THIS_ LPSTR lpszKey, LPUNKNOWN punk) PURE;
                    112:     STDMETHOD(GetObjectParam) (THIS_ LPSTR lpszKey, LPUNKNOWN FAR* ppunk) PURE;
                    113:     STDMETHOD(EnumObjectParam) (THIS_ LPENUMSTRING FAR* ppenum) PURE;
                    114:     STDMETHOD(RevokeObjectParam) (THIS_ LPSTR lpszKey) PURE;
                    115: };
                    116: typedef             IBindCtx FAR* LPBC;
                    117: typedef         IBindCtx FAR* LPBINDCTX;
                    118: 
                    119: 
                    120: 
                    121: #undef  INTERFACE
                    122: #define INTERFACE   IMoniker
                    123: 
                    124: DECLARE_INTERFACE_(IMoniker, IPersistStream)
                    125: {
                    126:     // *** IUnknown methods ***
                    127:     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
                    128:     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
                    129:     STDMETHOD_(ULONG,Release) (THIS) PURE;
                    130: 
                    131:     // *** IPersist methods ***
                    132:     STDMETHOD(GetClassID) (THIS_ LPCLSID lpClassID) PURE;
                    133: 
                    134:     // *** IPersistStream methods ***
                    135:     STDMETHOD(IsDirty) (THIS) PURE;
                    136:     STDMETHOD(Load) (THIS_ LPSTREAM pStm) PURE;
                    137:     STDMETHOD(Save) (THIS_ LPSTREAM pStm,
                    138:                     BOOL fClearDirty) PURE;
                    139:     STDMETHOD(GetSizeMax) (THIS_ ULARGE_INTEGER FAR * pcbSize) PURE;
                    140: 
                    141:     // *** IMoniker methods ***
                    142:     STDMETHOD(BindToObject) (THIS_ LPBC pbc, LPMONIKER pmkToLeft,
                    143:         REFIID riidResult, LPVOID FAR* ppvResult) PURE;
                    144:     STDMETHOD(BindToStorage) (THIS_ LPBC pbc, LPMONIKER pmkToLeft,
                    145:         REFIID riid, LPVOID FAR* ppvObj) PURE;
                    146:     STDMETHOD(Reduce) (THIS_ LPBC pbc, DWORD dwReduceHowFar, LPMONIKER FAR*
                    147:         ppmkToLeft, LPMONIKER FAR * ppmkReduced) PURE;
                    148:     STDMETHOD(ComposeWith) (THIS_ LPMONIKER pmkRight, BOOL fOnlyIfNotGeneric,
                    149:         LPMONIKER FAR* ppmkComposite) PURE;
                    150:     STDMETHOD(Enum) (THIS_ BOOL fForward, LPENUMMONIKER FAR* ppenumMoniker)
                    151:         PURE;
                    152:     STDMETHOD(IsEqual) (THIS_ LPMONIKER pmkOtherMoniker) PURE;
                    153:     STDMETHOD(Hash) (THIS_ LPDWORD pdwHash) PURE;
                    154:     STDMETHOD(IsRunning) (THIS_ LPBC pbc, LPMONIKER pmkToLeft, LPMONIKER
                    155:         pmkNewlyRunning) PURE;
                    156:     STDMETHOD(GetTimeOfLastChange) (THIS_ LPBC pbc, LPMONIKER pmkToLeft,
                    157:         FILETIME FAR* pfiletime) PURE;
                    158:     STDMETHOD(Inverse) (THIS_ LPMONIKER FAR* ppmk) PURE;
                    159:     STDMETHOD(CommonPrefixWith) (THIS_ LPMONIKER pmkOther, LPMONIKER FAR*
                    160:         ppmkPrefix) PURE;
                    161:     STDMETHOD(RelativePathTo) (THIS_ LPMONIKER pmkOther, LPMONIKER FAR*
                    162:         ppmkRelPath) PURE;
                    163:     STDMETHOD(GetDisplayName) (THIS_ LPBC pbc, LPMONIKER pmkToLeft,
                    164:         LPSTR FAR* lplpszDisplayName) PURE;
                    165:     STDMETHOD(ParseDisplayName) (THIS_ LPBC pbc, LPMONIKER pmkToLeft,
                    166:         LPSTR lpszDisplayName, ULONG FAR* pchEaten,
                    167:         LPMONIKER FAR* ppmkOut) PURE;
                    168:     STDMETHOD(IsSystemMoniker) (THIS_ LPDWORD pdwMksys) PURE;
                    169: };
                    170: typedef         IMoniker FAR* LPMONIKER;
                    171: 
                    172: 
                    173: 
                    174: #undef  INTERFACE
                    175: #define INTERFACE   IRunningObjectTable
                    176: 
                    177: DECLARE_INTERFACE_(IRunningObjectTable, IUnknown)
                    178: {
                    179:     // *** IUnknown methods ***
                    180:     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
                    181:     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
                    182:     STDMETHOD_(ULONG,Release) (THIS) PURE;
                    183: 
                    184:     // *** IRunningObjectTable methods ***
                    185:     STDMETHOD(Register) (THIS_ DWORD grfFlags, LPUNKNOWN punkObject, 
                    186:         LPMONIKER pmkObjectName, DWORD FAR * pdwRegister) PURE;
                    187:     STDMETHOD(Revoke) (THIS_ DWORD dwRegister) PURE;
                    188:     STDMETHOD(IsRunning) (THIS_ LPMONIKER pmkObjectName) PURE;
                    189:     STDMETHOD(GetObject) (THIS_ LPMONIKER pmkObjectName,
                    190:         LPUNKNOWN FAR* ppunkObject) PURE;
                    191:     STDMETHOD(NoteChangeTime) (THIS_ DWORD dwRegister, FILETIME FAR * pfiletime) PURE;
                    192:     STDMETHOD(GetTimeOfLastChange) (THIS_ LPMONIKER pmkObjectName, FILETIME FAR * pfiletime) PURE;
                    193:     STDMETHOD(EnumRunning) (THIS_ LPENUMMONIKER FAR * ppenumMoniker ) PURE;
                    194: #ifndef OLE2SHIP
                    195:     STDMETHOD(Advise) (THIS_ IAdviseSink FAR * pAdvSink, DWORD FAR * pdwConnection ) PURE;
                    196:     STDMETHOD(Unadvise) (THIS_ DWORD dwConnection ) PURE;
                    197:     STDMETHOD(EnumAdvise) (THIS_ IEnumSTATDATA FAR * ppenumAdvise) PURE;
                    198: #endif
                    199: };
                    200: typedef         IRunningObjectTable FAR* LPRUNNINGOBJECTTABLE;
                    201: 
                    202: 
                    203: 
                    204: #undef  INTERFACE
                    205: #define INTERFACE   IEnumMoniker
                    206: 
                    207: DECLARE_INTERFACE_(IEnumMoniker, IUnknown)
                    208: {
                    209:     // *** IUnknown methods ***
                    210:     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
                    211:     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
                    212:     STDMETHOD_(ULONG,Release) (THIS) PURE;
                    213: 
                    214:     // *** IEnumOleDataObject methods ***
                    215:     STDMETHOD(Next) (THIS_ ULONG celt, LPMONIKER FAR* rgelt, ULONG FAR* pceltFetched) PURE;
                    216:     STDMETHOD(Skip) (THIS_ ULONG celt) PURE;
                    217:     STDMETHOD(Reset) (THIS) PURE;
                    218:     STDMETHOD(Clone) (THIS_ IEnumMoniker FAR* FAR* ppenm) PURE;
                    219: };
                    220: typedef       IEnumMoniker FAR* LPENUMMONIKER;
                    221: 
                    222: 
                    223: 
                    224: 
                    225: STDAPI  BindMoniker(LPMONIKER pmk, DWORD grfOpt, REFIID iidResult, LPVOID FAR* ppvResult);
                    226: STDAPI  MkParseDisplayName(LPBC pbc, LPSTR szUserName, 
                    227:                 ULONG FAR * pchEaten, LPMONIKER FAR * ppmk);
                    228: STDAPI  MonikerRelativePathTo(LPMONIKER pmkSrc, LPMONIKER pmkDest, LPMONIKER
                    229:                 FAR* ppmkRelPath, BOOL fCalledFromMethod);
                    230: #ifdef OLE2SHIP
                    231: STDAPI  MonikerCommonPrefixWith(LPMONIKER pmkThis, LPMONIKER pmkOther,
                    232:                 LPMONIKER FAR* ppmkCommon);
                    233: #endif
                    234: STDAPI  CreateBindCtx(DWORD reserved, LPBC FAR* ppbc);
                    235: STDAPI  CreateGenericComposite(LPMONIKER pmkFirst, LPMONIKER pmkRest,
                    236:                 LPMONIKER FAR* ppmkComposite);
                    237: STDAPI  GetClassFile (LPCSTR szFilename, CLSID FAR* pclsid);
                    238: 
                    239: STDAPI  CreateFileMoniker(LPSTR lpszPathName, LPMONIKER FAR* ppmk);
                    240: STDAPI  CreateItemMoniker(LPSTR lpszDelim, LPSTR lpszItem,
                    241:                 LPMONIKER FAR* ppmk);
                    242: STDAPI  CreateAntiMoniker(LPMONIKER FAR* ppmk);
                    243: STDAPI  CreatePointerMoniker(LPUNKNOWN punk, LPMONIKER FAR* ppmk);
                    244: 
                    245: STDAPI  GetRunningObjectTable( DWORD reserved, LPRUNNINGOBJECTTABLE FAR* pprot);
                    246: 
                    247: 
                    248: #ifndef OLE2SHIP
                    249: 
                    250: #define MK_E_EXCEEDED_DEADLINE      MK_E_EXCEEDEDDEADLINE
                    251: #define MK_E_NEED_GENERIC           MK_E_NEEDGENERIC
                    252: #define MK_E_INVALID_EXTENSION      MK_E_INVALIDEXTENSION
                    253: #define MK_E_INTERMEDIATE_INTERFACE_NOT_SUPPORTED MK_E_INTERMEDIATEINTERFACENONOT_SUPPORTED
                    254: #define MK_E_NOT_BINDABLE           MK_E_NOTBINDABLE
                    255: #define S_TRUE                      S_OK
                    256: #define MK_S_NOT_RUNNING        MK_S_FIRST
                    257: #define MK_S_NO_STORAGE         (MK_S_FIRST + 1)
                    258: #define MK_S_NOPREFIX           (MK_S_FIRST + 3)
                    259: 
                    260: #endif
                    261: 
                    262: #endif  // _MONIKER_H_

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.