// 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; }; };