135 lines
3.4 KiB
Plaintext
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;
|
|
};
|
|
};
|