116 lines
2.4 KiB
C
116 lines
2.4 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 2000 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
vibugcheck.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
This header defines the internal prototypes and constants required for
|
||
|
verifier bugchecks. The file is meant to be included by vfbugcheck.c only.
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Adrian J. Oney (adriao) 20-Apr-1998
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
AdriaO 02/21/2000 - Moved from ntos\io\ioassert.h
|
||
|
|
||
|
--*/
|
||
|
|
||
|
//
|
||
|
// This structure and the table using it define the types and ordering of
|
||
|
// IopDriverCorrectnessCheck (see this function for a more detailed explanation)
|
||
|
//
|
||
|
typedef struct _DCPARAM_TYPE_ENTRY {
|
||
|
|
||
|
ULONG DcParamMask;
|
||
|
PSTR DcParamName;
|
||
|
|
||
|
} DCPARAM_TYPE_ENTRY, *PDCPARAM_TYPE_ENTRY;
|
||
|
|
||
|
typedef struct _DC_CHECK_DATA {
|
||
|
|
||
|
PULONG Control;
|
||
|
ULONG AssertionControl;
|
||
|
ULONG BugCheckMajor;
|
||
|
VFMESSAGE_ERRORID MessageID;
|
||
|
PVOID CulpritAddress;
|
||
|
ULONG_PTR OffsetIntoImage;
|
||
|
PUNICODE_STRING DriverName;
|
||
|
PCVFMESSAGE_CLASS AssertionClass;
|
||
|
PCSTR MessageTextTemplate;
|
||
|
PVOID *DcParamArray;
|
||
|
PCSTR ClassText;
|
||
|
PSTR AssertionText;
|
||
|
BOOLEAN InVerifierList;
|
||
|
|
||
|
} DC_CHECK_DATA, *PDC_CHECK_DATA;
|
||
|
|
||
|
VOID
|
||
|
ViBucheckProcessParams(
|
||
|
IN PVFMESSAGE_TEMPLATE_TABLE MessageTable OPTIONAL,
|
||
|
IN VFMESSAGE_ERRORID MessageID,
|
||
|
IN PCSTR MessageParamFormat,
|
||
|
IN va_list * MessageParameters,
|
||
|
IN PVOID * DcParamArray,
|
||
|
OUT PDC_CHECK_DATA DcCheckData
|
||
|
);
|
||
|
|
||
|
NTSTATUS
|
||
|
FASTCALL
|
||
|
ViBugcheckProcessMessageText(
|
||
|
IN ULONG MaxOutputBufferSize,
|
||
|
OUT PSTR OutputBuffer,
|
||
|
IN OUT PDC_CHECK_DATA DcCheckData
|
||
|
);
|
||
|
|
||
|
BOOLEAN
|
||
|
FASTCALL
|
||
|
ViBugcheckApplyControl(
|
||
|
IN OUT PDC_CHECK_DATA DcCheckData
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
FASTCALL
|
||
|
ViBugcheckHalt(
|
||
|
IN PDC_CHECK_DATA DcCheckData
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
FASTCALL
|
||
|
ViBugcheckPrintBuffer(
|
||
|
IN PDC_CHECK_DATA DcCheckData
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
FASTCALL
|
||
|
ViBugcheckPrintParamData(
|
||
|
IN PDC_CHECK_DATA DcCheckData
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
FASTCALL
|
||
|
ViBugcheckPrintUrl(
|
||
|
IN PDC_CHECK_DATA DcCheckData
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
FASTCALL
|
||
|
ViBugcheckPrompt(
|
||
|
IN PDC_CHECK_DATA DcCheckData,
|
||
|
OUT PBOOLEAN ExitAssertion
|
||
|
);
|
||
|
|
||
|
PCHAR
|
||
|
KeBugCheckUnicodeToAnsi(
|
||
|
IN PUNICODE_STRING UnicodeString,
|
||
|
OUT PCHAR AnsiBuffer,
|
||
|
IN ULONG MaxAnsiLength
|
||
|
);
|
||
|
|
||
|
|