27 "The BIOS has reprogrammed the bus numbers of an active PCI device "
28 "(!devstack %DevObj) during a dock or undock!"
34 "A device in the system did not update it's PMCSR register in the spec "
35 "mandated time (!devstack %DevObj, Power state D%Ulong)"
41 "A driver controlling a PCI device has tried to access OS controlled "
42 "configuration space registers (!devstack %DevObj, Offset 0x%Ulong1, "
49 "A driver controlling a PCI device has tried to read or write from an "
50 "invalid space using IRP_MN_READ/WRITE_CONFIG or via BUS_INTERFACE_STANDARD."
51 " NB: These functions take WhichSpace parameters of the form PCI_WHICHSPACE_*"
52 " and not a BUS_DATA_TYPE (!devstack %DevObj, WhichSpace 0x%Ulong1)"
95 if ((BusNumbers[0] ==
PdoExtension->Dependent.type1.PrimaryBus) &&
96 (BusNumbers[1] ==
PdoExtension->Dependent.type1.SecondaryBus) &&
97 (BusNumbers[2] ==
PdoExtension->Dependent.type1.SubordinateBus))
SINGLE_LIST_ENTRY PciFdoExtensionListHead
#define NT_SUCCESS(StatCode)
#define PCI_VERIFIER_CODES
VOID NTAPI PciReadDeviceConfig(IN PPCI_PDO_EXTENSION DeviceExtension, IN PVOID Buffer, IN ULONG Offset, IN ULONG Length)
#define KeWaitForSingleObject(pEvt, foo, a, b, c)
#define KeSetEvent(pEvt, foo, foo2)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble * u
#define KeLeaveCriticalRegion()
#define KeEnterCriticalRegion()
_In_ PIRP _In_ PIO_COMPLETION_ROUTINE _In_ PVOID Context
#define UNREFERENCED_PARAMETER(P)
BOOLEAN NTAPI VfIsVerificationEnabled(IN VF_OBJECT_TYPE VfObjectType, IN PVOID Object OPTIONAL)
VOID __cdecl VfFailSystemBIOS(IN ULONG BugCheckMajorCode, IN ULONG BugCheckMinorCode, IN VF_FAILURE_CLASS FailureClass, IN OUT PULONG AssertionControl, IN PSTR DebuggerMessageText, IN PSTR ParameterFormatString,...)
static VOID NTAPI PciVerifierCheckBridgeBusNumbers(_In_ PPCI_PDO_EXTENSION PdoExtension)
Reports a bridge whose bus numbers differ from the ones this driver tracks.
VOID NTAPI PciVerifierInit(IN PDRIVER_OBJECT DriverObject)
DRIVER_NOTIFICATION_CALLBACK_ROUTINE PciVerifierProfileChangeCallback
PPCI_VERIFIER_DATA NTAPI PciVerifierRetrieveFailureData(IN ULONG FailureCode)
PCI_VERIFIER_DATA PciVerifierFailureTable[PCI_VERIFIER_CODES]
PVOID PciVerifierNotificationHandle
BOOLEAN PciVerifierRegistered
static VOID NTAPI PciVerifierCheckAllBridges(VOID)
Checks every active bridge after firmware had the chance to reprogram it.
VOID NTAPI PciVerifierRelease(VOID)
Drops the hardware profile notification taken by PciVerifierInit.
NTSTATUS NTAPI IoRegisterPlugPlayNotification(_In_ IO_NOTIFICATION_EVENT_CATEGORY EventCategory, _In_ ULONG EventCategoryFlags, _In_opt_ PVOID EventCategoryData, _In_ PDRIVER_OBJECT DriverObject, _In_ PDRIVER_NOTIFICATION_CALLBACK_ROUTINE CallbackRoutine, _Inout_opt_ PVOID Context, _Out_ PVOID *NotificationEntry)
NTSTATUS NTAPI IoUnregisterPlugPlayNotification(_In_ PVOID NotificationEntry)
VF_FAILURE_CLASS FailureClass
PCHAR DebuggerMessageText
struct _SINGLE_LIST_ENTRY * Next
#define FIELD_OFFSET(t, f)
@ VFFAILURE_FAIL_UNDER_DEBUGGER
_In_ PWDFDEVICE_INIT _In_ PFN_WDF_DEVICE_SHUTDOWN_NOTIFICATION Notification
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
#define IsEqualGUIDAligned(guid1, guid2)
_In_ PVOID NotificationStructure
@ EventCategoryHardwareProfileChange
#define PCI_CARDBUS_BRIDGE_TYPE