Annotation of mstools/ole20/samples/outline/svroutl.h, revision 1.1

1.1     ! root        1: /*************************************************************************
        !             2: ** 
        !             3: **    OLE 2.0 Server Sample Code
        !             4: **    
        !             5: **    svroutl.h
        !             6: **    
        !             7: **    This file contains file contains data structure defintions, 
        !             8: **       function prototypes, constants, etc. used by the OLE 2.0 server 
        !             9: **    app version of the Outline series of sample applications:
        !            10: **                     Outline -- base version of the app (without OLE functionality)
        !            11: **                     SvrOutl -- OLE 2.0 Server sample app
        !            12: **                     CntrOutl -- OLE 2.0 Containter sample app
        !            13: ** 
        !            14: **       (c) Copyright Microsoft Corp. 1992 - 1993 All Rights Reserved
        !            15: **
        !            16: *************************************************************************/
        !            17: 
        !            18: #if !defined( _SVROUTL_H_ )
        !            19: #define _SVROUTL_H_
        !            20: 
        !            21: #ifndef RC_INVOKED
        !            22: #pragma message ("INCLUDING SVROUTL.H from " __FILE__)
        !            23: #endif  /* RC_INVOKED */
        !            24: 
        !            25: #include "oleoutl.h"
        !            26: 
        !            27: /* Defines */
        !            28: 
        !            29: // Enable SVROUTL and ISVROTL to emulate each other (TreatAs aka. ActivateAs)
        !            30: #define SVR_TREATAS     1
        !            31: 
        !            32: // Enable SVROUTL and ISVROTL to convert each other (TreatAs aka. ActivateAs)
        !            33: #define SVR_CONVERTTO   1
        !            34: 
        !            35: // Enable ISVROTL to operate as in inside-out style in-place object
        !            36: #define SVR_INSIDEOUT   1
        !            37: 
        !            38: /* Default name used for container of the embedded object. used if
        !            39: **    container forgets to call IOleObject::SetHostNames
        !            40: */
        !            41: // REVIEW: should load from string resource
        !            42: #define DEFCONTAINERNAME       "Unknown Document"
        !            43: 
        !            44: /* Default prefix for auto-generated range names. This is used with 
        !            45: **       links to unnamed ranges (pseudo objects).
        !            46: */
        !            47: // REVIEW: should load from string resource
        !            48: #define DEFRANGENAMEPREFIX     "Range"
        !            49: 
        !            50: // Maximum length of strings passed through IOleObject::SetHostNames
        !            51: #define MAXAPPNAME     32
        !            52: #define MAXCONTAINERNAME       32
        !            53: 
        !            54: // Menu option in embedding mode
        !            55: #define IDM_F_UPDATE   1151
        !            56: 
        !            57: /* Types */
        !            58: 
        !            59: /* Codes for CallBack events */
        !            60: typedef enum tagOLE_NOTIFICATION {
        !            61:     OLE_ONDATACHANGE,        // 0
        !            62:     OLE_ONSAVE,              // 1
        !            63:     OLE_ONRENAME,            // 2
        !            64:     OLE_ONCLOSE              // 3
        !            65: } OLE_NOTIFICATION;
        !            66: 
        !            67: /* Codes to indicate mode of storage for an object.  
        !            68: **    Mode of the storage is modified by the IPersistStorage methods:
        !            69: **             Save, HandsOffStorage, and SaveCompleted.
        !            70: */
        !            71: typedef enum tagSTGMODE {
        !            72:        STGMODE_NORMAL          = 0,
        !            73:        STGMODE_NOSCRIBBLE      = 1,
        !            74:        STGMODE_HANDSOFF        = 2
        !            75: } STGMODE;
        !            76: 
        !            77: 
        !            78: /* Forward type definitions */
        !            79: typedef struct tagSERVERAPP FAR* LPSERVERAPP;
        !            80: typedef struct tagSERVERDOC FAR* LPSERVERDOC;
        !            81: typedef struct tagPSEUDOOBJ FAR* LPPSEUDOOBJ;
        !            82: 
        !            83: typedef struct tagINPLACEDATA {
        !            84:        OLEMENUGROUPWIDTHS              menuGroupWidths;
        !            85:        HOLEMENU                                hOlemenu;
        !            86:        HMENU                                   hMenuShared;
        !            87:        LPOLEINPLACESITE                lpSite;
        !            88:        LPOLEINPLACEUIWINDOW    lpDoc;
        !            89:        LPOLEINPLACEFRAME               lpFrame;
        !            90:        OLEINPLACEFRAMEINFO             frameInfo;
        !            91:     HWND                    hWndFrame;
        !            92:        BOOL                                    fInCSHelpMode;
        !            93:        BOOL                                    fBorderOn;
        !            94:        RECT                                    rcPosRect;
        !            95:        RECT                                    rcClipRect;
        !            96: } INPLACEDATA, FAR* LPINPLACEDATA;
        !            97: 
        !            98: 
        !            99: /*************************************************************************
        !           100: ** class SERVERDOC : OLEDOC
        !           101: **    SERVERDOC is an extention to the abstract base OLEDOC class.
        !           102: **    The OLEDOC class defines the fields, methods and interfaces that
        !           103: **    are common to both server and client implementations. The
        !           104: **    SERVERDOC class adds the fields, methods and interfaces that are
        !           105: **    specific to OLE 2.0 Server functionality. There is one instance
        !           106: **    of SERVERDOC object created per document open in the app. The SDI 
        !           107: **    version of the app supports one SERVERDOC at a time. The MDI
        !           108: **    version of the app can manage multiple documents at one time.
        !           109: **    The SERVERDOC class inherits all fields from the OLEDOC class.
        !           110: **    This inheritance is achieved by including a member variable of
        !           111: **    type OLEDOC as the first field in the SERVERDOC structure. Thus a
        !           112: **    pointer to a SERVERDOC object can be cast to be a pointer to a
        !           113: **    OLEDOC object or an OUTLINEDOC object
        !           114: *************************************************************************/
        !           115: 
        !           116: typedef struct tagSERVERDOC {
        !           117:        OLEDOC                          m_OleDoc;                       // ServerDoc inherits from OleDoc
        !           118:     ULONG                              m_cPseudoObj;           // total count of pseudo obj's
        !           119:     LPOLECLIENTSITE     m_lpOleClientSite;     // Client associated with the obj
        !           120:        LPOLEADVISEHOLDER       m_lpOleAdviseHldr;      // helper obj to hold ole advises
        !           121:        LPDATAADVISEHOLDER      m_lpDataAdviseHldr;     // helper obj to hold data advises
        !           122:        DWORD                           m_dwStorageMode;        // indicates state during save
        !           123:     BOOL                m_fSaveWithSameAsLoad;  // was IPS::Save called with
        !           124:                                             // fSameAsLoad==TRUE. 
        !           125:        char                            m_szContainerApp[MAXAPPNAME];
        !           126:        char                            m_szContainerObj[MAXCONTAINERNAME];
        !           127:        ULONG                           m_nNextRangeNo;         // next no. for unnamed range
        !           128:        LINERANGE                       m_lrSrcSelOfCopy;       // src sel if doc created for copy
        !           129:        BOOL                            m_fDataChanged;         // data changed when draw disabled
        !           130:        BOOL                            m_fSizeChanged;         // size changed when draw disabled
        !           131:     BOOL                m_fSendDataOnStop;  // did data ever change?
        !           132: #if defined( SVR_TREATAS )
        !           133:        CLSID                           m_clsidTreatAs;         // clsid to pretend to be
        !           134:        LPSTR                       m_lpszTreatAsType;  // user type name to pretend to be
        !           135: #endif // SVR_TREATAS
        !           136: 
        !           137: #if defined( LATER )
        !           138:        // REVIEW: is it necessary to register a WildCard Moniker
        !           139:        DWORD                           m_dwWildCardRegROT;     // key if wildcard reg'ed in ROT
        !           140: #endif 
        !           141:        
        !           142: #if defined( INPLACE_SVR )
        !           143:        BOOL                            m_fInPlaceActive;
        !           144:        BOOL                            m_fInPlaceVisible;
        !           145:        BOOL                            m_fUIActive;
        !           146:        HWND                            m_hWndParent;
        !           147:        HWND                            m_hWndHatch;
        !           148:        LPINPLACEDATA           m_lpIPData;
        !           149:        
        !           150:        struct CDocOleInPlaceObjectImpl {
        !           151:                IOleInPlaceObjectVtbl FAR*      lpVtbl;
        !           152:                LPSERVERDOC                                     lpServerDoc;
        !           153:                int                                                     cRef;   // interface specific ref count.
        !           154:        } m_OleInPlaceObject;
        !           155: 
        !           156:        struct CDocOleInPlaceActiveObjectImpl {
        !           157:                IOleInPlaceActiveObjectVtbl FAR* lpVtbl;
        !           158:                LPSERVERDOC                                              lpServerDoc;
        !           159:                int                                                              cRef;// interface specific ref count.
        !           160:        } m_OleInPlaceActiveObject;
        !           161: #endif // INPLACE_SVR
        !           162: 
        !           163:        struct CDocOleObjectImpl {
        !           164:                IOleObjectVtbl FAR*                     lpVtbl;
        !           165:                LPSERVERDOC                                     lpServerDoc;
        !           166:                int                                                     cRef;   // interface specific ref count.
        !           167:        } m_OleObject;
        !           168: 
        !           169:        struct CDocPersistStorageImpl {
        !           170:                IPersistStorageVtbl FAR*        lpVtbl;
        !           171:                LPSERVERDOC                                     lpServerDoc;
        !           172:                int                                                     cRef;   // interface specific ref count.
        !           173:        } m_PersistStorage;
        !           174: 
        !           175: #if defined( SVR_TREATAS )
        !           176:        struct CDocStdMarshalInfoImpl {
        !           177:                IStdMarshalInfoVtbl FAR*        lpVtbl;
        !           178:                LPSERVERDOC                                     lpServerDoc;
        !           179:                int                                                     cRef;   // interface specific ref count.
        !           180:        } m_StdMarshalInfo;
        !           181: #endif // SVR_TREATAS
        !           182:        
        !           183: } SERVERDOC;
        !           184: 
        !           185: /* ServerDoc methods (functions) */
        !           186: BOOL ServerDoc_Init(LPSERVERDOC lpServerDoc, BOOL fDataTransferDoc);
        !           187: BOOL ServerDoc_InitNewEmbed(LPSERVERDOC lpServerDoc);
        !           188: void ServerDoc_PseudoObjUnlockDoc(
        !           189:                LPSERVERDOC                     lpServerDoc, 
        !           190:                LPPSEUDOOBJ                     lpPseudoObj
        !           191: );
        !           192: void ServerDoc_PseudoObjLockDoc(LPSERVERDOC lpServerDoc);
        !           193: BOOL ServerDoc_PasteFormatFromData(
        !           194:                LPSERVERDOC                             lpServerDoc, 
        !           195:                CLIPFORMAT                              cfFormat, 
        !           196:                LPDATAOBJECT                    lpSrcDataObj, 
        !           197:                BOOL                                    fLocalDataObj, 
        !           198:                BOOL                                    fLink
        !           199: );
        !           200: BOOL ServerDoc_QueryPasteFromData(
        !           201:                LPSERVERDOC                             lpServerDoc, 
        !           202:                LPDATAOBJECT                    lpSrcDataObj, 
        !           203:                BOOL                                    fLink
        !           204: );
        !           205: HRESULT ServerDoc_GetClassID(LPSERVERDOC lpServerDoc, LPCLSID lpclsid);
        !           206: void ServerDoc_UpdateMenu(LPSERVERDOC lpServerDoc);
        !           207: void ServerDoc_RestoreMenu(LPSERVERDOC lpServerDoc);
        !           208: HRESULT ServerDoc_GetData (
        !           209:                LPSERVERDOC                             lpServerDoc, 
        !           210:                LPFORMATETC                             lpformatetc, 
        !           211:                LPSTGMEDIUM                             lpMedium
        !           212: );
        !           213: HRESULT ServerDoc_GetDataHere (
        !           214:                LPSERVERDOC                             lpServerDoc, 
        !           215:                LPFORMATETC                             lpformatetc, 
        !           216:                LPSTGMEDIUM                             lpMedium
        !           217: );
        !           218: HRESULT ServerDoc_QueryGetData(LPSERVERDOC lpServerDoc,LPFORMATETC lpformatetc);
        !           219: HRESULT ServerDoc_EnumFormatEtc(
        !           220:                LPSERVERDOC                             lpServerDoc, 
        !           221:                DWORD                                   dwDirection, 
        !           222:                LPENUMFORMATETC FAR*    lplpenumFormatEtc
        !           223: );
        !           224: HANDLE ServerDoc_GetMetafilePictData(
        !           225:                LPSERVERDOC                             lpServerDoc,
        !           226:                LPLINERANGE                             lplrSel
        !           227: );
        !           228: void ServerDoc_SendAdvise(
        !           229:         LPSERVERDOC     lpServerDoc, 
        !           230:         WORD            wAdvise, 
        !           231:         LPMONIKER       lpmkDoc,
        !           232:                DWORD                   dwAdvf
        !           233: );
        !           234: HRESULT ServerDoc_GetObject(
        !           235:                LPSERVERDOC                             lpServerDoc, 
        !           236:                LPSTR                                   lpszItem, 
        !           237:                REFIID                                  riid, 
        !           238:                LPVOID FAR*                             lplpvObject
        !           239: );
        !           240: HRESULT ServerDoc_IsRunning(LPSERVERDOC lpServerDoc, LPSTR lpszItem);
        !           241: LPMONIKER ServerDoc_GetSelRelMoniker(
        !           242:                LPSERVERDOC                             lpServerDoc, 
        !           243:                LPLINERANGE                             lplrSel,        
        !           244:                DWORD                                   dwAssign
        !           245: );
        !           246: LPMONIKER ServerDoc_GetSelFullMoniker(
        !           247:                LPSERVERDOC                             lpServerDoc, 
        !           248:                LPLINERANGE                             lplrSel,        
        !           249:                DWORD                                   dwAssign
        !           250: );
        !           251: 
        !           252: 
        !           253: #if defined( INPLACE_SVR )
        !           254: HRESULT ServerDoc_DoInPlaceActivate(
        !           255:                LPSERVERDOC             lpServerDoc,
        !           256:                LONG                    lVerb,
        !           257:                LPMSG                   lpmsg, 
        !           258:                LPOLECLIENTSITE lpActiveSite
        !           259: );
        !           260: HRESULT ServerDoc_DoInPlaceDeactivate(LPSERVERDOC lpServerDoc);
        !           261: HRESULT ServerDoc_DoInPlaceHide(LPSERVERDOC lpServerDoc);
        !           262: BOOL ServerDoc_AllocInPlaceData(LPSERVERDOC lpServerDoc);
        !           263: void ServerDoc_FreeInPlaceData(LPSERVERDOC lpServerDoc);
        !           264: 
        !           265: HRESULT        ServerDoc_AssembleMenus(LPSERVERDOC lpServerDoc);
        !           266: void   ServerDoc_DisassembleMenus(LPSERVERDOC lpServerDoc);
        !           267: void ServerDoc_CalcInPlaceWindowPos(
        !           268:                LPSERVERDOC                     lpServerDoc, 
        !           269:                LPRECT                          lprcListBox, 
        !           270:                LPRECT                          lprcDoc,
        !           271:                LPSCALEFACTOR           lpscale
        !           272: );
        !           273: void ServerDoc_UpdateInPlaceWindowOnExtentChange(LPSERVERDOC lpServerDoc);
        !           274: void ServerDoc_ResizeInPlaceWindow(
        !           275:                LPSERVERDOC                     lpServerDoc, 
        !           276:         LPCRECT             lprcPosRect,
        !           277:         LPCRECT             lprcClipRect
        !           278: );
        !           279: void ServerDoc_ShadeInPlaceBorder(LPSERVERDOC lpServerDoc, BOOL fShadeOn);
        !           280: LPOLEINPLACEFRAME ServerDoc_GetTopInPlaceFrame(LPSERVERDOC lpServerDoc);
        !           281: void ServerDoc_GetSharedMenuHandles(
        !           282:                LPSERVERDOC     lpServerDoc,
        !           283:                HMENU FAR*              lphSharedMenu,
        !           284:                HOLEMENU FAR*   lphOleMenu
        !           285: );
        !           286: void ServerDoc_AddFrameLevelUI(LPSERVERDOC lpServerDoc);
        !           287: void ServerDoc_AddFrameLevelTools(LPSERVERDOC lpServerDoc);
        !           288: void ServerDoc_UIActivate (LPSERVERDOC lpServerDoc);
        !           289: 
        !           290: #if defined( USE_FRAMETOOLS )
        !           291: void ServerDoc_RemoveFrameLevelTools(LPSERVERDOC lpServerDoc);
        !           292: #endif // USE_FRAMETOOLS
        !           293: 
        !           294: #endif // INPLACE_SVR
        !           295: 
        !           296: 
        !           297: /* ServerDoc::IOleObject methods (functions) */
        !           298: STDMETHODIMP SvrDoc_OleObj_QueryInterface(
        !           299:                LPOLEOBJECT                             lpThis,
        !           300:                REFIID                                  riid,
        !           301:                LPVOID FAR*                             lplpvObj
        !           302: );
        !           303: STDMETHODIMP_(ULONG) SvrDoc_OleObj_AddRef(LPOLEOBJECT lpThis);
        !           304: STDMETHODIMP_(ULONG) SvrDoc_OleObj_Release(LPOLEOBJECT lpThis);
        !           305: STDMETHODIMP SvrDoc_OleObj_SetClientSite(
        !           306:                LPOLEOBJECT                             lpThis,
        !           307:                LPOLECLIENTSITE                 lpclientSite
        !           308: );
        !           309: STDMETHODIMP SvrDoc_OleObj_GetClientSite(
        !           310:                LPOLEOBJECT             lpThis,
        !           311:                LPOLECLIENTSITE FAR*    lplpClientSite
        !           312: );
        !           313: STDMETHODIMP SvrDoc_OleObj_SetHostNames(
        !           314:                LPOLEOBJECT             lpThis,
        !           315:                LPCSTR                                  szContainerApp,
        !           316:                LPCSTR                                  szContainerObj
        !           317: );
        !           318: STDMETHODIMP SvrDoc_OleObj_Close(
        !           319:                LPOLEOBJECT                             lpThis,
        !           320:                DWORD                                   dwSaveOption
        !           321: );
        !           322: STDMETHODIMP SvrDoc_OleObj_SetMoniker(
        !           323:                LPOLEOBJECT                             lpThis, 
        !           324:                DWORD                                   dwWhichMoniker, 
        !           325:                LPMONIKER                               lpmk
        !           326: );
        !           327: STDMETHODIMP SvrDoc_OleObj_GetMoniker(
        !           328:                LPOLEOBJECT                             lpThis, 
        !           329:                DWORD                                   dwAssign,
        !           330:                DWORD                                   dwWhichMoniker, 
        !           331:                LPMONIKER FAR*                  lplpmk
        !           332: );
        !           333: STDMETHODIMP SvrDoc_OleObj_InitFromData(
        !           334:                LPOLEOBJECT             lpThis,
        !           335:                LPDATAOBJECT            lpDataObject,
        !           336:                BOOL                    fCreation,
        !           337:                DWORD                                   reserved
        !           338: );
        !           339: STDMETHODIMP SvrDoc_OleObj_GetClipboardData(
        !           340:                LPOLEOBJECT             lpThis,
        !           341:                DWORD                                   reserved,
        !           342:                LPDATAOBJECT FAR*       lplpDataObject
        !           343: );
        !           344: STDMETHODIMP SvrDoc_OleObj_DoVerb(
        !           345:                LPOLEOBJECT             lpThis,
        !           346:                LONG                    lVerb,
        !           347:                LPMSG                   lpmsg,
        !           348:         LPOLECLIENTSITE         lpActiveSite,
        !           349:                LONG                                    lindex,
        !           350:                HWND                                    hwndParent,
        !           351:                LPCRECT                                 lprcPosRect
        !           352: );
        !           353: STDMETHODIMP SvrDoc_OleObj_EnumVerbs(
        !           354:                LPOLEOBJECT                             lpThis,
        !           355:                LPENUMOLEVERB FAR*              lplpenumOleVerb 
        !           356: );
        !           357: STDMETHODIMP SvrDoc_OleObj_Update(LPOLEOBJECT lpThis);
        !           358: STDMETHODIMP SvrDoc_OleObj_IsUpToDate(LPOLEOBJECT lpThis);
        !           359: STDMETHODIMP SvrDoc_OleObj_GetUserClassID(
        !           360:                LPOLEOBJECT                             lpThis, 
        !           361:                LPCLSID                                 lpclsid
        !           362: );
        !           363: STDMETHODIMP SvrDoc_OleObj_GetUserType(
        !           364:                LPOLEOBJECT             lpThis,
        !           365:                DWORD                                   dwFormOfType, 
        !           366:                LPSTR FAR*                              lpszUserType
        !           367: );
        !           368: STDMETHODIMP SvrDoc_OleObj_SetExtent(
        !           369:                LPOLEOBJECT                             lpThis,
        !           370:                DWORD                                   dwDrawAspect,
        !           371:                LPSIZEL                                 lplgrc
        !           372: );
        !           373: STDMETHODIMP SvrDoc_OleObj_GetExtent(
        !           374:                LPOLEOBJECT                             lpThis,
        !           375:                DWORD                                   dwDrawAspect,
        !           376:                LPSIZEL                                 lplgrc
        !           377: );
        !           378: STDMETHODIMP SvrDoc_OleObj_Advise(
        !           379:                LPOLEOBJECT                             lpThis, 
        !           380:                LPADVISESINK                    lpAdvSink, 
        !           381:                LPDWORD                                 lpdwConnection
        !           382: );
        !           383: STDMETHODIMP SvrDoc_OleObj_Unadvise(LPOLEOBJECT lpThis, DWORD dwConnection);
        !           384: STDMETHODIMP SvrDoc_OleObj_EnumAdvise(
        !           385:                LPOLEOBJECT                             lpThis, 
        !           386:                LPENUMSTATDATA FAR*             lplpenumAdvise
        !           387: );
        !           388: STDMETHODIMP SvrDoc_OleObj_GetMiscStatus(
        !           389:                LPOLEOBJECT             lpThis,
        !           390:                DWORD                                   dwAspect,
        !           391:                DWORD FAR*                              lpdwStatus
        !           392: );
        !           393: STDMETHODIMP SvrDoc_OleObj_SetColorScheme(
        !           394:                LPOLEOBJECT             lpThis,
        !           395:                LPLOGPALETTE            lpLogpal
        !           396: );
        !           397: STDMETHODIMP SvrDoc_OleObj_LockObject(
        !           398:                LPOLEOBJECT             lpThis,
        !           399:                BOOL                    fLock
        !           400: );
        !           401: 
        !           402: /* ServerDoc::IPersistStorage methods (functions) */
        !           403: STDMETHODIMP SvrDoc_PStg_QueryInterface(
        !           404:                LPPERSISTSTORAGE                lpThis,
        !           405:                REFIID                                  riid,
        !           406:                LPVOID FAR*                             lplpvObj
        !           407: );
        !           408: STDMETHODIMP_(ULONG) SvrDoc_PStg_AddRef(LPPERSISTSTORAGE lpThis);
        !           409: STDMETHODIMP_(ULONG) SvrDoc_PStg_Release(LPPERSISTSTORAGE lpThis);
        !           410: STDMETHODIMP SvrDoc_PStg_GetClassID(
        !           411:                LPPERSISTSTORAGE                lpThis, 
        !           412:                LPCLSID                                 lpClassID
        !           413: );
        !           414: STDMETHODIMP  SvrDoc_PStg_IsDirty(LPPERSISTSTORAGE     lpThis);
        !           415: STDMETHODIMP SvrDoc_PStg_InitNew(
        !           416:                LPPERSISTSTORAGE                lpThis, 
        !           417:                LPSTORAGE                               lpStg
        !           418: );
        !           419: STDMETHODIMP SvrDoc_PStg_Load(
        !           420:                LPPERSISTSTORAGE                lpThis, 
        !           421:                LPSTORAGE                               lpStg
        !           422: );
        !           423: STDMETHODIMP SvrDoc_PStg_Save(
        !           424:         LPPERSISTSTORAGE        lpThis,
        !           425:         LPSTORAGE               lpStg,
        !           426:         BOOL                    fSameAsLoad
        !           427: );
        !           428: STDMETHODIMP SvrDoc_PStg_SaveCompleted(
        !           429:         LPPERSISTSTORAGE        lpThis, 
        !           430:         LPSTORAGE               lpStgNew
        !           431: );
        !           432: STDMETHODIMP SvrDoc_PStg_HandsOffStorage(LPPERSISTSTORAGE lpThis);
        !           433: 
        !           434: 
        !           435: #if defined( SVR_TREATAS )
        !           436: 
        !           437: /* ServerDoc::IStdMarshalInfo methods (functions) */
        !           438: STDMETHODIMP SvrDoc_StdMshl_QueryInterface(
        !           439:         LPSTDMARSHALINFO        lpThis,
        !           440:         REFIID                  riid,
        !           441:         LPVOID FAR*             lplpvObj
        !           442: );
        !           443: STDMETHODIMP_(ULONG) SvrDoc_StdMshl_AddRef(LPSTDMARSHALINFO lpThis);
        !           444: STDMETHODIMP_(ULONG) SvrDoc_StdMshl_Release(LPSTDMARSHALINFO lpThis);
        !           445: STDMETHODIMP SvrDoc_StdMshl_GetClassForHandler(
        !           446:         LPSTDMARSHALINFO        lpThis, 
        !           447:                DWORD                                   dwDestContext, 
        !           448:                LPVOID                                  pvDestContext, 
        !           449:         LPCLSID                 lpClassID
        !           450: );
        !           451: #endif // SVR_TREATAS 
        !           452: 
        !           453: /*************************************************************************
        !           454: ** class SERVERAPP : OLEAPP
        !           455: **    SERVERAPP is an extention to the abstract base OLEAPP class.
        !           456: **    The OLEAPP class defines the fields, methods and interfaces that
        !           457: **    are common to both server and client implementations. The
        !           458: **    SERVERAPP class adds the fields and methods that are specific to
        !           459: **    OLE 2.0 Server functionality. There is one instance of
        !           460: **    SERVERAPP object created per running application instance. This
        !           461: **    object holds many fields that could otherwise be organized as
        !           462: **    global variables. The SERVERAPP class inherits all fields
        !           463: **    from the OLEAPP class. This inheritance is achieved by including a
        !           464: **    member variable of type OLEAPP as the first field in the SERVERAPP
        !           465: **    structure. OLEAPP inherits from OLEAPP. This inheritance is
        !           466: **    achieved in the same manner. Thus a pointer to a SERVERAPP object
        !           467: **    can be cast to be a pointer to an OLEAPP or an OUTLINEAPP object
        !           468: *************************************************************************/
        !           469: 
        !           470: typedef struct tagSERVERAPP {
        !           471:        OLEAPP          m_OleApp;               // ServerApp inherits all fields of OleApp
        !           472: 
        !           473: #if defined( INPLACE_SVR )
        !           474:        HACCEL  m_hAccelIPSvr; // accelerators for server's active object commands
        !           475:        HMENU   m_hMenuEdit;   // handle to Edit menu of the server app
        !           476:        HMENU   m_hMenuLine;   // handle to Line menu of the server app
        !           477:        HMENU   m_hMenuName;   // handle to Name menu of the server app
        !           478:        HMENU   m_hMenuOptions; // handle to Options menu of the server app
        !           479:        HMENU   m_hMenuDebug;           // handle to Debug menu of the server app
        !           480:        HMENU   m_hMenuHelp;   // handle to Help menu of the server app
        !           481:        LPINPLACEDATA   m_lpIPData;
        !           482: #endif
        !           483:        
        !           484: } SERVERAPP;
        !           485: 
        !           486: /* ServerApp methods (functions) */
        !           487: BOOL ServerApp_InitInstance(
        !           488:                LPSERVERAPP                             lpServerApp, 
        !           489:                HINSTANCE                               hInst, 
        !           490:                int                                     nCmdShow
        !           491: );
        !           492: BOOL ServerApp_InitVtbls (LPSERVERAPP lpServerApp);
        !           493: 
        !           494: 
        !           495: 
        !           496: /*************************************************************************
        !           497: ** class SERVERNAME : OUTLINENAME
        !           498: **    SERVERNAME class is an extension to the OUTLINENAME base class that 
        !           499: **    adds functionallity required to support linking to ranges (pseudo 
        !           500: **    objects). Pseudo objects are used to allow linking to a range
        !           501: **    (sub-selection) of a SERVERDOC document. The base class OUTLINENAME
        !           502: **    stores a particular named selection in the document. The
        !           503: **    NAMETABLE class holds all of the names defined in a particular
        !           504: **    document. Each OUTLINENAME object has a string as its key and a 
        !           505: **    starting line index and an ending line index for the named range. 
        !           506: **    The SERVERNAME class, also, stores a pointer to a PSEUDOOBJ if one 
        !           507: **    has been allocated that corresponds to the named selection.
        !           508: **    The SERVERNAME class inherits all fields from the OUTLINENAME class.
        !           509: **    This inheritance is achieved by including a member variable of
        !           510: **    type OUTLINENAME as the first field in the SERVERNAME 
        !           511: **    structure. Thus a pointer to an SERVERNAME object can be cast to be
        !           512: **    a pointer to a OUTLINENAME object.
        !           513: *************************************************************************/
        !           514: 
        !           515: typedef struct tagSERVERNAME {
        !           516:        OUTLINENAME             m_Name;                 // ServerName inherits all fields of Name
        !           517:        LPPSEUDOOBJ m_lpPseudoObj;      // ptr to pseudo object if allocated
        !           518: } SERVERNAME, FAR* LPSERVERNAME;
        !           519: 
        !           520: /* ServerName methods (functions) */
        !           521: void ServerName_SetSel(
        !           522:                LPSERVERNAME                    lpServerName, 
        !           523:                LPLINERANGE                             lplrSel, 
        !           524:                BOOL                                    fRangeModified
        !           525: );
        !           526: void ServerName_SendPendingAdvises(LPSERVERNAME lpServerName);
        !           527: LPPSEUDOOBJ ServerName_GetPseudoObj(
        !           528:                LPSERVERNAME                    lpServerName, 
        !           529:                LPSERVERDOC                             lpServerDoc
        !           530: );
        !           531: void ServerName_ClosePseudoObj(LPSERVERNAME lpServerName);
        !           532: 
        !           533: 
        !           534: /*************************************************************************
        !           535: ** class PSEUDOOBJ
        !           536: **    The PSEUDOOBJ (pseudo object) is a concrete class. A pseudo object
        !           537: **    is created when a link is made to a range of lines within an
        !           538: **    SERVERDOC document. A pseudo object is dependent on the existance
        !           539: **    of the SERVERDOC which represents the whole document.  
        !           540: *************************************************************************/
        !           541: 
        !           542: typedef struct tagPSEUDOOBJ {
        !           543:     ULONG                              m_cRef;                         // total ref count for obj
        !           544:        BOOL                            m_fObjIsClosing;        // flag to guard recursive close
        !           545:        LPSERVERNAME            m_lpName;                       // named range for this pseudo obj
        !           546:        LPSERVERDOC                     m_lpDoc;                        // ptr to whole document
        !           547:        LPOLEADVISEHOLDER       m_lpOleAdviseHldr;      // helper obj to hold ole advises
        !           548:        LPDATAADVISEHOLDER      m_lpDataAdviseHldr;     // helper obj to hold data advises
        !           549:        BOOL                            m_fDataChanged;         // data changed when draw disabled
        !           550: 
        !           551:        struct CPseudoObjUnknownImpl {
        !           552:                IUnknownVtbl FAR*               lpVtbl;
        !           553:                LPPSEUDOOBJ                             lpPseudoObj;
        !           554:                int                                             cRef;   // interface specific ref count.
        !           555:        } m_Unknown;
        !           556:        
        !           557:        struct CPseudoObjOleObjectImpl {
        !           558:                IOleObjectVtbl FAR*             lpVtbl;
        !           559:                LPPSEUDOOBJ                             lpPseudoObj;
        !           560:                int                                             cRef;   // interface specific ref count.
        !           561:        } m_OleObject;
        !           562:        
        !           563:        struct CPseudoObjDataObjectImpl {
        !           564:                IDataObjectVtbl FAR*    lpVtbl;
        !           565:                LPPSEUDOOBJ                             lpPseudoObj;
        !           566:                int                                             cRef;   // interface specific ref count.
        !           567:        } m_DataObject;
        !           568:        
        !           569: } PSEUDOOBJ;
        !           570: 
        !           571: /* PseudoObj methods (functions) */
        !           572: void PseudoObj_Init(
        !           573:                LPPSEUDOOBJ                             lpPseudoObj, 
        !           574:                LPSERVERNAME                    lpServerName, 
        !           575:                LPSERVERDOC                             lpServerDoc
        !           576: );
        !           577: ULONG PseudoObj_AddRef(LPPSEUDOOBJ lpPseudoObj);
        !           578: ULONG PseudoObj_Release(LPPSEUDOOBJ lpPseudoObj);
        !           579: HRESULT PseudoObj_QueryInterface(
        !           580:                LPPSEUDOOBJ                     lpPseudoObj, 
        !           581:                REFIID                          riid, 
        !           582:                LPVOID FAR*                     lplpUnk
        !           583: );
        !           584: BOOL PseudoObj_Close(LPPSEUDOOBJ lpPseudoObj);
        !           585: void PseudoObj_Destroy(LPPSEUDOOBJ lpPseudoObj);
        !           586: void PseudoObj_GetSel(LPPSEUDOOBJ lpPseudoObj, LPLINERANGE lplrSel);
        !           587: void PseudoObj_GetExtent(LPPSEUDOOBJ lpPseudoObj, LPSIZEL lpsizel);
        !           588: void PseudoObj_GetExtent(LPPSEUDOOBJ lpPseudoObj, LPSIZEL lpsizel);
        !           589: void PseudoObj_SendAdvise(
        !           590:         LPPSEUDOOBJ lpPseudoObj, 
        !           591:         WORD        wAdvise, 
        !           592:         LPMONIKER   lpmkObj,
        !           593:                DWORD           dwAdvf
        !           594: );
        !           595: LPMONIKER PseudoObj_GetFullMoniker(LPPSEUDOOBJ lpPseudoObj, LPMONIKER lpmkDoc);
        !           596: 
        !           597: /* PseudoObj::IUnknown methods (functions) */
        !           598: STDMETHODIMP PseudoObj_Unk_QueryInterface(
        !           599:                LPUNKNOWN                 lpThis,
        !           600:                REFIID            riid,
        !           601:                LPVOID FAR*       lplpvObj
        !           602: );
        !           603: STDMETHODIMP_(ULONG) PseudoObj_Unk_AddRef(LPUNKNOWN lpThis);
        !           604: STDMETHODIMP_(ULONG) PseudoObj_Unk_Release (LPUNKNOWN lpThis);
        !           605: 
        !           606: /* PseudoObj::IOleObject methods (functions) */
        !           607: STDMETHODIMP PseudoObj_OleObj_QueryInterface(
        !           608:                LPOLEOBJECT             lpThis,
        !           609:                REFIID          riid,
        !           610:                LPVOID FAR*             lplpvObj
        !           611: );
        !           612: STDMETHODIMP_(ULONG) PseudoObj_OleObj_AddRef(LPOLEOBJECT lpThis);
        !           613: STDMETHODIMP_(ULONG) PseudoObj_OleObj_Release(LPOLEOBJECT lpThis);
        !           614: STDMETHODIMP PseudoObj_OleObj_SetClientSite(
        !           615:                LPOLEOBJECT         lpThis,
        !           616:                LPOLECLIENTSITE     lpClientSite
        !           617: );
        !           618: STDMETHODIMP PseudoObj_OleObj_GetClientSite(
        !           619:                LPOLEOBJECT             lpThis,
        !           620:                LPOLECLIENTSITE FAR*    lplpClientSite
        !           621: );
        !           622: STDMETHODIMP PseudoObj_OleObj_SetHostNames(
        !           623:                LPOLEOBJECT             lpThis,
        !           624:                LPCSTR                                  szContainerApp,
        !           625:                LPCSTR                                  szContainerObj
        !           626: );
        !           627: STDMETHODIMP PseudoObj_OleObj_Close(
        !           628:                LPOLEOBJECT             lpThis,
        !           629:                DWORD                                   dwSaveOption
        !           630: );
        !           631: STDMETHODIMP PseudoObj_OleObj_SetMoniker(
        !           632:                LPOLEOBJECT     lpThis, 
        !           633:                DWORD           dwWhichMoniker, 
        !           634:                LPMONIKER       lpmk
        !           635: );
        !           636: STDMETHODIMP PseudoObj_OleObj_GetMoniker(
        !           637:                LPOLEOBJECT             lpThis, 
        !           638:                DWORD                   dwAssign,
        !           639:                DWORD                   dwWhichMoniker, 
        !           640:                LPMONIKER FAR*  lplpmk
        !           641: );
        !           642: STDMETHODIMP PseudoObj_OleObj_InitFromData(
        !           643:                LPOLEOBJECT             lpThis,
        !           644:                LPDATAOBJECT            lpDataObject,
        !           645:                BOOL                    fCreation,
        !           646:                DWORD                                   reserved
        !           647: );
        !           648: STDMETHODIMP PseudoObj_OleObj_GetClipboardData(
        !           649:                LPOLEOBJECT             lpThis,
        !           650:                DWORD                                   reserved,
        !           651:                LPDATAOBJECT FAR*       lplpDataObject
        !           652: );
        !           653: STDMETHODIMP PseudoObj_OleObj_DoVerb(
        !           654:                LPOLEOBJECT             lpThis,
        !           655:                LONG                    lVerb,
        !           656:                LPMSG                   lpmsg,
        !           657:         LPOLECLIENTSITE         lpActiveSite,
        !           658:                LONG                                    lindex,
        !           659:                HWND                                    hwndParent,
        !           660:                LPCRECT                                 lprcPosRect
        !           661: );
        !           662: STDMETHODIMP PseudoObj_OleObj_EnumVerbs(
        !           663:                LPOLEOBJECT                     lpThis,
        !           664:                LPENUMOLEVERB FAR*      lplpenumOleVerb 
        !           665: );
        !           666: STDMETHODIMP PseudoObj_OleObj_Update(LPOLEOBJECT lpThis);
        !           667: STDMETHODIMP PseudoObj_OleObj_IsUpToDate(LPOLEOBJECT lpThis);
        !           668: STDMETHODIMP PseudoObj_OleObj_GetUserClassID(
        !           669:                LPOLEOBJECT                             lpThis, 
        !           670:                LPCLSID                                 lpclsid
        !           671: );
        !           672: STDMETHODIMP PseudoObj_OleObj_GetUserType(
        !           673:                LPOLEOBJECT             lpThis,
        !           674:                DWORD                                   dwFormOfType, 
        !           675:                LPSTR FAR*                              lpszUserType
        !           676: );
        !           677: STDMETHODIMP PseudoObj_OleObj_SetExtent(
        !           678:                LPOLEOBJECT                             lpThis,
        !           679:                DWORD                                   dwDrawAspect,
        !           680:                LPSIZEL                                 lplgrc
        !           681: );
        !           682: STDMETHODIMP PseudoObj_OleObj_GetExtent(
        !           683:                LPOLEOBJECT                             lpThis,
        !           684:                DWORD                                   dwDrawAspect,
        !           685:                LPSIZEL                                 lplgrc
        !           686: );
        !           687: STDMETHODIMP PseudoObj_OleObj_Advise(
        !           688:                LPOLEOBJECT lpThis, 
        !           689:                LPADVISESINK lpAdvSink, 
        !           690:                LPDWORD lpdwConnection
        !           691: );
        !           692: STDMETHODIMP PseudoObj_OleObj_Unadvise(LPOLEOBJECT lpThis,DWORD dwConnection);
        !           693: STDMETHODIMP PseudoObj_OleObj_EnumAdvise(
        !           694:                LPOLEOBJECT lpThis, 
        !           695:                LPENUMSTATDATA FAR* lplpenumAdvise
        !           696: );
        !           697: STDMETHODIMP PseudoObj_OleObj_GetMiscStatus(
        !           698:                LPOLEOBJECT             lpThis,
        !           699:                DWORD                                   dwAspect,
        !           700:                DWORD FAR*                              lpdwStatus
        !           701: );
        !           702: STDMETHODIMP PseudoObj_OleObj_SetColorScheme(
        !           703:                LPOLEOBJECT             lpThis,
        !           704:                LPLOGPALETTE            lpLogpal
        !           705: );
        !           706: STDMETHODIMP PseudoObj_OleObj_LockObject(
        !           707:                LPOLEOBJECT             lpThis,
        !           708:                BOOL                    fLock
        !           709: );
        !           710: 
        !           711: /* PseudoObj::IDataObject methods (functions) */
        !           712: STDMETHODIMP PseudoObj_DataObj_QueryInterface (
        !           713:                LPDATAOBJECT      lpThis,
        !           714:                REFIID            riid,
        !           715:                LPVOID FAR*       lplpvObj
        !           716: );
        !           717: STDMETHODIMP_(ULONG) PseudoObj_DataObj_AddRef(LPDATAOBJECT lpThis);
        !           718: STDMETHODIMP_(ULONG) PseudoObj_DataObj_Release (LPDATAOBJECT lpThis);
        !           719: STDMETHODIMP PseudoObj_DataObj_GetData (
        !           720:                LPDATAOBJECT    lpThis,
        !           721:                LPFORMATETC             lpformatetc,
        !           722:                LPSTGMEDIUM             lpMedium
        !           723: );
        !           724: STDMETHODIMP PseudoObj_DataObj_GetDataHere (
        !           725:                LPDATAOBJECT    lpThis,
        !           726:                LPFORMATETC             lpformatetc,
        !           727:                LPSTGMEDIUM             lpMedium
        !           728: );
        !           729: STDMETHODIMP PseudoObj_DataObj_QueryGetData (
        !           730:                LPDATAOBJECT    lpThis,
        !           731:                LPFORMATETC             lpformatetc
        !           732: );
        !           733: STDMETHODIMP PseudoObj_DataObj_GetCanonicalFormatEtc (
        !           734:                LPDATAOBJECT    lpThis,
        !           735:                LPFORMATETC             lpformatetc,
        !           736:                LPFORMATETC             lpformatetcOut
        !           737: );
        !           738: STDMETHODIMP PseudoObj_DataObj_SetData (
        !           739:                LPDATAOBJECT    lpThis,
        !           740:                LPFORMATETC             lpformatetc,
        !           741:                LPSTGMEDIUM             lpmedium,
        !           742:                BOOL                    fRelease
        !           743: );
        !           744: STDMETHODIMP PseudoObj_DataObj_EnumFormatEtc(
        !           745:                LPDATAOBJECT                    lpThis,
        !           746:                DWORD                                   dwDirection,
        !           747:                LPENUMFORMATETC FAR*    lplpenumFormatEtc
        !           748: );
        !           749: STDMETHODIMP PseudoObj_DataObj_Advise(
        !           750:                LPDATAOBJECT    lpThis,
        !           751:                FORMATETC FAR*  lpFormatetc, 
        !           752:                DWORD                   advf, 
        !           753:                LPADVISESINK    lpAdvSink, 
        !           754:                DWORD FAR*              lpdwConnection
        !           755: );
        !           756: STDMETHODIMP PseudoObj_DataObj_Unadvise(LPDATAOBJECT lpThis, DWORD dwConnection);
        !           757: STDMETHODIMP PseudoObj_DataObj_EnumAdvise(
        !           758:                LPDATAOBJECT lpThis,
        !           759:                LPENUMSTATDATA FAR* lplpenumAdvise
        !           760: );
        !           761: 
        !           762: 
        !           763: /*************************************************************************
        !           764: ** class SERVERNAMETABLE : OUTLINENAMETABLE
        !           765: **    SERVERNAMETABLE class is an extension to the OUTLINENAMETABLE
        !           766: **    base class that adds functionallity required to support linking
        !           767: **    to ranges (pseudo objects). The name table manages the table of
        !           768: **    named selections in the document. Each name table entry has a
        !           769: **    string as its key and a starting line index and an ending line
        !           770: **    index for the named range. The SERVERNAMETABLE entries, in
        !           771: **    addition, maintain a pointer to a PSEUDOOBJ pseudo object if one
        !           772: **    has been already allocated. There is always one instance of
        !           773: **    SERVERNAMETABLE for each SERVERDOC object created.
        !           774: **    The SERVERNAME class inherits all fields from the NAME class.
        !           775: **    This inheritance is achieved by including a member variable of
        !           776: **    type NAME as the first field in the SERVERNAME 
        !           777: **    structure. Thus a pointer to an SERVERNAME object can be cast to be
        !           778: **    a pointer to a NAME object.
        !           779: *************************************************************************/
        !           780: 
        !           781: typedef struct tagSERVERNAMETABLE {
        !           782:        OUTLINENAMETABLE        m_NameTable;    // we inherit from OUTLINENAMETABLE
        !           783: 
        !           784:        // ServerNameTable does NOT add any fields
        !           785: 
        !           786: } SERVERNAMETABLE, FAR* LPSERVERNAMETABLE;
        !           787: 
        !           788: /* ServerNameTable methods (functions) */
        !           789: void ServerNameTable_EditLineUpdate(
        !           790:                LPSERVERNAMETABLE               lpServerNameTable, 
        !           791:                int                                             nEditIndex
        !           792: );
        !           793: void ServerNameTable_InformAllPseudoObjectsDocRenamed(
        !           794:                LPSERVERNAMETABLE               lpServerNameTable, 
        !           795:                LPMONIKER                               lpmkDoc
        !           796: );
        !           797: void ServerNameTable_InformAllPseudoObjectsDocSaved(
        !           798:                LPSERVERNAMETABLE               lpServerNameTable, 
        !           799:                LPMONIKER                               lpmkDoc
        !           800: );
        !           801: void ServerNameTable_SendPendingAdvises(LPSERVERNAMETABLE lpServerNameTable);
        !           802: LPPSEUDOOBJ ServerNameTable_GetPseudoObj(
        !           803:                LPSERVERNAMETABLE               lpServerNameTable, 
        !           804:                LPSTR                                   lpszItem, 
        !           805:                LPSERVERDOC                             lpServerDoc
        !           806: );
        !           807: void ServerNameTable_CloseAllPseudoObjs(LPSERVERNAMETABLE lpServerNameTable);
        !           808: 
        !           809: 
        !           810: #if defined( INPLACE_SVR)
        !           811: 
        !           812: /* ServerDoc::IOleInPlaceObject methods (functions) */
        !           813: 
        !           814: STDMETHODIMP SvrDoc_IPObj_QueryInterface(
        !           815:                LPOLEINPLACEOBJECT      lpThis,
        !           816:                REFIID                          riid,
        !           817:                LPVOID FAR *            lplpvObj
        !           818: );
        !           819: STDMETHODIMP_(ULONG) SvrDoc_IPObj_AddRef(LPOLEINPLACEOBJECT lpThis);
        !           820: STDMETHODIMP_(ULONG) SvrDoc_IPObj_Release(LPOLEINPLACEOBJECT lpThis);
        !           821: STDMETHODIMP SvrDoc_IPObj_GetWindow(
        !           822:                LPOLEINPLACEOBJECT      lpThis,
        !           823:                HWND FAR*                       lphwnd
        !           824: );
        !           825: STDMETHODIMP SvrDoc_IPObj_ContextSensitiveHelp(
        !           826:                LPOLEINPLACEOBJECT      lpThis,
        !           827:                BOOL                            fEnable
        !           828: );
        !           829: STDMETHODIMP SvrDoc_IPObj_InPlaceDeactivate(LPOLEINPLACEOBJECT lpThis);
        !           830: STDMETHODIMP SvrDoc_IPObj_UIDeactivate(LPOLEINPLACEOBJECT lpThis);
        !           831: STDMETHODIMP SvrDoc_IPObj_SetObjectRects(
        !           832:                LPOLEINPLACEOBJECT      lpThis,
        !           833:                LPCRECT                         lprcPosRect,
        !           834:                LPCRECT                         lprcClipRect
        !           835: );
        !           836: STDMETHODIMP SvrDoc_IPObj_ReactivateAndUndo(LPOLEINPLACEOBJECT lpThis);
        !           837: 
        !           838: /* ServerDoc::IOleInPlaceActiveObject methods (functions) */
        !           839: 
        !           840: STDMETHODIMP SvrDoc_IPActiveObj_QueryInterface(
        !           841:                LPOLEINPLACEACTIVEOBJECT        lpThis,
        !           842:                REFIID                                          riidReq,
        !           843:                LPVOID FAR *                            lplpUnk 
        !           844: );
        !           845: STDMETHODIMP_(ULONG) SvrDoc_IPActiveObj_AddRef(
        !           846:                LPOLEINPLACEACTIVEOBJECT lpThis
        !           847: );
        !           848: STDMETHODIMP_(ULONG) SvrDoc_IPActiveObj_Release(
        !           849:                LPOLEINPLACEACTIVEOBJECT lpThis
        !           850: );
        !           851: STDMETHODIMP SvrDoc_IPActiveObj_GetWindow(
        !           852:                LPOLEINPLACEACTIVEOBJECT        lpThis,
        !           853:                HWND FAR*                                       lphwnd
        !           854: );
        !           855: STDMETHODIMP SvrDoc_IPActiveObj_ContextSensitiveHelp(
        !           856:                LPOLEINPLACEACTIVEOBJECT        lpThis,
        !           857:                BOOL                                            fEnable
        !           858: );
        !           859: STDMETHODIMP SvrDoc_IPActiveObj_TranslateAccelerator(
        !           860:                LPOLEINPLACEACTIVEOBJECT        lpThis,
        !           861:                LPMSG                                           lpmsg
        !           862: );
        !           863: STDMETHODIMP SvrDoc_IPActiveObj_OnFrameWindowActivate(
        !           864:                LPOLEINPLACEACTIVEOBJECT        lpThis,
        !           865:                BOOL                                            fActivate
        !           866: );
        !           867: STDMETHODIMP SvrDoc_IPActiveObj_OnDocWindowActivate(
        !           868:                LPOLEINPLACEACTIVEOBJECT        lpThis,
        !           869:                BOOL                                            fActivate
        !           870: );
        !           871: STDMETHODIMP SvrDoc_IPActiveObj_ResizeBorder(
        !           872:                LPOLEINPLACEACTIVEOBJECT        lpThis,
        !           873:                LPCRECT                                         lprectBorder,
        !           874:                LPOLEINPLACEUIWINDOW            lpIPUiWnd,
        !           875:                BOOL                                            fFrameWindow
        !           876: );
        !           877: STDMETHODIMP SvrDoc_IPActiveObj_EnableModeless(
        !           878:                LPOLEINPLACEACTIVEOBJECT        lpThis,
        !           879:                BOOL                                            fEnable
        !           880: );
        !           881: 
        !           882: #endif // INPLACE_SVR
        !           883: 
        !           884: #endif // _SVROUTL_H_

unix.superglobalmegacorp.com

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