84 lines
1.8 KiB
C
84 lines
1.8 KiB
C
|
/*++ BUILD Version: 0001 // Increment this if a change has global effects
|
||
|
|
||
|
Copyright (c) 1991-1993 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
ntiolog.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
Constant definitions for the I/O error code log values.
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Jeff Havens (jhavens) 21-Aug-1991
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#ifndef _NTIOLOG_
|
||
|
#define _NTIOLOG_
|
||
|
|
||
|
//
|
||
|
// For reference here only. Defined in io.h
|
||
|
//
|
||
|
|
||
|
#define IO_TYPE_ERROR_LOG 0x0000000b
|
||
|
#define IO_TYPE_ERROR_MESSAGE 0x0000000c
|
||
|
|
||
|
// begin_ntddk
|
||
|
//
|
||
|
// Define I/O Driver error log packet structure. This structure is filled in
|
||
|
// by the driver.
|
||
|
//
|
||
|
|
||
|
typedef struct _IO_ERROR_LOG_PACKET {
|
||
|
UCHAR MajorFunctionCode;
|
||
|
UCHAR RetryCount;
|
||
|
USHORT DumpDataSize;
|
||
|
USHORT NumberOfStrings;
|
||
|
USHORT StringOffset;
|
||
|
USHORT EventCategory;
|
||
|
NTSTATUS ErrorCode;
|
||
|
ULONG UniqueErrorValue;
|
||
|
NTSTATUS FinalStatus;
|
||
|
ULONG SequenceNumber;
|
||
|
ULONG IoControlCode;
|
||
|
LARGE_INTEGER DeviceOffset;
|
||
|
ULONG DumpData[1];
|
||
|
}IO_ERROR_LOG_PACKET, *PIO_ERROR_LOG_PACKET;
|
||
|
|
||
|
//
|
||
|
// Define the I/O error log message. This message is sent by the error log
|
||
|
// thread over the lpc port.
|
||
|
//
|
||
|
|
||
|
typedef struct _IO_ERROR_LOG_MESSAGE {
|
||
|
USHORT Type;
|
||
|
USHORT Size;
|
||
|
USHORT DriverNameLength;
|
||
|
LARGE_INTEGER TimeStamp;
|
||
|
ULONG DriverNameOffset;
|
||
|
IO_ERROR_LOG_PACKET EntryData;
|
||
|
}IO_ERROR_LOG_MESSAGE, *PIO_ERROR_LOG_MESSAGE;
|
||
|
|
||
|
//
|
||
|
// Define the maximum message size that will be sent over the LPC to the
|
||
|
// application reading the error log entries.
|
||
|
//
|
||
|
|
||
|
#define IO_ERROR_LOG_MESSAGE_LENGTH PORT_MAXIMUM_MESSAGE_LENGTH
|
||
|
|
||
|
//
|
||
|
// Define the maximum packet size a driver can allocate.
|
||
|
//
|
||
|
|
||
|
#define ERROR_LOG_MAXIMUM_SIZE (IO_ERROR_LOG_MESSAGE_LENGTH + sizeof(IO_ERROR_LOG_PACKET) - \
|
||
|
sizeof(IO_ERROR_LOG_MESSAGE) - (sizeof(WCHAR) * 40))
|
||
|
|
||
|
// end_ntddk
|
||
|
|
||
|
#endif // _NTIOLOG_
|