// *************************************************************************** // Copyright (C) 1991-2002 SQLDev.Net // // $BeginHeader$ // // @file@: BackupDB.h // @author@: Gert E.R. Drapers (GertD@SQLDev.Net) // @description@: Example SQL-DMO Backup Database with Event Sinks // @remarks@: // @created@: 2002-12-30 // @lastsaved@: 2002-12-30 // // update history: // @version@ @initials@ @updatedate@ @release@ @description@ // 00001 GED 2002-12-30 v1.0.0.0 created // // @EndHeader@ // *************************************************************************** #ifndef _BACKUPDB_H_ #define _BACKUPDB_H_ class CMyBackupSink : public ISQLDMOBackupSink { public: CMyBackupSink() {m_cRefs=0;}; // *** IUnknown methods // STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj); STDMETHOD_(ULONG,AddRef) (THIS) {return ++m_cRefs;} STDMETHOD_(ULONG,Release) (THIS) { if (1 >= m_cRefs) { // delete this; // return 0; } return --m_cRefs; } // *** ISQLDMOBackupSink methods // STDMETHOD(PercentComplete)(THIS_ SQLDMO_LPCSTR Message, long Percent); STDMETHOD(NextMedia)(THIS_ SQLDMO_LPCSTR Message); STDMETHOD(Complete)(THIS_ SQLDMO_LPCSTR Message); protected: // member vars. ULONG m_cRefs; }; #endif // _BACKUPDB_H_