pykd/pykd/dbgeventcb.h
SND\EreTIk_cp b73ccc1a37 [~] dbgEventCallbacks moved to heap memory, add rererences
[~] refactered syncronisation for map of synthetic symbols
[~] refactering: events callbacks inherited from DebugBaseEventCallbacks now

git-svn-id: https://pykd.svn.codeplex.com/svn@62100 9b283d60-5439-405e-af05-b73fd8c4d996
2011-03-02 18:37:42 +00:00

53 lines
1.3 KiB
C++

#pragma once
// monitoring and processing debug events
class DbgEventCallbacks : public DebugBaseEventCallbacks
{
public:
// may generate HRESULT exception if not registered
DbgEventCallbacks();
void Deregister();
private:
/////////////////////////////////////////////////////////////////////////////////
// IUnknown interface implementation
STDMETHOD_(ULONG, AddRef)();
STDMETHOD_(ULONG, Release)();
/////////////////////////////////////////////////////////////////////////////////
// IDebugEventCallbacks interface implementation
STDMETHOD(GetInterestMask)(
__out PULONG Mask
);
STDMETHOD(ChangeSymbolState)(
__in ULONG Flags,
__in ULONG64 Argument
);
/////////////////////////////////////////////////////////////////////////////////
HRESULT doSymbolsLoaded(
ULONG64 moduleBase
);
/////////////////////////////////////////////////////////////////////////////////
volatile LONG m_ReferenceCount;
IDebugClient *m_dbgClient;
IDebugSymbols3 *m_dbgSymbols3;
};
/////////////////////////////////////////////////////////////////////////////////
// global singleton
extern DbgEventCallbacks *dbgEventCallbacks;
/////////////////////////////////////////////////////////////////////////////////