⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 docobj.h

📁 winNT技术操作系统,国外开放的原代码和LIUX一样
💻 H
📖 第 1 页 / 共 3 页
字号:

};
#else
typedef struct IOleCommandTargetVtbl IOleCommandTargetVtbl;
struct IOleCommandTarget {
    const IOleCommandTargetVtbl* lpVtbl;
};
struct IOleCommandTargetVtbl {
    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IOleCommandTarget* This,
        REFIID riid,
        void** ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IOleCommandTarget* This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IOleCommandTarget* This);

    /*** IOleCommandTarget methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryStatus)(
        IOleCommandTarget* This,
        const GUID* pguidCmdGroup,
        ULONG cCmds,
        OLECMD prgCmds[],
        OLECMDTEXT* pCmdText);

    HRESULT (STDMETHODCALLTYPE *Exec)(
        IOleCommandTarget* This,
        const GUID* pguidCmdGroup,
        DWORD nCmdID,
        DWORD nCmdexecopt,
        VARIANT* pvaIn,
        VARIANT* pvaOut);

};

/*** IUnknown methods ***/
#define IOleCommandTarget_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IOleCommandTarget_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IOleCommandTarget_Release(p) (p)->lpVtbl->Release(p)
/*** IOleCommandTarget methods ***/
#define IOleCommandTarget_QueryStatus(p,a,b,c,d) (p)->lpVtbl->QueryStatus(p,a,b,c,d)
#define IOleCommandTarget_Exec(p,a,b,c,d,e) (p)->lpVtbl->Exec(p,a,b,c,d,e)

#endif

#define IOleCommandTarget_METHODS \
    /*** IUnknown methods ***/ \
    STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
    STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
    STDMETHOD_(ULONG,Release)(THIS) PURE; \
    /*** IOleCommandTarget methods ***/ \
    STDMETHOD_(HRESULT,QueryStatus)(THIS_ const GUID* pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[], OLECMDTEXT* pCmdText) PURE; \
    STDMETHOD_(HRESULT,Exec)(THIS_ const GUID* pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT* pvaIn, VARIANT* pvaOut) PURE;

HRESULT CALLBACK IOleCommandTarget_QueryStatus_Proxy(
    IOleCommandTarget* This,
    const GUID* pguidCmdGroup,
    ULONG cCmds,
    OLECMD prgCmds[],
    OLECMDTEXT* pCmdText);
void __RPC_STUB IOleCommandTarget_QueryStatus_Stub(
    struct IRpcStubBuffer* This,
    struct IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IOleCommandTarget_Exec_Proxy(
    IOleCommandTarget* This,
    const GUID* pguidCmdGroup,
    DWORD nCmdID,
    DWORD nCmdexecopt,
    VARIANT* pvaIn,
    VARIANT* pvaOut);
void __RPC_STUB IOleCommandTarget_Exec_Stub(
    struct IRpcStubBuffer* This,
    struct IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __IOleCommandTarget_INTERFACE_DEFINED__ */

#ifndef __IContinueCallback_FWD_DEFINED__
#define __IContinueCallback_FWD_DEFINED__
typedef struct IContinueCallback IContinueCallback;
#endif

typedef IContinueCallback *LPCONTINUECALLBACK;

/*****************************************************************************
 * IContinueCallback interface
 */
#ifndef __IContinueCallback_INTERFACE_DEFINED__
#define __IContinueCallback_INTERFACE_DEFINED__

DEFINE_GUID(IID_IContinueCallback, 0xb722bcca, 0x4e68, 0x101b, 0xa2,0xbc, 0x00,0xaa,0x00,0x40,0x47,0x70);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IContinueCallback : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE FContinue(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE FContinuePrinting(
        LONG nCntPrinted,
        LONG nCurPage,
        WCHAR* pwszPrintStatus) = 0;

};
#else
typedef struct IContinueCallbackVtbl IContinueCallbackVtbl;
struct IContinueCallback {
    const IContinueCallbackVtbl* lpVtbl;
};
struct IContinueCallbackVtbl {
    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IContinueCallback* This,
        REFIID riid,
        void** ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IContinueCallback* This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IContinueCallback* This);

    /*** IContinueCallback methods ***/
    HRESULT (STDMETHODCALLTYPE *FContinue)(
        IContinueCallback* This);

    HRESULT (STDMETHODCALLTYPE *FContinuePrinting)(
        IContinueCallback* This,
        LONG nCntPrinted,
        LONG nCurPage,
        WCHAR* pwszPrintStatus);

};

/*** IUnknown methods ***/
#define IContinueCallback_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IContinueCallback_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IContinueCallback_Release(p) (p)->lpVtbl->Release(p)
/*** IContinueCallback methods ***/
#define IContinueCallback_FContinue(p) (p)->lpVtbl->FContinue(p)
#define IContinueCallback_FContinuePrinting(p,a,b,c) (p)->lpVtbl->FContinuePrinting(p,a,b,c)

#endif

#define IContinueCallback_METHODS \
    /*** IUnknown methods ***/ \
    STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
    STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
    STDMETHOD_(ULONG,Release)(THIS) PURE; \
    /*** IContinueCallback methods ***/ \
    STDMETHOD_(HRESULT,FContinue)(THIS) PURE; \
    STDMETHOD_(HRESULT,FContinuePrinting)(THIS_ LONG nCntPrinted, LONG nCurPage, WCHAR* pwszPrintStatus) PURE;

HRESULT CALLBACK IContinueCallback_FContinue_Proxy(
    IContinueCallback* This);
void __RPC_STUB IContinueCallback_FContinue_Stub(
    struct IRpcStubBuffer* This,
    struct IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IContinueCallback_FContinuePrinting_Proxy(
    IContinueCallback* This,
    LONG nCntPrinted,
    LONG nCurPage,
    WCHAR* pwszPrintStatus);
void __RPC_STUB IContinueCallback_FContinuePrinting_Stub(
    struct IRpcStubBuffer* This,
    struct IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __IContinueCallback_INTERFACE_DEFINED__ */

#ifndef __IPrint_FWD_DEFINED__
#define __IPrint_FWD_DEFINED__
typedef struct IPrint IPrint;
#endif

typedef IPrint *LPPRINT;

typedef enum {
    PRINTFLAG_MAYBOTHERUSER = 1,
    PRINTFLAG_PROMPTUSER = 2,
    PRINTFLAG_USERMAYCHANGEPRINTER = 4,
    PRINTFLAG_RECOMPOSETODEVICE = 8,
    PRINTFLAG_DONTACTUALLYPRINT = 16,
    PRINTFLAG_FORCEPROPERTIES = 32,
    PRINTFLAG_PRINTTOFILE = 64
} PRINTFLAG;

typedef struct tagPAGERANGE {
    LONG nFromPage;
    LONG nToPage;
} PAGERANGE;

typedef struct tagPAGESET {
    ULONG cbStruct;
    BOOL fOddPages;
    BOOL fEvenPages;
    ULONG cPageRange;
    PAGERANGE rgPages[1];
} PAGESET;

/*****************************************************************************
 * IPrint interface
 */
#ifndef __IPrint_INTERFACE_DEFINED__
#define __IPrint_INTERFACE_DEFINED__

DEFINE_GUID(IID_IPrint, 0xb722bcc9, 0x4e68, 0x101b, 0xa2,0xbc, 0x00,0xaa,0x00,0x40,0x47,0x70);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IPrint : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE SetInitialPageNum(
        LONG nFirstPage) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetPageInfo(
        LONG* pnFirstPage,
        LONG* pcPages) = 0;

    virtual HRESULT STDMETHODCALLTYPE Print(
        DWORD grfFlags,
        DVTARGETDEVICE** pptd,
        PAGESET** ppPageSet,
        STGMEDIUM* pstgmOptions,
        IContinueCallback* pcallback,
        LONG nFirstPage,
        LONG* pcPagesPrinted,
        LONG* pnLastPage) = 0;

};
#else
typedef struct IPrintVtbl IPrintVtbl;
struct IPrint {
    const IPrintVtbl* lpVtbl;
};
struct IPrintVtbl {
    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IPrint* This,
        REFIID riid,
        void** ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IPrint* This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IPrint* This);

    /*** IPrint methods ***/
    HRESULT (STDMETHODCALLTYPE *SetInitialPageNum)(
        IPrint* This,
        LONG nFirstPage);

    HRESULT (STDMETHODCALLTYPE *GetPageInfo)(
        IPrint* This,
        LONG* pnFirstPage,
        LONG* pcPages);

    HRESULT (STDMETHODCALLTYPE *Print)(
        IPrint* This,
        DWORD grfFlags,
        DVTARGETDEVICE** pptd,
        PAGESET** ppPageSet,
        STGMEDIUM* pstgmOptions,
        IContinueCallback* pcallback,
        LONG nFirstPage,
        LONG* pcPagesPrinted,
        LONG* pnLastPage);

};

/*** IUnknown methods ***/
#define IPrint_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IPrint_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IPrint_Release(p) (p)->lpVtbl->Release(p)
/*** IPrint methods ***/
#define IPrint_SetInitialPageNum(p,a) (p)->lpVtbl->SetInitialPageNum(p,a)
#define IPrint_GetPageInfo(p,a,b) (p)->lpVtbl->GetPageInfo(p,a,b)
#define IPrint_Print(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Print(p,a,b,c,d,e,f,g,h)

#endif

#define IPrint_METHODS \
    /*** IUnknown methods ***/ \
    STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
    STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
    STDMETHOD_(ULONG,Release)(THIS) PURE; \
    /*** IPrint methods ***/ \
    STDMETHOD_(HRESULT,SetInitialPageNum)(THIS_ LONG nFirstPage) PURE; \
    STDMETHOD_(HRESULT,GetPageInfo)(THIS_ LONG* pnFirstPage, LONG* pcPages) PURE; \
    STDMETHOD_(HRESULT,Print)(THIS_ DWORD grfFlags, DVTARGETDEVICE** pptd, PAGESET** ppPageSet, STGMEDIUM* pstgmOptions, IContinueCallback* pcallback, LONG nFirstPage, LONG* pcPagesPrinted, LONG* pnLastPage) PURE;

HRESULT CALLBACK IPrint_SetInitialPageNum_Proxy(
    IPrint* This,
    LONG nFirstPage);
void __RPC_STUB IPrint_SetInitialPageNum_Stub(
    struct IRpcStubBuffer* This,
    struct IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IPrint_GetPageInfo_Proxy(
    IPrint* This,
    LONG* pnFirstPage,
    LONG* pcPages);
void __RPC_STUB IPrint_GetPageInfo_Stub(
    struct IRpcStubBuffer* This,
    struct IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IPrint_RemotePrint_Proxy(
    IPrint* This,
    DWORD grfFlags,
    DVTARGETDEVICE** pptd,
    PAGESET** pppageset,
    RemSTGMEDIUM* pstgmOptions,
    IContinueCallback* pcallback,
    LONG nFirstPage,
    LONG* pcPagesPrinted,
    LONG* pnLastPage);
void __RPC_STUB IPrint_RemotePrint_Stub(
    struct IRpcStubBuffer* This,
    struct IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IPrint_Print_Proxy(
    IPrint* This,
    DWORD grfFlags,
    DVTARGETDEVICE** pptd,
    PAGESET** ppPageSet,
    STGMEDIUM* pstgmOptions,
    IContinueCallback* pcallback,
    LONG nFirstPage,
    LONG* pcPagesPrinted,
    LONG* pnLastPage);
HRESULT __RPC_STUB IPrint_Print_Stub(
    IPrint* This,
    DWORD grfFlags,
    DVTARGETDEVICE** pptd,
    PAGESET** pppageset,
    RemSTGMEDIUM* pstgmOptions,
    IContinueCallback* pcallback,
    LONG nFirstPage,
    LONG* pcPagesPrinted,
    LONG* pnLastPage);

#endif  /* __IPrint_INTERFACE_DEFINED__ */

#define OLECMDERR_E_FIRST            (OLE_E_LAST+1)
#define OLECMDERR_E_NOTSUPPORTED     (OLECMDERR_E_FIRST)
#define OLECMDERR_E_DISABLED         (OLECMDERR_E_FIRST+1)
#define OLECMDERR_E_NOHELP           (OLECMDERR_E_FIRST+2)
#define OLECMDERR_E_CANCELED         (OLECMDERR_E_FIRST+3)
#define OLECMDERR_E_UNKNOWNGROUP     (OLECMDERR_E_FIRST+4)
#define MSOCMDERR_E_FIRST OLECMDERR_E_FIRST
#define MSOCMDERR_E_NOTSUPPORTED OLECMDERR_E_NOTSUPPORTED
#define MSOCMDERR_E_DISABLED OLECMDERR_E_DISABLED
#define MSOCMDERR_E_NOHELP OLECMDERR_E_NOHELP
#define MSOCMDERR_E_CANCELED OLECMDERR_E_CANCELED
#define MSOCMDERR_E_UNKNOWNGROUP OLECMDERR_E_UNKNOWNGROUP
#define LPMSODOCUMENT                  LPOLEDOCUMENT
#define LPMSODOCUMENTSITE              LPOLEDOCUMENTSITE
#define LPMSOVIEW                      LPOLEDOCUMENTVIEW
#define LPENUMMSOVIEW                  LPENUMOLEDOCUMENTVIEWS
#define LPMSOCOMMANDTARGET             LPOLECOMMANDTARGET
#define IID_IMsoDocument               IID_IOleDocument
#define IID_IMsoDocumentSite           IID_IOleDocumentSite
#define IID_IMsoView                   IID_IOleDocumentView
#define IID_IEnumMsoView               IID_IEnumOleDocumentViews
#define IID_IMsoCommandTarget          IID_IOleCommandTarget
#ifdef __cplusplus
}
#endif
#endif /* __WIDL_DOCOBJ_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -