home *** CD-ROM | disk | FTP | other *** search
- #ifndef _REPLDIST_H_
- #pragma option push -b -a8 -pc -A- /*P_O_Push*/
- #define _REPLDIST_H_
-
- // OLEDB header
- #include "oledb.h"
-
- #ifndef __IDistributionStore_FWD_DEFINED__
- #define __IDistributionStore_FWD_DEFINED__
- typedef interface IDistributionStore IDistributionStore;
- #endif /* __IDistributionStore_FWD_DEFINED__ */
-
- #ifndef __IDistributionStore_INTERFACE_DEFINED__
- #define __IDistributionStore_INTERFACE_DEFINED__
-
- // SQLDistributionStore's CLSID
- // {16D9A8E2-C326-11d0-94E9-00C04FC2DB9C}
- DEFINE_GUID(CLSID_SQLDistribution,
- 0x16d9a8e2, 0xc326, 0x11d0, 0x94, 0xe9, 0x0, 0xc0, 0x4f, 0xc2, 0xdb, 0x9c);
-
- // {63797CA0-9684-11d0-94DD-00C04FC2DB9C}
- DEFINE_GUID(IID_IDistributionStore,
- 0x63797ca0, 0x9684, 0x11d0, 0x94, 0xdd, 0x0, 0xc0, 0x4f, 0xc2, 0xdb, 0x9c);
-
- // {074EACFD-A791-11d0-94E0-00C04FC2DB9C}
- DEFINE_GUID(IID_IDistributionLog,
- 0x74eacfd, 0xa791, 0x11d0, 0x94, 0xe0, 0x0, 0xc0, 0x4f, 0xc2, 0xdb, 0x9c);
-
- typedef DWORD DISTCMDTYPE;
-
- class DistByteArray
- {
- private:
- BYTE rgDistByteArray[16];
- public:
- DistByteArray(){memset(rgDistByteArray, 0, sizeof(rgDistByteArray));}
- ~DistByteArray(){}
-
- BYTE* operator& ()
- {
- return rgDistByteArray;
- }
-
- // Pre-increment
- DistByteArray& operator++ ()
- {
- return Increment();
- }
-
- // Post-increment
- DistByteArray& operator++ (int dummy)
- {
- return Increment();
- }
-
- DistByteArray& Increment()
- {
- for (int i=sizeof(rgDistByteArray)-1; i>=0; i--)
- {
- UCHAR *pByte = ((UCHAR *) rgDistByteArray + i);
- if (0xFF == *pByte)
- {
- *pByte = 0;
- continue;
- }
- else
- {
- (*pByte)++;
- break;
- }
- }
- return *this;
- }
- };
-
- enum DISTCMDTYPEENUM
- {
- DISTCMDTYPE_SQL = 1,
- DISTCMDTYPE_SCRIPT = 2,
- DISTCMDTYPE_NATIVE_BCP = 3,
- DISTCMDTYPE_CHAR_BCP = 4,
- DISTCMDTYPE_SQL_WORKINGDIR = 7
- };
-
- typedef struct tagDISTCOMMANDDESC
- {
- INT PublicationId;
- INT ArticleId;
- INT CommandId;
- DISTCMDTYPE CommandType;
- BOOL fPartialCommand;
- LPSTR szCommand;
- BYTE* pXactId;
- BYTE* pXactSeqno;
- LPSTR szOriginator;
- LPSTR szOriginatorDB;
- } DISTCOMMANDDESC;
-
-
- // Error source type
- typedef enum {
- DIST_SOURCE_NULL = 0,
- DIST_SOURCE_COMMAND = 1,
- DIST_SOURCE_AGENT = 2,
- DIST_SOURCE_OS = 3,
- DIST_SOURCE_ODBC = 4,
- DIST_SOURCE_SQLSERVER = 5
- } DISTERRSRCTYPE;
-
-
- typedef struct tagDISTERRORDESC
- {
- DISTERRSRCTYPE SourceType;
- CHAR szSourceName[31];
- CHAR szErrorCode[31];
- BSTR bstrErrorText;
- } DISTERRORDESC;
-
- typedef DWORD DISTLOGSTATUS;
-
- enum DISTLOGSTATUSENUM
- {
- DISTLOG_STARTUP = 1,
- DISTLOG_SUCCESS = 2,
- DISTLOG_INPROGRESS = 3,
- DISTLOG_IDLE = 4,
- DISTLOG_RETRY = 5,
- DISTLOG_FAILURE = 6
- };
-
- typedef BYTE DISTAPPTYPE;
-
- enum DISTTYPEENUM
- {
- DISTTYPE_SNAPSHOT = 0,
- DISTTYPE_LOGREADER = 1
- };
-
-
- enum DISTPROPENUM
- { DBPROP_INIT_PUBLISHER_NAME = 0xFF1,
- DBPROP_INIT_PUBLISHER_DATASOURCE = 0xFF2,
- DBPROP_INIT_XACTID_SIZE = 0xFF3,
- DBPROP_INIT_XACT_SEQNO_SIZE = 0xFF4,
- DBPROP_PUBLICATION_NAME = 0xFF5,
- DBPROP_APPLICATION_NAME = 0xFF6,
- DBPROP_APPLICATION_TYPE = 0xFF7
- };
-
- EXTERN_C const IID IID_IDistributionStore;
-
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- interface IDistributionStore : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE Abort( void) = 0;
- virtual HRESULT STDMETHODCALLTYPE Commit( void) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetLastTransaction(
- /* [out] */ BYTE* pXactId,
- /* [out] */ BYTE* pXactSeqno) = 0;
- virtual HRESULT STDMETHODCALLTYPE AddTransactionCommands(
- /* [in] */ ULONG cCommandDescs,
- /* [size_is][in] */ const DISTCOMMANDDESC __RPC_FAR rgCommandDescs[ ]) = 0;
- virtual HRESULT STDMETHODCALLTYPE StartTransaction( void) = 0;
- };
-
- #else /* C style interface */
-
- typedef struct IDistributionStoreVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
- IDistributionStore __RPC_FAR * This,
- /* [in] */ REFIID riid,
- /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
-
- ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
- IDistributionStore __RPC_FAR * This);
-
- ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
- IDistributionStore __RPC_FAR * This);
-
- HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Abort )(
- IDistributionStore __RPC_FAR * This);
-
- HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Commit )(
- IDistributionStore __RPC_FAR * This);
-
- HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetLastTransaction )(
- IDistributionStore __RPC_FAR * This,
- /* [out] */ BYTE* pXactId,
- /* [out] */ BYTE* pXactSeqno);
-
- HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddTransactionCommands )(
- IDistributionStore __RPC_FAR * This,
- /* [in] */ ULONG cCommandDescs,
- /* [size_is][in] */ const DISTCOMMANDDESC __RPC_FAR rgCommandDescs[ ]);
-
- HRESULT ( STDMETHODCALLTYPE __RPC_FAR *StartTransaction )(
- IDistributionStore __RPC_FAR * This);
-
- END_INTERFACE
- } IDistributionStoreVtbl;
-
- interface IDistributionStore
- {
- CONST_VTBL struct IDistributionStoreVtbl __RPC_FAR *lpVtbl;
- };
-
-
-
- #ifdef COBJMACROS
-
- #define IDistributionStore_QueryInterface(This,riid,ppvObject) \
- (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
-
- #define IDistributionStore_AddRef(This) \
- (This)->lpVtbl -> AddRef(This)
-
- #define IDistributionStore_Release(This) \
- (This)->lpVtbl -> Release(This)
-
- #define IDistributionStore_Abort(This) \
- (This)->lpVtbl -> Abort(This)
-
- #define IDistributionStore_Commit(This) \
- (This)->lpVtbl -> Commit(This)
-
- #define IDistributionStore_GetLastTransaction(This) \
- (This)->lpVtbl -> GetLastTransaction(This, pXactId, pXactSeqno)
-
- #define IDistributionStore_AddTransactionCommands(This) \
- (This)->lpVtbl -> AddTransactionCommands(This, cCommandDescs, rgCommandDescs)
-
- #define IDistributionStore_StartTransaction(This) \
- (This)->lpVtbl -> StartTransaction(This)
-
- #endif /* COBJMACROS */
-
-
- #endif /* C style interface */
-
-
-
- HRESULT STDMETHODCALLTYPE IDistributionStore_Abort_Proxy(
- IDistributionStore __RPC_FAR * This);
-
-
- void __RPC_STUB IDistributionStore_Abort_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
-
- HRESULT STDMETHODCALLTYPE IDistributionStore_Commit_Proxy(
- IDistributionStore __RPC_FAR * This);
-
-
- void __RPC_STUB IDistributionStore_Commit_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
-
-
- HRESULT STDMETHODCALLTYPE IDistributionStore_GetLastTransaction_Proxy(
- IDistributionStore __RPC_FAR * This,
- BYTE* pXactId,
- BYTE* pXactSeqno);
-
-
- void __RPC_STUB IDistributionStore_GetLastTransaction_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
-
-
- HRESULT STDMETHODCALLTYPE IDistributionStore_AddTransactionCommands_Proxy(
- IDistributionStore __RPC_FAR * This,
- ULONG cCommandDescs,
- const DISTCOMMANDDESC __RPC_FAR rgCommandDescs[ ]);
-
-
- void __RPC_STUB IDistributionStore_AddTransactionCommands_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
-
-
- HRESULT STDMETHODCALLTYPE IDistributionStore_StartTransaction_Proxy(
- IDistributionStore __RPC_FAR * This);
-
-
- void __RPC_STUB IDistributionStore_StartTransaction_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
-
-
- #endif /* __IDistributionStore_INTERFACE_DEFINED__ */
-
- #ifndef __IDistributionLog_FWD_DEFINED__
- #define __IDistributionLog_FWD_DEFINED__
- typedef interface IDistributionLog IDistributionLog;
- #endif /* __IDistributionLog_FWD_DEFINED__ */
-
- #ifndef __IDistributionLog_INTERFACE_DEFINED__
- #define __IDistributionLog_INTERFACE_DEFINED__
-
- EXTERN_C const IID IID_IDistributionLog;
-
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- interface IDistributionLog : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE AddLog(
- /* [in] */ DWORD dwStatusId,
- /* [in] */ LPSTR szComment,
- /* [in] */ BYTE* pXactSeqno,
- /* [in] */ ULONG ulTransactions,
- /* [in] */ ULONG ulCommands,
- /* [in] */ ULONG cErrorDescs,
- /* [size_is][in] */ const DISTERRORDESC __RPC_FAR rgErrorDescs[ ]) = 0;
- };
-
- #else /* C style interface */
-
- typedef struct IDistributionLogVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
- IDistributionLog __RPC_FAR * This,
- /* [in] */ REFIID riid,
- /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
-
- ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
- IDistributionLog __RPC_FAR * This);
-
- HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddLog )(
- IDistributionLog __RPC_FAR * This,
- /* [in] */ DWORD dwStatusId,
- /* [in] */ LPSTR szComment,
- /* [in] */ BYTE* pXactSeqno,
- /* [in] */ ULONG ulTransactions,
- /* [in] */ ULONG ulCommands,
- /* [in] */ ULONG cErrorDescs,
- /* [size_is][in] */ const DISTERRORDESC __RPC_FAR rgErrorDescs[ ]);
-
- END_INTERFACE
- } IDistributionLogVtbl;
-
- interface IDistributionLog
- {
- CONST_VTBL struct IDistributionLogVtbl __RPC_FAR *lpVtbl;
- };
-
-
-
- #ifdef COBJMACROS
-
- #define IDistributionLog_QueryInterface(This,riid,ppvObject) \
- (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
-
- #define IDistributionLog_AddRef(This) \
- (This)->lpVtbl -> AddRef(This)
-
- #define IDistributionLog_Release(This) \
- (This)->lpVtbl -> Release(This)
-
- #define IDistributionLog_AddLog(This) \
- (This)->lpVtbl -> AddLog(This, dwStatusId, szComment, pXactSeqno, cTransactions, cCommands, cErrorDescs, rgErrorDescs)
-
- #endif /* COBJMACROS */
-
-
- #endif /* C style interface */
-
-
- HRESULT STDMETHODCALLTYPE IDistributionLog_AddLog_Proxy(
- IDistributionLog __RPC_FAR * This,
- DWORD dwStatusId,
- LPSTR szComment,
- BYTE* pXactSeqno,
- ULONG ulTransactions,
- ULONG ulCommands,
- ULONG cErrorDescs,
- const DISTERRORDESC __RPC_FAR rgErrorDescs[ ]);
-
-
- void __RPC_STUB IDistributionLog_AddLog_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
-
- #endif /* __IDistributionLog_INTERFACE_DEFINED__ */
-
-
- #ifndef __IGetCustomErrorInfo_FWD_DEFINED__
- #define __IGetCustomErrorInfo_FWD_DEFINED__
- typedef interface IGetCustomErrorInfo IGetCustomErrorInfo ;
- #endif /* __IGetCustomErrorInfo_FWD_DEFINED__ */
-
-
- #ifndef __IGetCustomErrorInfo_INTERFACE_DEFINED__
- #define __IGetCustomErrorInfo_INTERFACE_DEFINED__
-
- // @msg IID_IGetCustomErrorInfo | {D83B7C8D-F22F-11d0-9AE8-00C04FB6B6EF}
- // Interface ID to the IGetCustomErrorInfo interface
- DEFINE_GUID(IID_IGetCustomErrorInfo, 0xd83b7c8d, 0xf22f, 0x11d0, 0x9a, 0xe8, 0x0, 0xc0, 0x4f, 0xb6, 0xb6, 0xef);
-
- // @msg CLSID_DistErrorLookup | {246CBC55-F3E8-11d0-9AEB-00C04FB6B6EF}
- // ID of the Distribution Error Lookup Service class
- DEFINE_GUID(CLSID_DistErrorLookup,0x246cbc55, 0xf3e8, 0x11d0, 0x9a, 0xeb, 0x0, 0xc0, 0x4f, 0xb6, 0xb6, 0xef);
-
-
- EXTERN_C const IID IID_IGetCustomErrorInfo;
-
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- interface IGetCustomErrorInfo : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetCustomErrorInfo(DISTERRORDESC * pDistErrorDesc) = 0;
- };
-
- #else /* C style interface */
-
- typedef struct IGetCustomErrorInfoVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
- IGetCustomErrorInfo __RPC_FAR * This,
- /* [in] */ REFIID riid,
- /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
-
- ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
- IGetCustomErrorInfo __RPC_FAR * This);
-
- ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
- IGetCustomErrorInfo __RPC_FAR * This);
-
- HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCustomErrorInfo )(
- IGetCustomErrorInfo __RPC_FAR * This,
- /* out */ REPL_ERROR * pReplError);
-
- END_INTERFACE
- } IGetCustomErrorInfoVtbl;
-
- interface IGetCustomErrorInfo
- {
- CONST_VTBL struct IGetCustomErrorInfoVtbl __RPC_FAR *lpVtbl;
- };
-
-
-
- #ifdef COBJMACROS
-
-
- #define IGetCustomErrorInfo_QueryInterface(This,riid,ppvObject) \
- (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
-
- #define IGetCustomErrorInfo_AddRef(This) \
- (This)->lpVtbl -> AddRef(This)
-
- #define IGetCustomErrorInfo_Release(This) \
- (This)->lpVtbl -> Release(This)
-
- #define IGetCustomErrorInfo_GetCustomErrorInfo(This,pReplError) \
- (This)->lpVtbl -> GetCustomErrorInfo(This,pReplError)
-
- #endif /* COBJMACROS */
-
-
- #endif /* C style interface */
-
- #endif /* __IGetCustomErrorInfo_INTERFACE_DEFINED__ */
-
- #pragma option pop /*P_O_Pop*/
- #endif // _REPLDIST_H_
-