33 LONG EqualChars, TotalChars;
36 PartialString.
Length = EqualString->Length;
38 PartialString.
Buffer = InputString->Buffer;
42 TotalChars = (InputString->Length - EqualString->Length) /
sizeof(
WCHAR);
45 if (TotalChars < 0)
return FALSE;
53 if (++EqualChars > TotalChars)
return FALSE;
79 if ( Char >=
'0' && Char <=
'9' )
84 else if ( Char >=
'A' && Char <=
'F' )
89 else if ( Char >=
'a' && Char <=
'f' )
144 L"\\REGISTRY\\MACHINE\\SYSTEM\\CurrentControlSet\\Services\\setupdd",
157 UNIMPLEMENTED_FATAL(
"ReactOS doesn't use SetupDD for its installation program. Therefore this scenario must not happen!\n");
187 if (KeyStatus) *KeyStatus =
Status;
202 ULONG NeededLength, ActualLength;
232 ASSERT(NeededLength != 0);
237 if (!PartialInfo)
break;
250 if (PartialInfo->
Type !=
Type)
break;
252 ASSERT(NeededLength == ActualLength);
264 if (OutputLength) *OutputLength = NeededLength;
348 FoundExtension =
NULL;
360 while (DeviceExtension)
372 ((FoundExtension) && (FoundExtension != SearchExtension));
373 FoundExtension = FoundExtension->
Next);
380 if (FoundExtension)
break;
395 return DeviceExtension;
416 for (NextEntry = ListHead; NextEntry->
Next; NextEntry = NextEntry->
Next);
417 NextEntry->
Next = &DeviceExtension->List;
445 Entry->Next = ListHead->Next;
446 ListHead->Next =
Entry;
468 SecondaryExtension->ExtensionType = ExtensionType;
469 SecondaryExtension->Destructor = Destructor;
493 DPRINT1(
"PCIX - Unexpected status from GetDeviceProperty, saw %08X, expected %08X.\n",
591 for (NextEntry = ListHead; NextEntry; NextEntry = NextEntry->
Next)
612 ULONG LastWeight, MatchWeight;
629 if ((HackEntry->
DeviceID == DeviceId) &&
633 EntryFlags = HackEntry->
Flags;
640 if (HackEntry->
RevisionID != RevisionId)
continue;
657 if (MatchWeight > LastWeight)
661 LastWeight = MatchWeight;
766 *SecondaryBus =
BiosData.u.type2.SecondaryBus;
767 *SubordinateBus =
BiosData.u.type2.SubordinateBus;
771 *SecondaryBus =
BiosData.u.type1.SecondaryBus;
772 *SubordinateBus =
BiosData.u.type1.SubordinateBus;
775 return ((*SecondaryBus != 0) && (*SubordinateBus != 0));
784 UCHAR LowBus, HighBus;
805 LowBus = HighBus = ParentFdo->
BaseBus;
880 L"DEV_%02x&FUN_%02x",
881 DeviceExtension->Slot.u.bits.DeviceNumber,
882 DeviceExtension->Slot.u.bits.FunctionNumber);
940 L"DEV_%02x&FUN_%02x",
941 DeviceExtension->Slot.u.bits.DeviceNumber,
942 DeviceExtension->Slot.u.bits.FunctionNumber);
964 ULONG CapabilityCount = 0;
971 ASSERT(DeviceExtension->CapabilitiesPtr != 0);
988 if ((
Buffer->CapabilityID == CapabilityId) || !(CapabilityId))
1013 if (CapabilityCount > 48)
1016 DPRINT1(
"PCIX - Device %p capabilities list is broken.\n", DeviceExtension);
1032 UCHAR BaseClass, SubClass;
1036 if (DeviceExtension)
1039 if (DeviceExtension->OnDebugPath)
return FALSE;
1046 SubClass = DeviceExtension->SubClass;
1047 BaseClass = DeviceExtension->BaseClass;
1048 KeepPower = DeviceExtension->DisablePowerDown;
1054 BaseClass =
Config->BaseClass;
1055 SubClass =
Config->SubClass;
1084 return ForPowerDown;
1103 if (!DeviceExtension)
1111 IsVga = DeviceExtension->Dependent.type1.VgaBitSet;
1116 return ForPowerDown;
1272 ResourceDescriptor->Flags = 0;
1307 AddressBits |= (
ULONGLONG)NextBar << 32;
1320 Length = AddressBits & (~AddressBits + 1);
1333 AddressBits &= 0xFFFFF;
1441 DPRINT(
"PCIX - Slot lookup for %d.%u.%u\n",
1442 ParentExtension ? ParentExtension->
BaseBus : -1,
1449 DPRINT(
"PCIX - $PIR %p is %u bytes, slot 0 is at: %p\n",
1454 DPRINT(
"PCIX - Slot Info: %u.%u->#%u\n",
1510 DeviceCapability->Version = 1;
1511 DeviceCapability->Address = -1;
1512 DeviceCapability->UINumber = -1;
1536 Irp->IoStatus.Information = 0;
1611 DeviceCapability->DeviceD1 =
FALSE;
1612 DeviceCapability->DeviceD2 =
FALSE;
1615 DeviceCapability->WakeFromD0 =
FALSE;
1616 DeviceCapability->WakeFromD1 =
FALSE;
1617 DeviceCapability->WakeFromD2 =
FALSE;
1618 DeviceCapability->WakeFromD3 =
FALSE;
1622 AttachedCaps.DeviceState,
1623 sizeof(DeviceCapability->DeviceState));
1628 DeviceCapability->DeviceD1 =
PdoExtension->PowerCapabilities.Support.D1;
1629 DeviceCapability->DeviceD2 =
PdoExtension->PowerCapabilities.Support.D2;
1630 DeviceCapability->WakeFromD0 =
PdoExtension->PowerCapabilities.Support.PMED0;
1631 DeviceCapability->WakeFromD1 =
PdoExtension->PowerCapabilities.Support.PMED1;
1632 DeviceCapability->WakeFromD2 =
PdoExtension->PowerCapabilities.Support.PMED2;
1638 DeviceCapability->WakeFromD3 =
PdoExtension->PowerCapabilities.Support.PMED3Hot;
1646 DeviceCapability->WakeFromD3 =
PdoExtension->PowerCapabilities.Support.PMED3Hot;
1651 DeviceCapability->WakeFromD3 =
PdoExtension->PowerCapabilities.Support.PMED3Cold;
1681 DeviceCapability->DeviceState[
CurrentState] = NewPowerState;
1708 (((NewPowerState ==
PowerDeviceD0) && (DeviceCapability->WakeFromD0)) ||
1709 ((NewPowerState ==
PowerDeviceD1) && (DeviceCapability->WakeFromD1)) ||
1710 ((NewPowerState ==
PowerDeviceD2) && (DeviceCapability->WakeFromD2)) ||
1714 (
PdoExtension->PowerCapabilities.Support.PMED3Cold)))))
1718 DeviceWakeState = NewPowerState;
1723 DeviceWakeLevel =
PdoExtension->PowerState.DeviceWakeLevel;
1729 (DeviceWakeLevel >= AttachedCaps.DeviceWake))
1732 DeviceCapability->SystemWake = AttachedCaps.SystemWake;
1733 DeviceCapability->DeviceWake = DeviceWakeLevel;
1737 !(DeviceCapability->WakeFromD0))
1745 !(DeviceCapability->WakeFromD1))
1753 !(DeviceCapability->WakeFromD2))
1761 !(DeviceCapability->WakeFromD3))
1777 DeviceCapability->DeviceWake = DeviceWakeState;
1778 DeviceCapability->SystemWake = SystemWakeState;
1795 DeviceCapability->SystemWake = DeepestWakeState;
1799 DeviceCapability->D1Latency = 0;
1800 DeviceCapability->D2Latency = 2;
1801 DeviceCapability->D3Latency = 100;
1809 DeviceCapability->D1Latency = 0;
1810 DeviceCapability->D2Latency = 0;
1811 DeviceCapability->D3Latency = 0;
1826 DeviceCapability->UniqueID =
FALSE;
1827 DeviceCapability->Address =
PdoExtension->Slot.u.bits.FunctionNumber |
1835 DeviceCapability->RawDeviceOK =
TRUE;
1840 DeviceCapability->RawDeviceOK =
FALSE;
1844 DeviceCapability->LockSupported =
FALSE;
1845 DeviceCapability->EjectSupported =
FALSE;
1846 DeviceCapability->Removable =
FALSE;
1847 DeviceCapability->DockDevice =
FALSE;
static _Out_opt_ PULONGLONG _Out_opt_ PULONGLONG MinimumAddress
static _Out_opt_ PULONGLONG Start
static _Out_opt_ PULONGLONG _Out_opt_ PULONGLONG _Out_opt_ PULONGLONG MaximumAddress
ACPI_METHOD_ARGUMENT UNALIGNED * PACPI_METHOD_ARGUMENT
struct _ACPI_EVAL_OUTPUT_BUFFER ACPI_EVAL_OUTPUT_BUFFER
#define ACPI_METHOD_ARGUMENT_INTEGER
#define ACPI_EVAL_INPUT_BUFFER_SIGNATURE
#define IOCTL_ACPI_EVAL_METHOD
ACPI_EVAL_OUTPUT_BUFFER UNALIGNED * PACPI_EVAL_OUTPUT_BUFFER
#define InterlockedDecrement
OSVERSIONINFOW VersionInfo
PDEVICE_OBJECT PhysicalDeviceObject
SINGLE_LIST_ENTRY PciFdoExtensionListHead
while(CdLookupNextInitialFileDirent(IrpContext, Fcb, FileContext))
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
#define STATUS_NOT_SUPPORTED
_In_ PIO_STATUS_BLOCK IoStatusBlock
_Check_return_ _In_ DXGK_EVENT_TYPE _In_ ULONG _In_ PVOID Argument
_Check_return_ _In_ DXGK_EVENT_TYPE _In_ ULONG Event
_Check_return_ _In_ ULONG _In_ DEVICE_POWER_STATE DevicePowerState
#define NT_SUCCESS(StatCode)
VOID NTAPI PciDebugDumpQueryCapabilities(IN PDEVICE_CAPABILITIES DeviceCaps)
BOOLEAN NTAPI PcipIsSameDevice(IN PPCI_PDO_EXTENSION DeviceExtension, IN PPCI_COMMON_HEADER PciData)
PPCI_IRQ_ROUTING_TABLE PciIrqRoutingTable
PPCI_HACK_ENTRY PciHackTable
#define MAX_DEBUGGING_DEVICES_SUPPORTED
VOID NTAPI PciWriteDeviceConfig(IN PPCI_PDO_EXTENSION DeviceExtension, IN PVOID Buffer, IN ULONG Offset, IN ULONG Length)
enum _PCI_SIGNATURE PCI_SIGNATURE
#define PCI_HACK_HAS_REVISION_INFO
#define PCI_IS_ROOT_FDO(x)
struct _PCI_IPI_CONTEXT * PPCI_IPI_CONTEXT
KIPI_BROADCAST_WORKER PciExecuteCriticalSystemRoutine
VOID NTAPI PciReadDeviceConfig(IN PPCI_PDO_EXTENSION DeviceExtension, IN PVOID Buffer, IN ULONG Offset, IN ULONG Length)
#define PCI_HACK_HAS_SUBSYSTEM_INFO
enum _PCI_DEVICE_TYPES PCI_DEVICE_TYPES
struct _PCI_FDO_EXTENSION * PPCI_FDO_EXTENSION
BOOLEAN NTAPI PciIsSuiteVersion(IN USHORT SuiteMask)
NTSTATUS NTAPI PciSaveBiosConfig(IN PPCI_PDO_EXTENSION DeviceExtension, IN PPCI_COMMON_HEADER PciData)
VOID NTAPI PciInsertEntryAtTail(IN PSINGLE_LIST_ENTRY ListHead, IN PPCI_FDO_EXTENSION DeviceExtension, IN PKEVENT Lock)
NTSTATUS NTAPI PciQueryBusInformation(IN PPCI_PDO_EXTENSION PdoExtension, OUT PPNP_BUS_INFORMATION *Buffer)
PPCI_SECONDARY_EXTENSION NTAPI PciFindNextSecondaryExtension(IN PSINGLE_LIST_ENTRY ListHead, IN PCI_SIGNATURE ExtensionType)
BOOLEAN NTAPI PciIsSlotPresentInParentMethod(IN PPCI_PDO_EXTENSION PdoExtension, IN ULONG Method)
NTSTATUS NTAPI PciGetDeviceCapabilities(IN PDEVICE_OBJECT DeviceObject, IN OUT PDEVICE_CAPABILITIES DeviceCapability)
NTSTATUS NTAPI PciQueryPowerCapabilities(IN PPCI_PDO_EXTENSION PdoExtension, IN PDEVICE_CAPABILITIES DeviceCapability)
PCI_DEVICE_TYPES NTAPI PciClassifyDeviceType(IN PPCI_PDO_EXTENSION PdoExtension)
NTSTATUS NTAPI PciQueryCapabilities(IN PPCI_PDO_EXTENSION PdoExtension, IN OUT PDEVICE_CAPABILITIES DeviceCapability)
VOID NTAPI PciInsertEntryAtHead(IN PSINGLE_LIST_ENTRY ListHead, IN PSINGLE_LIST_ENTRY Entry, IN PKEVENT Lock)
NTSTATUS NTAPI PciDetermineSlotNumber(IN PPCI_PDO_EXTENSION PdoExtension, OUT PULONG SlotNumber)
NTSTATUS NTAPI PciGetBiosConfig(IN PPCI_PDO_EXTENSION DeviceExtension, OUT PPCI_COMMON_HEADER PciData)
VOID NTAPI PcipLinkSecondaryExtension(IN PSINGLE_LIST_ENTRY List, IN PVOID Lock, IN PPCI_SECONDARY_EXTENSION SecondaryExtension, IN PCI_SIGNATURE ExtensionType, IN PVOID Destructor)
PCI_DEBUGGING_DEVICE PciDebuggingDevices[MAX_DEBUGGING_DEVICES_SUPPORTED]
PPCI_PDO_EXTENSION NTAPI PciFindPdoByFunction(IN PPCI_FDO_EXTENSION DeviceExtension, IN ULONG FunctionNumber, IN PPCI_COMMON_HEADER PciData)
BOOLEAN NTAPI PciOpenKey(IN PWCHAR KeyName, IN HANDLE RootKey, IN ACCESS_MASK DesiredAccess, OUT PHANDLE KeyHandle, OUT PNTSTATUS KeyStatus)
static BOOLEAN PciGetBiosBusRange(_In_ PPCI_PDO_EXTENSION BridgeExtension, _Out_ PUCHAR SecondaryBus, _Out_ PUCHAR SubordinateBus)
Reads the bus range the firmware gave a bridge.
BOOLEAN NTAPI PciIsDeviceOnDebugPath(_In_ PPCI_PDO_EXTENSION DeviceExtension)
VOID NTAPI PciDecodeEnable(IN PPCI_PDO_EXTENSION PdoExtension, IN BOOLEAN Enable, OUT PUSHORT Command)
RTL_RANGE_LIST PciVgaAndIsaBitExclusionList
BOOLEAN NTAPI PciIsCriticalDeviceClass(IN UCHAR BaseClass, IN UCHAR SubClass)
UCHAR NTAPI PciReadDeviceCapability(IN PPCI_PDO_EXTENSION DeviceExtension, IN UCHAR Offset, IN ULONG CapabilityId, OUT PPCI_CAPABILITIES_HEADER Buffer, IN ULONG Length)
BOOLEAN NTAPI PciStringToUSHORT(IN PWCHAR String, OUT PUSHORT Value)
ULONGLONG NTAPI PciGetHackFlags(IN USHORT VendorId, IN USHORT DeviceId, IN USHORT SubVendorId, IN USHORT SubSystemId, IN UCHAR RevisionId)
BOOLEAN NTAPI PciCanDisableDecodes(IN PPCI_PDO_EXTENSION DeviceExtension, IN PPCI_COMMON_HEADER Config, IN ULONGLONG HackFlags, IN BOOLEAN ForPowerDown)
PPCI_FDO_EXTENSION NTAPI PciFindParentPciFdoExtension(IN PDEVICE_OBJECT DeviceObject, IN PKEVENT Lock)
NTSTATUS NTAPI PciGetDeviceProperty(IN PDEVICE_OBJECT DeviceObject, IN DEVICE_REGISTRY_PROPERTY DeviceProperty, OUT PVOID *OutputBuffer)
NTSTATUS NTAPI PciGetRegistryValue(IN PWCHAR ValueName, IN PWCHAR KeyName, IN HANDLE RootHandle, IN ULONG Type, OUT PVOID *OutputBuffer, OUT PULONG OutputLength)
BOOLEAN NTAPI PciUnicodeStringStrStr(IN PUNICODE_STRING InputString, IN PCUNICODE_STRING EqualString, IN BOOLEAN CaseInSensitive)
NTSTATUS NTAPI PciBuildDefaultExclusionLists(VOID)
BOOLEAN NTAPI PciCreateIoDescriptorFromBarLimit(_Out_ PIO_RESOURCE_DESCRIPTOR ResourceDescriptor, _In_ ULONG Bar, _In_ ULONG NextBar, _In_ BOOLEAN Rom)
Builds the requirement of a BAR from the value it reads back after all ones were written to it.
BOOLEAN NTAPI PciIsDatacenter(VOID)
RTL_RANGE_LIST PciIsaBitExclusionList
NTSTATUS NTAPI PciSendIoctl(IN PDEVICE_OBJECT DeviceObject, IN ULONG IoControlCode, IN PVOID InputBuffer, IN ULONG InputBufferLength, IN PVOID OutputBuffer, IN ULONG OutputBufferLength)
#define ExAllocatePoolWithTag(hernya, size, tag)
#define KeWaitForSingleObject(pEvt, foo, a, b, c)
#define KeInitializeEvent(pEvt, foo, foo2)
#define KeSetEvent(pEvt, foo, foo2)
#define KeGetCurrentIrql()
_Inout_opt_ PUNICODE_STRING Extension
union Alignment_ Alignment
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 const GLfloat const GLdouble const GLfloat GLint i
#define IoSetCompletionRoutine(_Irp, _CompletionRoutine, _Context, _InvokeOnSuccess, _InvokeOnError, _InvokeOnCancel)
#define KeLeaveCriticalRegion()
#define KeEnterCriticalRegion()
_In_ PIRP _In_ PIO_COMPLETION_ROUTINE _In_ PVOID Context
#define ExFreePoolWithTag(_P, _T)
#define _swprintf(buf, format,...)
#define InitializeObjectAttributes(p, n, a, r, s)
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ PNDIS_STRING _Out_ PNDIS_HANDLE SubKeyHandle
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ ULONG _Out_ PNDIS_STRING _Out_ PNDIS_HANDLE KeyHandle
#define CM_RESOURCE_MEMORY_PREFETCHABLE
#define CM_RESOURCE_PORT_IO
#define CM_RESOURCE_MEMORY_READ_ONLY
NTSYSAPI NTSTATUS NTAPI ZwClose(_In_ HANDLE Handle)
NTSYSAPI NTSTATUS NTAPI RtlAddRange(_Inout_ PRTL_RANGE_LIST RangeList, _In_ ULONGLONG Start, _In_ ULONGLONG End, _In_ UCHAR Attributes, _In_ ULONG Flags, _In_opt_ PVOID UserData, _In_opt_ PVOID Owner)
_In_ const STRING _In_ BOOLEAN CaseInSensitive
NTSYSAPI VOID NTAPI RtlInitializeRangeList(_Out_ PRTL_RANGE_LIST RangeList)
NTSYSAPI VOID NTAPI RtlFreeRangeList(_In_ PRTL_RANGE_LIST RangeList)
#define RTL_RANGE_LIST_ADD_IF_CONFLICT
@ KeyValuePartialInformation
#define ASSERTMSG(msg, exp)
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
NTSYSAPI BOOLEAN NTAPI RtlEqualUnicodeString(PUNICODE_STRING String1, PUNICODE_STRING String2, BOOLEAN CaseInSensitive)
struct _KEY_VALUE_PARTIAL_INFORMATION KEY_VALUE_PARTIAL_INFORMATION
#define REG_OPTION_VOLATILE
#define VER_SUITE_DATACENTER
#define VER_SET_CONDITION(ConditionMask, TypeBitMask, ComparisonType)
_In_ ULONG _In_ ULONG Offset
_In_ ULONG _In_ ULONG _In_ ULONG Length
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
PDEVICE_OBJECT NTAPI IoGetAttachedDeviceReference(PDEVICE_OBJECT DeviceObject)
PIRP NTAPI IoBuildSynchronousFsdRequest(IN ULONG MajorFunction, IN PDEVICE_OBJECT DeviceObject, IN PVOID Buffer, IN ULONG Length, IN PLARGE_INTEGER StartingOffset, IN PKEVENT Event, IN PIO_STATUS_BLOCK IoStatusBlock)
PIRP NTAPI IoBuildDeviceIoControlRequest(IN ULONG IoControlCode, IN PDEVICE_OBJECT DeviceObject, IN PVOID InputBuffer, IN ULONG InputBufferLength, IN PVOID OutputBuffer, IN ULONG OutputBufferLength, IN BOOLEAN InternalDeviceIoControl, IN PKEVENT Event, IN PIO_STATUS_BLOCK IoStatusBlock)
enum _DEVICE_POWER_STATE DEVICE_POWER_STATE
enum _SYSTEM_POWER_STATE SYSTEM_POWER_STATE
NTSTATUS NTAPI IoOpenDeviceRegistryKey(IN PDEVICE_OBJECT DeviceObject, IN ULONG DevInstKeyType, IN ACCESS_MASK DesiredAccess, OUT PHANDLE DevInstRegKey)
NTSTATUS NTAPI IoGetDeviceProperty(IN PDEVICE_OBJECT DeviceObject, IN DEVICE_REGISTRY_PROPERTY DeviceProperty, IN ULONG BufferLength, OUT PVOID PropertyBuffer, OUT PULONG ResultLength)
#define OBJ_KERNEL_HANDLE
#define OBJ_CASE_INSENSITIVE
#define CmResourceTypeNull
#define CmResourceTypeMemory
#define CmResourceTypePort
#define UNIMPLEMENTED_FATAL(...)
#define PCI_HACK_PRESERVE_COMMAND
#define PCI_ENABLE_BRIDGE_VGA
#define PCI_HACK_CB_SHARE_CMD_BITS
#define PCI_HACK_NEVER_DISCONNECT
#define PCI_HACK_DONT_DISABLE
#define PCI_HACK_NEVER_POWER_DOWN
#define PCI_HACK_NO_PM_CAPS
#define PCI_HACK_KEEP_DECODES_ON_STOP
#define STATUS_BUFFER_TOO_SMALL
struct _IO_STACK_LOCATION::@5020::@5047 DeviceCapabilities
union _IO_STACK_LOCATION::@1814 Parameters
ULONG dwOSVersionInfoSize
PDEVICE_OBJECT PhysicalDeviceObject
struct _PCI_FDO_EXTENSION * ParentFdoExtension
struct _PCI_PDO_EXTENSION * ChildPdoList
PCI_IPI_FUNCTION Function
SLOT_INFO Slot[ANYSIZE_ARRAY]
union _PCI_SLOT_NUMBER::@5064 u
struct _SINGLE_LIST_ENTRY * Next
#define FIELD_OFFSET(t, f)
#define RtlCopyMemory(Destination, Source, Length)
#define RtlZeroMemory(Destination, Length)
#define CONTAINING_RECORD(address, type, field)
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFREQUEST _In_ size_t _In_ size_t _In_ ULONG IoControlCode
_In_ PGUID _In_ ULONG _Out_ PULONG ResultLength
_Must_inspect_result_ _In_ WDFDEVICE _In_ PUCX_CONTROLLER_CONFIG Config
_In_ PGUID _In_ ULONG OutputBufferLength
_In_ WDFREQUEST _In_ size_t _In_ size_t InputBufferLength
#define STATUS_INVALID_PARAMETER
#define STATUS_UNSUCCESSFUL
#define STATUS_INSUFFICIENT_RESOURCES
_In_ PIO_STACK_LOCATION IoStackLocation
_In_ PDEVICE_OBJECT DeviceObject
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY DeviceProperty
_Must_inspect_result_ _In_ WDFDEVICE _In_ PCUNICODE_STRING KeyName
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG BufferLength
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR OutputBuffer
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR InputBuffer
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING ValueName
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
_Must_inspect_result_ _In_ WDFCMRESLIST List
_In_ WDFIORESREQLIST _In_ ULONG SlotNumber
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFWAITLOCK * Lock
NTSYSAPI NTSTATUS WINAPI RtlVerifyVersionInfo(const RTL_OSVERSIONINFOEXW *, DWORD, DWORDLONG)
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
__drv_aliasesMem FORCEINLINE PIO_STACK_LOCATION IoGetNextIrpStackLocation(_In_ PIRP Irp)
#define PCI_INVALID_VENDORID
#define PCI_SUBCLASS_BR_OTHER
#define PCI_ADDRESS_IO_ADDRESS_MASK
#define PCI_ENABLE_BUS_MASTER
#define PCI_SUBCLASS_BR_EISA
#define PCI_SUBCLASS_BR_HOST
#define PCI_ENABLE_IO_SPACE
#define PCI_SUBCLASS_BR_PCI_TO_PCI
#define PCI_SUBCLASS_SYS_INTERRUPT_CTLR
#define PCI_ADDRESS_IO_SPACE
#define PCI_ENABLE_MEMORY_SPACE
#define PCI_SUBCLASS_BR_MCA
#define PCI_ADDRESS_ROM_ADDRESS_MASK
#define PCI_ADDRESS_MEMORY_ADDRESS_MASK
#define PCI_COMMON_HDR_LENGTH
#define PCI_SUBCLASS_BR_ISA
#define PCI_CLASS_BRIDGE_DEV
#define IRP_MN_QUERY_CAPABILITIES
#define PCI_SUBCLASS_BR_CARDBUS
#define PCI_CLASS_BASE_SYSTEM_DEV
#define PCI_SUBCLASS_VID_VGA_CTLR
#define PCI_ADDRESS_MEMORY_PREFETCHABLE
#define PCI_ADDRESS_MEMORY_TYPE_MASK
#define PCI_SUBCLASS_PRE_20_VGA
#define PCI_CLASS_DISPLAY_CTLR
#define PCI_CARDBUS_BRIDGE_TYPE
#define ObDereferenceObject
NTSYSAPI NTSTATUS NTAPI RtlIoEncodeMemIoResource(_In_ struct _IO_RESOURCE_DESCRIPTOR *Descriptor, _In_ UCHAR Type, _In_ ULONGLONG Length, _In_ ULONGLONG Alignment, _In_ ULONGLONG MinimumAddress, _In_ ULONGLONG MaximumAddress)
struct _OSVERSIONINFOEXW RTL_OSVERSIONINFOEXW
_Out_opt_ PBOOLEAN CurrentState