#pragma once //++ // // Copyright (c) 2001 Microsoft Corporation // // FACILITY: // // Cluster Service // // MODULE DESCRIPTION: // // Header for Vss support within cluster service. // // ENVIRONMENT: // // User mode NT Service. // // AUTHOR: // // Conor Morrison // // CREATION DATE: // // 18-Apr-2001 // // Revision History: // // X-1 CM Conor Morrison 18-Apr-2001 // Initial version. //-- #include "vss.h" #include "vswriter.h" // Derive a class from CVssWriter so that we can override some of the default // methods with our own funky cluster variants // // For more info search MSDN for CVssWriter. // class CVssWriterCluster : public CVssWriter { private: // callback when request for metadata comes in virtual bool STDMETHODCALLTYPE OnIdentify(IN IVssCreateWriterMetadata *pMetadata); // callback for prepare backup event virtual bool STDMETHODCALLTYPE OnPrepareBackup( IN IVssWriterComponents *pComponent ); // callback for prepare snapsot event virtual bool STDMETHODCALLTYPE OnPrepareSnapshot(); // callback for freeze event virtual bool STDMETHODCALLTYPE OnFreeze(); // callback for thaw event virtual bool STDMETHODCALLTYPE OnThaw(); // callback if current sequence is aborted virtual bool STDMETHODCALLTYPE OnAbort(); }; typedef CVssWriterCluster* PCVssWriterCluster; extern class CVssWriterCluster* g_pCVssWriterCluster; extern const VSS_ID g_VssIdCluster; extern bool g_bCVssWriterClusterSubscribed;