home *** CD-ROM | disk | FTP | other *** search
/ Network Support Encyclopedia 96-1 / novell-nsepro-1996-1-cd2.iso / download / gw / oddev.exe / ODMACOM.H < prev    next >
C/C++ Source or Header  |  1994-07-19  |  3KB  |  108 lines

  1. /* odmacom.h - Component Object Model related definitions, macros, etc. for
  2.    ODMA version 1.0. */
  3.  
  4. #if !defined(ODMACOM_H)
  5. #define ODMACOM_H
  6.  
  7. #if !defined(ODMA_H)
  8. #include "odma.h"
  9. #endif
  10.  
  11. // Load OLE-2 Component Object Header (if necessary)
  12. #if !defined(_COMPOBJ_H_)
  13. #include <memory.h>             // Required by COMPOBJ.H
  14. #include <compobj.h>
  15. #endif
  16. #if !defined( _OLE2_H_ )
  17. #include <ole2.h>
  18. #include <moniker.h>
  19. #endif
  20.  
  21. // Define the IODMDocMan interface
  22. DEFINE_OLEGUID( IID_IODMDocMan, 0x22FF0, 0, 0 );
  23.  
  24. #undef  INTERFACE
  25. #define INTERFACE   IODMDocMan
  26.  
  27. DECLARE_INTERFACE_(IODMDocMan, IUnknown)
  28. {
  29.  // *** IUnknown methods ***
  30.     STDMETHOD(        QueryInterface) (THIS_ REFIID riid, LPVOID FAR *ppvObj)  PURE;
  31.     STDMETHOD_(ULONG, AddRef)         (THIS) PURE;
  32.     STDMETHOD_(ULONG, Release)        (THIS) PURE;
  33.  
  34.  // *** IODMAManager methods ***
  35.     STDMETHOD_(ODMSTATUS, SelectDoc) (THIS_
  36.                        LPSTR lpszDocId,
  37.                        LPDWORD pdwFlags ) PURE;
  38.     STDMETHOD_(ODMSTATUS, OpenDoc) (THIS_
  39.                      DWORD flags,
  40.                      LPSTR lpszDocId,
  41.                      LPSTR lpszDocLocation ) PURE;
  42.     STDMETHOD_(ODMSTATUS, SaveDoc) (THIS_
  43.                      LPSTR lpszDocId,
  44.                      LPSTR lpszNewDocId ) PURE;
  45.     STDMETHOD_(ODMSTATUS, CloseDoc) (THIS_
  46.                       LPSTR lpszDocId,
  47.                       DWORD activeTime,
  48.                       DWORD pagesPrinted,
  49.                       LPVOID sessionData,
  50.                       WORD dataLen ) PURE;
  51.     STDMETHOD_(ODMSTATUS, NewDoc) (THIS_
  52.                     LPSTR lpszDocId,
  53.                     DWORD dwFlags,
  54.                     LPSTR lpszFormat,
  55.                     LPSTR lpszDocLocation  ) PURE;
  56.     STDMETHOD_(ODMSTATUS, SaveAs) (THIS_
  57.                     LPSTR lpszDocId,
  58.                     LPSTR lpszNewDocId,
  59.                     LPSTR lpszFormat,
  60.                     ODMSAVEASCALLBACK pcbCallBack,
  61.                     LPVOID pInstanceData ) PURE;
  62.     STDMETHOD_(ODMSTATUS, Activate) (THIS_
  63.                     WORD action,
  64.                     LPSTR lpszDocId ) PURE;
  65.     STDMETHOD_(ODMSTATUS, GetDocInfo) (THIS_
  66.                     LPSTR lpszDocId,
  67.                     WORD item,
  68.                     LPSTR lpszData,
  69.                     WORD dataLen ) PURE;
  70.     STDMETHOD_(ODMSTATUS, SetDocInfo) (THIS_
  71.                     LPSTR lpszDocId,
  72.                     WORD item,
  73.                     LPSTR lpszData ) PURE;
  74.     STDMETHOD_(ODMSTATUS, GetDMSInfo) (THIS_
  75.                     LPSTR lpszDmsId,
  76.                     LPWORD pwVerNo,
  77.                     LPDWORD pdwExtensions ) PURE;
  78.     STDMETHOD_(ODMSTATUS, GetLeadMoniker) (THIS_
  79.                     LPSTR lpszDocId,
  80.                     LPMONIKER FAR *ppMoniker ) PURE;
  81.  
  82. };
  83.  
  84. typedef IODMDocMan FAR * LPODMDOCMAN;
  85.  
  86. #ifdef __cplusplus
  87. extern "C" {
  88. #endif
  89.  
  90. // ODMA prototypes
  91. HRESULT FAR PASCAL ODMQueryInterface( ODMHANDLE odmHandle, LPSTR lpszDocId,
  92.     REFIID riid, LPVOID FAR *ppvObj );
  93. ODMSTATUS FAR PASCAL ODMGetLeadMoniker( ODMHANDLE odmHandle, LPSTR lpszDocId,
  94.     LPMONIKER FAR *ppMoniker );
  95.  
  96. // Prototype for ODMA provider entry point function
  97. HRESULT FAR PASCAL _export ODMGetODMInterface( REFIID riid, LPVOID FAR *ppvObj,
  98.     LPUNKNOWN pUnkOuter, LPVOID pReserved, LPSTR lpszAppId, DWORD dwEnvData );
  99.  
  100. #ifdef __cplusplus
  101. }
  102. #endif
  103.  
  104. #endif
  105.  
  106.  
  107.  
  108.