windows-nt/Source/XPSP1/NT/drivers/wdm/input/tabletpc/wintrace/wtrace.idl
2020-09-26 16:20:57 +08:00

117 lines
2.2 KiB
Plaintext

/*++
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
);
}