Source code of Windows XP (NT5)
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.4 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
);