2025-04-27 07:49:33 -04:00

92 lines
1.3 KiB
C

/*++
Copyright (c) 1997 Microsoft Corporation
Module Name:
irptrace.h
Abstract:
This module contains public declarations and definitions for tracing
and debugging IRP problems. This module uses the generic TRACE_LOG
facility in tracelog.h.
Author:
Keith Moore (keithmo) 01-May-1997
Revision History:
--*/
#ifndef _IRPTRACE_H_
#define _IRPTRACE_H_
#if IRP_DEBUG
#if defined(__cplusplus)
extern "C" {
#endif // __cplusplus
#include <tracelog.h>
//
// This defines the entry written to the trace log.
//
#define IRP_TRACE_INITIATE 0
#define IRP_TRACE_SUCCESS 1
#define IRP_TRACE_FAILURE 2
#define IRP_TRACE_CANCEL 3
typedef struct _IRP_TRACE_LOG_ENTRY {
PIRP Irp;
ULONG Operation;
PVOID Thread;
PVOID Context;
} IRP_TRACE_LOG_ENTRY, *PIRP_TRACE_LOG_ENTRY;
//
// Manipulators.
//
PTRACE_LOG
CreateIrpTraceLog(
IN LONG LogSize
);
VOID
DestroyIrpTraceLog(
IN PTRACE_LOG Log
);
VOID
WriteIrpTraceLog(
IN PTRACE_LOG Log,
IN PIRP Irp,
IN ULONG Operation,
IN PVOID Context
);
#if defined(__cplusplus)
} // extern "C"
#endif // __cplusplus
#endif // IRP_DEBUG
#endif // _IRPTRACE_H_