59 SecondaryExtension.Next,
63 DPRINT1(
"PCI - FDO ext 0x%p has no %s arbiter to hand out.\n",
115 DPRINT1(
"PCI Not creating arbiters for subtractive bus %u\n",
126 CurrentInterface = *Interfaces;
127 if (CurrentInterface->
Signature == ArbiterType)
break;
135 DPRINT1(
"PCI - FDO ext 0x%p no %s arbiter.\n",
146 if (!ArbiterInterface)
break;
150 ArbiterInterface->
Interface = CurrentInterface;
163 &ArbiterInterface->
Header,
168 DPRINT1(
"PCI - FDO ext 0x%p %S arbiter initialized (context 0x%p).\n",
170 L"ARBITER HEADER MISSING",
190 if (DeviceExtension->ArbitersInitialized)
193 DPRINT1(
"PCI Warning hot start FDOx %p, resource ranges not checked.\n", DeviceExtension);
208 DPRINT1(
"PCI Skipping arbiter initialization for subtractive bridge FDOX %p\n", DeviceExtension);
218 SecondaryExtension.Next,
231 DPRINT1(
"PCI - FDO ext 0x%p %s arbiter failed to start: %X\n",
241 DPRINT1(
"PCI - FDO ext 0x%p %s arbiter (REQUIRED) is missing.\n",
248 DeviceExtension->ArbitersInitialized =
TRUE;
NTSTATUS NTAPI PciInitializeArbiterRanges(IN PPCI_FDO_EXTENSION DeviceExtension, IN PCM_RESOURCE_LIST Resources)
VOID NTAPI PciArbiter_Reference(_In_ PVOID Context)
VOID NTAPI PciArbiter_Dereference(_In_ PVOID Context)
NTSTATUS NTAPI PciInitializeArbiters(IN PPCI_FDO_EXTENSION FdoExtension)
NTSTATUS NTAPI PciArbiterConstructor(_In_ PPCI_FDO_EXTENSION FdoExtension, _In_ PCI_SIGNATURE ArbiterType, _Out_ PARBITER_INTERFACE Interface)
VOID NTAPI PciArbiterDestructor(IN PPCI_ARBITER_INSTANCE Arbiter)
VOID NTAPI ArbiterLibDeleteInstance(_In_ PARBITER_INSTANCE Arbiter)
NTSTATUS NTAPI ArbiterLibHandler(_In_ PVOID Context, _In_ ARBITER_ACTION Action, _Inout_ PARBITER_PARAMETERS Parameters)
The single ARBITER_ACTION dispatcher every exported ARBITER_INTERFACE points its ArbiterHandler at; C...
struct _ARBITER_INSTANCE * PARBITER_INSTANCE
#define InterlockedIncrement
#define InterlockedDecrement
#define STATUS_NOT_SUPPORTED
#define NT_SUCCESS(StatCode)
#define ARBITER_INTERFACE_VERSION
PPCI_SECONDARY_EXTENSION NTAPI PciFindNextSecondaryExtension(IN PSINGLE_LIST_ENTRY ListHead, IN PCI_SIGNATURE ExtensionType)
enum _PCI_SIGNATURE PCI_SIGNATURE
struct _PCI_PDO_EXTENSION * PPCI_PDO_EXTENSION
VOID NTAPI PcipLinkSecondaryExtension(IN PSINGLE_LIST_ENTRY List, IN PVOID Lock, IN PPCI_SECONDARY_EXTENSION SecondaryExtension, IN PCI_SIGNATURE ExtensionType, IN PVOID Destructor)
#define PCI_IS_ROOT_FDO(x)
#define ExAllocatePoolWithTag(hernya, size, tag)
PPCI_INTERFACE PciInterfaces[]
#define _swprintf(buf, format,...)
PPCI_FDO_EXTENSION BusFdoExtension
PCI_SECONDARY_EXTENSION Header
ARBITER_INSTANCE CommonInstance
PCI_INTERFACE_INITIALIZER Initializer
#define STATUS_INVALID_DEVICE_REQUEST
#define STATUS_INSUFFICIENT_RESOURCES
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE Interface
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_WMI_INSTANCE_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_opt_ WDFWMIINSTANCE * Instance
struct _ARBITER_INTERFACE ARBITER_INTERFACE