2025-04-27 07:49:33 -04:00

135 lines
3.4 KiB
Plaintext

// VSAPlug.idl : IDL source for VSAPlug.dll
//
// This file will be processed by the MIDL tool to
// produce the type library (VSAPlug.tlb) and marshalling code.
import "oaidl.idl";
import "ocidl.idl";
import "lecplugin.idl";
/*
[object, local, 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
);
};
[local, restricted, object, 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
);
};
[local, object, 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] ULONG ulEventBufferSize,
[in, size_is(ulEventBufferSize)] unsigned char rgEventBuffer[]
);
// @meth HRESULT | Shutdown | Instructs the plugin to shutdown (about to be released)
HRESULT Shutdown ();
};
*/
[object, uuid(0F042DDE-305D-42de-8F71-2013FA3D2203)]
interface IVSAPluginController : IUnknown
{
HRESULT SetWriteHandle(
[in] unsigned __int64 hWrite);
HRESULT ActivateEventSource(
[in] REFGUID guidEventSourceId);
HRESULT DeactivateEventSource(
[in] REFGUID guidEventSourceId);
HRESULT SetBlockOnOverflow(
[in] BOOL fBlock
);
};
[local, object, uuid(DE72CE05-34E5-4925-9216-5066C3CD9B50)]
interface IVSAPluginControllerSink : IUnknown
{
HRESULT SetPluginController(
[in] IVSAPluginController *pSink,
[in] DWORD dwProcessID
);
};
[
uuid(F858D8C4-63B0-4980-8AE2-1CA42D487817),
version(1.0),
helpstring("VSAPlug 1.0 Type Library")
]
library VSAPLUGLib
{
importlib("stdole32.tlb");
importlib("stdole2.tlb");
[
uuid(2169E810-FE80-4107-AE18-798D50684A71),
helpstring("VSAPlugIn Class")
]
coclass VSAPlugIn
{
[default] interface ISystemDebugPlugin;
interface IVSAPluginController;
};
};