mirror of
https://github.com/ivellioscolin/pykd.git
synced 2025-04-20 03:23:23 +08:00

[~] 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
53 lines
1.3 KiB
C++
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;
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////
|