Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*++
Copyright (c) 1992 Microsoft Corporation
Module Name:
trace.h
Abstract:
This is the header file that describes the constants, data structures and procedure prototypes used by the general purpose trace. The trace package is a debug facility for generating arbitrary events into a circular buffer. The debugger than has a !trace command to dump out the last N events from a trace buffer.
Author:
Steve Wood (stevewo) 11-Apr-1994
Revision History:
--*/
#define RTL_TRACE_MAX_ARGUMENTS_FOR_EVENT 8
typedef struct _RTL_TRACE_RECORD { ULONG Size; USHORT EventId; USHORT NumberOfArguments; ULONG Arguments[ RTL_TRACE_MAX_ARGUMENTS_FOR_EVENT ]; } RTL_TRACE_RECORD, *PRTL_TRACE_RECORD;
typedef struct _RTL_TRACE_BUFFER { ULONG Signature; USHORT NumberOfRecords; USHORT NumberOfEventIds; PRTL_TRACE_RECORD StartBuffer; PRTL_TRACE_RECORD EndBuffer; PRTL_TRACE_RECORD ReadRecord; PRTL_TRACE_RECORD WriteRecord; PCHAR EventIdFormatString[ 1 ]; } RTL_TRACE_BUFFER, *PRTL_TRACE_BUFFER;
#define RTL_TRACE_SIGNATURE 0xFEBA1234
#define RTL_TRACE_FILLER_EVENT_ID 0xFFFF
#define RTL_TRACE_NEXT_RECORD( L, P ) (PRTL_TRACE_RECORD) \
(((PCHAR)(P) + (P)->Size) >= (PCHAR)(L)->EndBuffer ? (L)->StartBuffer : \ ((PCHAR)(P) + (P)->Size) \ )
NTSYSAPI PRTL_TRACE_BUFFER RtlCreateTraceBuffer( IN ULONG BufferSize, IN ULONG NumberOfEventIds );
NTSYSAPI void RtlDestroyTraceBuffer( IN PRTL_TRACE_BUFFER TraceBuffer );
NTSYSAPI void RtlTraceEvent( IN PRTL_TRACE_BUFFER TraceBuffer, IN ULONG EventId, IN ULONG NumberOfArguments, ... );
|