reactos/sdk/include/wdf/kmdf/1.17/wdfbugcodes.h
Victor Perevertkin 40462c924e
[KMDF] Add Kernel-Mode Driver Framework headers v1.17
Taken from Microsoft GitHub repo:
d9c6040fe9

Licensed under MIT
2020-11-02 22:07:15 +03:00

146 lines
3.1 KiB
C

/*++
Copyright (c) Microsoft Corporation. All rights reserved.
_WdfVersionBuild_
Module Name:
wdfbugcodes.h
Abstract:
Lists bugcheck subcode values for the WDF_VIOLATION bugcheck code
Environment:
kernel mode only
Revision History:
--*/
//
// NOTE: This header is generated by stubwork. Please make any
// modifications to the corresponding template files
// (.x or .y) and use stubwork to regenerate the header
//
#ifndef _WDFBUGCODES_H_
#define _WDFBUGCODES_H_
#ifndef WDF_EXTERN_C
#ifdef __cplusplus
#define WDF_EXTERN_C extern "C"
#define WDF_EXTERN_C_START extern "C" {
#define WDF_EXTERN_C_END }
#else
#define WDF_EXTERN_C
#define WDF_EXTERN_C_START
#define WDF_EXTERN_C_END
#endif
#endif
WDF_EXTERN_C_START
#if (NTDDI_VERSION >= NTDDI_WIN2K)
//
// These values are used in Parameter 1 in the bugcheck data
//
// NOTE: Do not change these codes, only add to the end.
// The OCA analysis and debugger tools will look at
// these codes to perform fault analysis.
//
typedef enum _WDF_BUGCHECK_CODES {
WDF_POWER_ROUTINE_TIMED_OUT = 0x1,
WDF_RECURSIVE_LOCK = 0x2,
WDF_VERIFIER_FATAL_ERROR = 0x3,
WDF_REQUIRED_PARAMETER_IS_NULL = 0x4,
WDF_INVALID_HANDLE = 0x5,
WDF_REQUEST_FATAL_ERROR = 0x6,
WDF_OBJECT_ERROR = 0x7,
WDF_DMA_FATAL_ERROR = 0x8,
WDF_INVALID_INTERRUPT = 0x9,
WDF_QUEUE_FATAL_ERROR = 0xA,
WDF_INVALID_LOCK_OPERATION = 0xB,
WDF_PNP_FATAL_ERROR = 0xC,
WDF_POWER_MULTIPLE_PPO = 0xD,
WDF_VERIFIER_IRQL_MISMATCH = 0xE,
WDF_VERIFIER_CRITICAL_REGION_MISMATCH = 0xF,
} WDF_BUGCHECK_CODES;
typedef enum _WDF_REQUEST_FATAL_ERROR_CODES {
WDF_REQUEST_FATAL_ERROR_NO_MORE_STACK_LOCATIONS = 0x1,
WDF_REQUEST_FATAL_ERROR_NULL_IRP = 0x2,
WDF_REQUEST_FATAL_ERROR_REQUEST_ALREADY_SENT = 0x3,
WDF_REQUEST_FATAL_ERROR_INFORMATION_LENGTH_MISMATCH = 0x4,
WDF_REQUEST_FATAL_ERROR_REQUEST_NOT_IN_QUEUE = 05,
} WDF_REQUEST_FATAL_ERROR_CODES;
typedef struct _WDF_POWER_ROUTINE_TIMED_OUT_DATA {
//
// Current power state associated with the timed out device
//
WDF_DEVICE_POWER_STATE PowerState;
//
// Current power policy state associated with the timed out device
//
WDF_DEVICE_POWER_POLICY_STATE PowerPolicyState;
//
// The device object for the timed out device
//
PDEVICE_OBJECT DeviceObject;
//
// The handle for the timed out device
//
WDFDEVICE Device;
//
// The thread which is stuck
//
PKTHREAD TimedOutThread;
} WDF_POWER_ROUTINE_TIMED_OUT_DATA;
typedef struct _WDF_REQUEST_FATAL_ERROR_INFORMATION_LENGTH_MISMATCH_DATA {
WDFREQUEST Request;
PIRP Irp;
ULONG OutputBufferLength;
ULONG_PTR Information;
UCHAR MajorFunction;
} WDF_REQUEST_FATAL_ERROR_INFORMATION_LENGTH_MISMATCH_DATA,
*PWDF_REQUEST_FATAL_ERROR_INFORMATION_LENGTH_MISMATCH_DATA;
typedef struct _WDF_QUEUE_FATAL_ERROR_DATA {
WDFQUEUE Queue;
WDFREQUEST Request;
NTSTATUS Status;
} WDF_QUEUE_FATAL_ERROR_DATA, *PWDF_QUEUE_FATAL_ERROR_DATA;
#endif // (NTDDI_VERSION >= NTDDI_WIN2K)
WDF_EXTERN_C_END
#endif // _WDFBUGCODES_H_