/*++ Copyright (c) 2000 Microsoft Corporation Module Name: wtrace.idl Abstract: This module contains the WinTrace interfaces. Author: Michael Tsang (MikeTs) 29-Jun-2000 Environment: User mode Revision History: --*/ import "WTypes.idl"; [ uuid(5484d3bb-d1f6-47fd-93c1-130252f31660), version(1.0), pointer_default(unique) ] interface WTServer { // // Implementation constants // const int MAX_PROCNAME_LEN = 32; const int NUM_TRIGPTS = 10; typedef struct _SETTINGS { int iVerboseLevel; int iTraceLevel; DWORD dwfSettings; } SETTINGS, *PSETTINGS; // // Settings flags (Settings.dwfSettings) // const DWORD SETTINGS_TRIGMODE_ENABLED = 0x00000001; const DWORD SETTINGS_TRACE_TO_DEBUGGER = 0x00000002; typedef struct _TRIGPT { char szProcName[MAX_PROCNAME_LEN]; DWORD dwfTrigPt; } TRIGPT, *PTRIGPT; // // Trigger Point flags (TrigPt.dwfTrigPt) // const DWORD TRIGPT_TRACE_ENABLED = 0x00000001; const DWORD TRIGPT_BREAK_ENABLED = 0x00000002; typedef struct _CLIENTINFO { SETTINGS Settings; TRIGPT TrigPts[NUM_TRIGPTS]; } CLIENTINFO, *PCLIENTINFO; typedef DWORD_PTR HCLIENT; HCLIENT WTRegisterClient( [in] handle_t hBinding, [in,string] unsigned char *pszClientName ); void WTDeregisterClient( [in] handle_t hBinding, [in] HCLIENT hClient ); void WTTraceProc( [in] handle_t hBinding, [in] HCLIENT hClient, [in] DWORD dwThreadId, [in] int iIndentLevel, [in,string] unsigned char *pszText ); void WTTraceMsg( [in] handle_t hBinding, [in] HCLIENT hClient, [in,string] unsigned char *pszMsg ); void WTDispatchServerRequests( [in] handle_t hBinding, [in] HCLIENT hClient ); [callback] void WTGetClientInfo( [out] PCLIENTINFO ClientInfo ); [callback] void WTSetClientInfo( [in] PCLIENTINFO ClientInfo ); }