51 if (!DeviceExtension->IsExtendedConfigReachable)
64 DPRINT1(
"PCI device %p extended capabilities list is broken\n",
73 if (
Header.CapabilityID == 0xFFFF)
76 if (
Header.CapabilityID != CapabilityId)
124 ExpressCapabilities));
144 DPRINT1(
"PCI - Express capability at 0x%x, port type %u, version %u\n",
struct _PCI_PDO_EXTENSION * PPCI_PDO_EXTENSION
#define PCI_IS_ROOT_FDO(x)
#define PCI_LEGACY_CONFIG_LENGTH
UCHAR NTAPI PciReadDeviceCapability(IN PPCI_PDO_EXTENSION DeviceExtension, IN UCHAR Offset, IN ULONG CapabilityId, OUT PPCI_CAPABILITIES_HEADER Buffer, IN ULONG Length)
VOID NTAPI PciReadDeviceConfig(IN PPCI_PDO_EXTENSION DeviceExtension, IN PVOID Buffer, IN ULONG Offset, IN ULONG Length)
static BOOLEAN NTAPI PciIsExtendedCapabilityOffsetValid(_In_ ULONG Offset)
VOID NTAPI PciGetExpressCapabilities(_Inout_ PPCI_PDO_EXTENSION PdoExtension)
Records the Express capability of a new function and whether its extended configuration space can be ...
ULONG NTAPI PciReadDeviceExtendedCapability(_In_ PPCI_PDO_EXTENSION DeviceExtension, _In_ ULONG CapabilityId, _Out_writes_bytes_(Length) PPCI_EXPRESS_ENHANCED_CAPABILITY_HEADER Buffer, _In_ ULONG Length)
Finds an extended capability and reads it into the caller's buffer.
#define _Out_writes_bytes_(s)
#define RTL_SIZEOF_THROUGH_FIELD(type, field)
_In_ ULONG _In_ ULONG Offset
_In_ ULONG _In_ ULONG _In_ ULONG Length
#define PCI_HACK_NO_EXPRESS_CAP
PCI_CAPABILITIES_HEADER Header
PCI_EXPRESS_CAPABILITIES_REGISTER ExpressCapabilities
PDEVICE_OBJECT PhysicalDeviceObject
BOOLEAN IsExtendedConfigReachable
#define PCI_EXTENDED_CONFIG_LENGTH
#define PCI_CAPABILITY_ID_PCI_EXPRESS