121 lines
2.6 KiB
C++
121 lines
2.6 KiB
C++
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
|
|
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
|
|
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
|
|
// PARTICULAR PURPOSE.
|
|
//
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
|
|
#ifndef __CRMSUB_H__
|
|
#define __CRMSUB_H__
|
|
|
|
#include "resource.h" // main symbols
|
|
|
|
/*C+C+++C+++C+++C+++C+++C+++C+++C+++C+++C+++C+++C+++C+++C+++C+++C+++C+++C+++C
|
|
Class: CCRMSub
|
|
Summary: CRM Event Subscriber
|
|
C---C---C---C---C---C---C---C---C---C---C---C---C---C---C---C---C---C---C-C*/
|
|
class ATL_NO_VTABLE CCRMSub :
|
|
public CSysLCESub,
|
|
public IComCRMEvents
|
|
{
|
|
public:
|
|
|
|
CCRMSub(CComSpy * pSpy)
|
|
{
|
|
m_pSpy = pSpy;
|
|
}
|
|
CCRMSub()
|
|
{
|
|
m_pSpy = NULL;
|
|
}
|
|
|
|
DECLARE_NOT_AGGREGATABLE(CCRMSub)
|
|
DECLARE_GET_CONTROLLING_UNKNOWN()
|
|
|
|
BEGIN_COM_MAP(CCRMSub)
|
|
COM_INTERFACE_ENTRY(IComCRMEvents)
|
|
COM_INTERFACE_ENTRY_CHAIN(CSysLCESub)
|
|
END_COM_MAP()
|
|
|
|
virtual EventEnum EventType() { return CRM; }
|
|
virtual REFCLSID EventCLSID() { return CLSID_ComServiceEvents; }
|
|
virtual REFIID EventIID() { return IID_IComCRMEvents; }
|
|
|
|
///// IComCRMEvents
|
|
|
|
|
|
STDMETHOD(OnCRMRecoveryStart)(
|
|
COMSVCSEVENTINFO * pInfo,
|
|
GUID guidApp);
|
|
|
|
STDMETHOD(OnCRMRecoveryDone)(
|
|
COMSVCSEVENTINFO * pInfo,
|
|
GUID guidApp);
|
|
|
|
STDMETHOD(OnCRMCheckpoint)(
|
|
COMSVCSEVENTINFO * pInfo,
|
|
GUID guidApp);
|
|
|
|
STDMETHOD(OnCRMBegin)(
|
|
COMSVCSEVENTINFO * pInfo,
|
|
GUID guidClerkCLSID,
|
|
GUID guidActivity,
|
|
GUID guidTx,
|
|
WCHAR szProgIdCompensator[64], // NOTE: hardcoded
|
|
WCHAR szDescription[64]); // NOTE: hardcoded
|
|
|
|
STDMETHOD(OnCRMPrepare)(
|
|
COMSVCSEVENTINFO * pInfo,
|
|
GUID guidClerkCLSID);
|
|
|
|
STDMETHOD(OnCRMCommit)(
|
|
COMSVCSEVENTINFO * pInfo,
|
|
GUID guidClerkCLSID);
|
|
|
|
STDMETHOD(OnCRMAbort)(
|
|
COMSVCSEVENTINFO * pInfo,
|
|
GUID guidClerkCLSID);
|
|
|
|
STDMETHOD(OnCRMIndoubt)(
|
|
COMSVCSEVENTINFO * pInfo,
|
|
GUID guidClerkCLSID);
|
|
|
|
STDMETHOD(OnCRMDone)(
|
|
COMSVCSEVENTINFO * pInfo,
|
|
GUID guidClerkCLSID);
|
|
|
|
STDMETHOD(OnCRMRelease)(
|
|
COMSVCSEVENTINFO * pInfo,
|
|
GUID guidClerkCLSID);
|
|
|
|
STDMETHOD(OnCRMAnalyze)(
|
|
COMSVCSEVENTINFO * pInfo,
|
|
GUID guidClerkCLSID,
|
|
DWORD dwCrmRecordType,
|
|
DWORD dwRecordSize);
|
|
|
|
STDMETHOD(OnCRMWrite)(
|
|
COMSVCSEVENTINFO * pInfo,
|
|
GUID guidClerkCLSID,
|
|
BOOL bVariants,
|
|
DWORD dwRecordSize);
|
|
|
|
STDMETHOD(OnCRMForget)(
|
|
COMSVCSEVENTINFO * pInfo,
|
|
GUID guidClerkCLSID);
|
|
|
|
STDMETHOD(OnCRMForce)(
|
|
COMSVCSEVENTINFO * pInfo,
|
|
GUID guidClerkCLSID);
|
|
|
|
STDMETHOD(OnCRMDeliver)(
|
|
COMSVCSEVENTINFO * pInfo,
|
|
GUID guidClerkCLSID,
|
|
BOOL bVariants,
|
|
DWORD dwRecordSize);
|
|
|
|
};
|
|
#endif //__CRMSUB_H__
|
|
|
|
|