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.
115 lines
2.5 KiB
115 lines
2.5 KiB
/*++
|
|
|
|
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
|
|
);
|
|
|
|
|