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.
123 lines
3.2 KiB
123 lines
3.2 KiB
/*++
|
|
|
|
Copyright (c) 2000-2002 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
uctrace.h
|
|
|
|
Abstract:
|
|
|
|
This module contains public declarations and definitions for tracing
|
|
and debugging client code.
|
|
|
|
Author:
|
|
|
|
Rajesh Sundaram (rajeshsu) - 17th July 2001.
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
|
|
#ifndef _UC_TRACE_H_
|
|
|
|
#define _UC_TRACE_H_
|
|
|
|
|
|
//
|
|
// This defines the entry written to the trace log.
|
|
//
|
|
|
|
typedef struct _UC_TRACE_LOG_ENTRY
|
|
{
|
|
USHORT Action;
|
|
USHORT Processor;
|
|
PEPROCESS pProcess;
|
|
PETHREAD pThread;
|
|
|
|
PVOID pContext1;
|
|
PVOID pContext2;
|
|
PVOID pContext3;
|
|
PVOID pContext4;
|
|
|
|
PVOID pFileName;
|
|
USHORT LineNumber;
|
|
|
|
} UC_TRACE_LOG_ENTRY, *PUC_TRACE_LOG_ENTRY;
|
|
|
|
|
|
//
|
|
// Action codes.
|
|
//
|
|
// N.B. These codes must be contiguous, starting at zero. If you update
|
|
// this list, you must also update the corresponding array in
|
|
// ul\ulkd\filt.c.
|
|
//
|
|
|
|
|
|
|
|
#define UC_TRACE_LOG_SIGNATURE MAKE_SIGNATURE('UcLg')
|
|
|
|
//
|
|
// Manipulators.
|
|
//
|
|
|
|
PTRACE_LOG
|
|
UcCreateTraceLog(
|
|
IN LONG LogSize,
|
|
IN LONG ExtraBytesInHeader
|
|
);
|
|
|
|
VOID
|
|
UcDestroyTraceLog(
|
|
IN PTRACE_LOG pLog
|
|
);
|
|
|
|
VOID
|
|
UcWriteTraceLog(
|
|
IN PTRACE_LOG pLog,
|
|
IN USHORT Action,
|
|
IN PVOID pContext1,
|
|
IN PVOID pContext2,
|
|
IN PVOID pContext3,
|
|
IN PVOID pContext4,
|
|
IN PVOID pFileName,
|
|
IN USHORT LineNumber
|
|
);
|
|
|
|
#if DBG
|
|
|
|
#define CREATE_UC_TRACE_LOG( ptr, size, extra ) \
|
|
(ptr) = UcCreateTraceLog( (size), (extra) )
|
|
|
|
#define DESTROY_UC_TRACE_LOG( ptr ) \
|
|
do \
|
|
{ \
|
|
UcDestroyTraceLog( ptr ); \
|
|
(ptr) = NULL; \
|
|
} while (FALSE, FALSE)
|
|
|
|
#define UC_WRITE_TRACE_LOG( log, act, pcon, preq, pirp, status) \
|
|
UcWriteTraceLog( \
|
|
(log), \
|
|
(act), \
|
|
(PVOID)(pcon), \
|
|
(PVOID)(preq), \
|
|
(PVOID)(pirp), \
|
|
(PVOID)(status), \
|
|
__FILE__, \
|
|
__LINE__ \
|
|
)
|
|
|
|
#else // !DBG
|
|
|
|
#define CREATE_UC_TRACE_LOG( ptr, size, extra ) NOP_FUNCTION
|
|
#define DESTROY_UC_TRACE_LOG( ptr ) NOP_FUNCTION
|
|
#define UC_WRITE_TRACE_LOG( log, act, pcon, preq, pirp, status) NOP_FUNCTION
|
|
|
|
#endif // !DBG
|
|
|
|
|
|
#endif // _UC_TRACE_H_
|
|
|