123 lines
3.7 KiB
Plaintext
123 lines
3.7 KiB
Plaintext
//-----------------------------------------------------------------------------
|
|
// Microsoft VSEE
|
|
//
|
|
// Microsoft Confidential
|
|
// Copyright 1995-1999 Microsoft Corporation. All Rights Reserved.
|
|
//
|
|
// @doc EXTERNAL
|
|
// @module LECPlugin.idl - Interface definitions for support of the Analyzer Plugin |
|
|
//
|
|
// @owner AllenD
|
|
//-----------------------------------------------------------------------------
|
|
|
|
import "oaidl.idl";
|
|
import "ocidl.idl";
|
|
|
|
/*-----------------------------------------------------------------------------
|
|
Name: ISystemDebugPluginControl
|
|
|
|
@interface ISystemDebugPluginControl | Analyzer plugin control interface
|
|
|
|
Implemented by the Analyzer LEC. Called by the plugin controller.
|
|
|
|
@owner AllenD
|
|
|
|
@base public | IUnknown
|
|
-----------------------------------------------------------------------------*/
|
|
[uuid(6c736d3F-7E40-41e2-9877-8CA63B493464)]
|
|
interface ISystemDebugPluginControl : IUnknown
|
|
{
|
|
// @meth HRESULT | LoadPlugin | Load the desired plugin
|
|
HRESULT LoadPlugin (
|
|
[in] REFCLSID clsidPlugin,
|
|
[in] IUnknown * punkPluginData,
|
|
[out] DWORD * pdwPluginCookie
|
|
);
|
|
|
|
// @meth HRESULT | UnloadPlugin | Release the active plugin
|
|
HRESULT UnloadPlugin (
|
|
[in] DWORD dwPluginCookie
|
|
);
|
|
};
|
|
|
|
/*-----------------------------------------------------------------------------
|
|
Name: ISystemDebugPluginAttachment
|
|
|
|
@interface ISystemDebugPluginAttachment | Analyzer plugin attachment interface
|
|
|
|
Implemented by the Analyzer LEC. Called by the plugin.
|
|
|
|
@owner AllenD
|
|
|
|
@base public | IUnknown
|
|
-----------------------------------------------------------------------------*/
|
|
[uuid(6c736d15-F7AC-4114-B8E6-50908F28AC5B)]
|
|
interface ISystemDebugPluginAttachment : IUnknown
|
|
{
|
|
// @meth HRESULT | ActivateEventSource | Activates a specified event source
|
|
HRESULT ActivateEventSource (
|
|
[in] DWORD dwPluginId,
|
|
[in] REFGUID guidEventSourceId
|
|
);
|
|
|
|
// @meth HRESULT | DeactivateEventSource | Deactivates the specified event source
|
|
HRESULT DeactivateEventSource (
|
|
[in] DWORD dwPluginId,
|
|
[in] REFGUID guidEventSourceId
|
|
);
|
|
|
|
// @meth HRESULT | StartFiring | A request to start delivery of events to the plugin
|
|
HRESULT StartFiring (
|
|
[in] DWORD dwPluginId
|
|
);
|
|
|
|
// @meth HRESULT | StopFiring | A request to stop delivery of events to the plugin
|
|
HRESULT StopFiring (
|
|
[in] DWORD dwPluginId
|
|
);
|
|
|
|
// @meth HRESULT | SetBlockOnOverflow | A request to to set/reset the block on overflow flag
|
|
HRESULT SetBlockOnOverflow (
|
|
[in] BOOL fBlock
|
|
);
|
|
|
|
// @meth HRESULT | GetMachineInfo | Retrieves performance counter information from the local machine
|
|
HRESULT GetMachineInfo (
|
|
[out] LARGE_INTEGER * pliTimebase,
|
|
[out] LARGE_INTEGER * pliFrequency
|
|
);
|
|
};
|
|
|
|
/*-----------------------------------------------------------------------------
|
|
Name: ISystemDebugPlugin
|
|
|
|
@interface ISystemDebugPlugin | Analyzer plugin interface
|
|
|
|
Implemented by the plugin.
|
|
|
|
@owner AllenD
|
|
|
|
@base public | IUnknown
|
|
-----------------------------------------------------------------------------*/
|
|
[uuid(6c736dDC-00F1-4c63-ABD8-638E1381B73B)]
|
|
interface ISystemDebugPlugin : IUnknown
|
|
{
|
|
// @meth HRESULT | Startup | Instructs the plugin to start, providing context data
|
|
HRESULT Startup (
|
|
[in] DWORD dwPluginId,
|
|
[in] IUnknown * punkPluginData,
|
|
[in] ISystemDebugPluginAttachment * pAttachPoint
|
|
);
|
|
|
|
// @meth HRESULT | FireEvents | Delivers events to the plugin
|
|
HRESULT FireEvents (
|
|
[in] REFGUID guidFiringComponent,
|
|
[in] ULONG ulEventBufferSize,
|
|
[in, size_is(ulEventBufferSize)] unsigned char rgEventBuffer[]
|
|
);
|
|
|
|
// @meth HRESULT | Shutdown | Instructs the plugin to shutdown (about to be released)
|
|
HRESULT Shutdown ();
|
|
};
|
|
|