32 LONG EqualChars, TotalChars;
35 PartialString.
Length = EqualString->Length;
37 PartialString.
Buffer = InputString->Buffer;
41 TotalChars = (InputString->Length - EqualString->Length) /
sizeof(
WCHAR);
44 if (TotalChars < 0)
return FALSE;
52 if (++EqualChars > TotalChars)
return FALSE;
78 if ( Char >=
'0' && Char <=
'9' )
83 else if ( Char >=
'A' && Char <=
'F' )
88 else if ( Char >=
'a' && Char <=
'f' )
143 L"\\REGISTRY\\MACHINE\\SYSTEM\\CurrentControlSet\\Services\\setupdd",
156 UNIMPLEMENTED_FATAL(
"ReactOS doesn't use SetupDD for its installation program. Therefore this scenario must not happen!\n");
186 if (KeyStatus) *KeyStatus =
Status;
201 ULONG NeededLength, ActualLength;
231 ASSERT(NeededLength != 0);
236 if (!PartialInfo)
break;
249 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(
"PCI - 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;
808 L"DEV_%02x&FUN_%02x",
809 DeviceExtension->Slot.u.bits.DeviceNumber,
810 DeviceExtension->Slot.u.bits.FunctionNumber);
868 L"DEV_%02x&FUN_%02x",
869 DeviceExtension->Slot.u.bits.DeviceNumber,
870 DeviceExtension->Slot.u.bits.FunctionNumber);
892 ULONG CapabilityCount = 0;
899 ASSERT(DeviceExtension->CapabilitiesPtr != 0);
916 if ((
Buffer->CapabilityID == CapabilityId) || !(CapabilityId))
941 if (CapabilityCount > 48)
944 DPRINT1(
"PCI device %p capabilities list is broken.\n", DeviceExtension);
960 UCHAR BaseClass, SubClass;
967 if (DeviceExtension->OnDebugPath)
return FALSE;
974 SubClass = DeviceExtension->SubClass;
975 BaseClass = DeviceExtension->BaseClass;
981 BaseClass =
Config->BaseClass;
982 SubClass =
Config->SubClass;
1029 if (!DeviceExtension)
1037 IsVga = DeviceExtension->Dependent.type1.VgaBitSet;
1041 if (IsVga)
return ForPowerDown;
1138 if (Argument->Argument == ((
PdoExtension->Slot.u.bits.DeviceNumber) |
1179 ULONG CurrentBar, BarLength, BarMask;
1183 CurrentBar = BarArray[0];
1192 ResourceDescriptor->
Flags = 0;
1193 ResourceDescriptor->
u.
Generic.MaximumAddress.HighPart = 0;
1194 ResourceDescriptor->
u.
Generic.MinimumAddress.LowPart = 0;
1195 ResourceDescriptor->
u.
Generic.MinimumAddress.HighPart = 0;
1215 ResourceDescriptor->
u.
Generic.Length = BarLength;
1216 ResourceDescriptor->
u.
Generic.Alignment = BarLength;
1240 ResourceDescriptor->
u.
Port.MaximumAddress.HighPart = BarArray[1];
1246 BarMask = ~0xFFF0000F;
1258 ResourceDescriptor->
u.
Port.MaximumAddress.QuadPart = (CurrentBar & BarMask) +
1348 DPRINT1(
"Slot lookup for %d.%u.%u\n",
1349 ParentExtension ? ParentExtension->
BaseBus : -1,
1356 DPRINT1(
"PIR$ %p is %lx bytes, slot 0 is at: %p\n",
1361 DPRINT1(
"Slot Info: %u.%u->#%u\n",
1417 DeviceCapability->Version = 1;
1418 DeviceCapability->Address = -1;
1419 DeviceCapability->UINumber = -1;
1443 Irp->IoStatus.Information = 0;
1518 DeviceCapability->DeviceD1 =
FALSE;
1519 DeviceCapability->DeviceD2 =
FALSE;
1522 DeviceCapability->WakeFromD0 =
FALSE;
1523 DeviceCapability->WakeFromD1 =
FALSE;
1524 DeviceCapability->WakeFromD2 =
FALSE;
1525 DeviceCapability->WakeFromD3 =
FALSE;
1529 AttachedCaps.DeviceState,
1530 sizeof(DeviceCapability->DeviceState));
1535 DeviceCapability->DeviceD1 =
PdoExtension->PowerCapabilities.Support.D1;
1536 DeviceCapability->DeviceD2 =
PdoExtension->PowerCapabilities.Support.D2;
1537 DeviceCapability->WakeFromD0 =
PdoExtension->PowerCapabilities.Support.PMED0;
1538 DeviceCapability->WakeFromD1 =
PdoExtension->PowerCapabilities.Support.PMED1;
1539 DeviceCapability->WakeFromD2 =
PdoExtension->PowerCapabilities.Support.PMED2;
1545 DeviceCapability->WakeFromD3 =
PdoExtension->PowerCapabilities.Support.PMED3Hot;
1553 DeviceCapability->WakeFromD3 =
PdoExtension->PowerCapabilities.Support.PMED3Hot;
1588 DeviceCapability->DeviceState[
CurrentState] = NewPowerState;
1615 (((NewPowerState ==
PowerDeviceD0) && (DeviceCapability->WakeFromD0)) ||
1616 ((NewPowerState ==
PowerDeviceD1) && (DeviceCapability->WakeFromD1)) ||
1617 ((NewPowerState ==
PowerDeviceD2) && (DeviceCapability->WakeFromD2)) ||
1621 (
PdoExtension->PowerCapabilities.Support.PMED3Cold)))))
1625 DeviceWakeState = NewPowerState;
1630 DeviceWakeLevel =
PdoExtension->PowerState.DeviceWakeLevel;
1636 (DeviceWakeLevel >= AttachedCaps.DeviceWake))
1639 DeviceCapability->SystemWake = AttachedCaps.SystemWake;
1640 DeviceCapability->DeviceWake = DeviceWakeLevel;
1644 !(DeviceCapability->WakeFromD0))
1652 !(DeviceCapability->WakeFromD1))
1660 !(DeviceCapability->WakeFromD2))
1668 !(DeviceCapability->WakeFromD3))
1684 DeviceCapability->DeviceWake = DeviceWakeState;
1685 DeviceCapability->SystemWake = SystemWakeState;
1702 DeviceCapability->SystemWake = DeepestWakeState;
1706 DeviceCapability->D1Latency = 0;
1707 DeviceCapability->D2Latency = 2;
1708 DeviceCapability->D3Latency = 100;
1716 DeviceCapability->D1Latency = 0;
1717 DeviceCapability->D2Latency = 0;
1718 DeviceCapability->D3Latency = 0;
1733 DeviceCapability->UniqueID =
FALSE;
1734 DeviceCapability->Address =
PdoExtension->Slot.u.bits.FunctionNumber |
1742 DeviceCapability->RawDeviceOK =
TRUE;
1747 DeviceCapability->RawDeviceOK =
FALSE;
1751 DeviceCapability->LockSupported =
FALSE;
1752 DeviceCapability->EjectSupported =
FALSE;
1753 DeviceCapability->Removable =
FALSE;
1754 DeviceCapability->DockDevice =
FALSE;
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
#define NT_SUCCESS(StatCode)
VOID NTAPI PciDebugDumpQueryCapabilities(IN PDEVICE_CAPABILITIES DeviceCaps)
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)
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)
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)
BOOLEAN NTAPI PciIsDeviceOnDebugPath(IN PPCI_PDO_EXTENSION DeviceExtension)
NTSTATUS NTAPI PciQueryBusInformation(IN PPCI_PDO_EXTENSION PdoExtension, IN PPNP_BUS_INFORMATION *Buffer)
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)
ULONG NTAPI PciGetLengthFromBar(IN ULONG Bar)
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)
BOOLEAN NTAPI PciCreateIoDescriptorFromBarLimit(PIO_RESOURCE_DESCRIPTOR ResourceDescriptor, IN PULONG BarArray, IN BOOLEAN Rom)
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 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 UNIMPLEMENTED_DBGBREAK(...)
#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
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 CmResourceTypeNull
#define CmResourceTypeMemory
#define CmResourceTypePort
#define OBJ_KERNEL_HANDLE
#define OBJ_CASE_INSENSITIVE
NTSYSAPI NTSTATUS WINAPI RtlVerifyVersionInfo(const RTL_OSVERSIONINFOEXW *, DWORD, DWORDLONG)
#define IoSetCompletionRoutine(_Irp, _CompletionRoutine, _Context, _InvokeOnSuccess, _InvokeOnError, _InvokeOnCancel)
#define KeLeaveCriticalRegion()
#define KeEnterCriticalRegion()
#define ExFreePoolWithTag(_P, _T)
static OUT PIO_STATUS_BLOCK IoStatusBlock
#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 UNREFERENCED_PARAMETER(P)
#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 UNIMPLEMENTED_FATAL(...)
#define PCI_HACK_PRESERVE_COMMAND
#define PCI_ENABLE_BRIDGE_VGA
#define PCI_HACK_DONT_DISABLE_DECODES
#define PCI_HACK_CB_SHARE_CMD_BITS
#define PCI_HACK_NO_PM_CAPS
#define STATUS_BUFFER_TOO_SMALL
base of all file and directory entries
union _IO_RESOURCE_DESCRIPTOR::@2056 u
struct _IO_RESOURCE_DESCRIPTOR::@2056::@2057 Port
struct _IO_RESOURCE_DESCRIPTOR::@2056::@2061 Generic
union _IO_STACK_LOCATION::@1581 Parameters
struct _IO_STACK_LOCATION::@3980::@4007 DeviceCapabilities
ULONG dwOSVersionInfoSize
PDEVICE_OBJECT PhysicalDeviceObject
struct _PCI_PDO_EXTENSION * ChildPdoList
SLOT_INFO Slot[ANYSIZE_ARRAY]
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)
#define STATUS_INVALID_PARAMETER
#define STATUS_UNSUCCESSFUL
#define STATUS_INSUFFICIENT_RESOURCES
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_CHILD_LIST_CONFIG Config
_In_ PDEVICE_OBJECT DeviceObject
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG _Out_ PULONG ResultLength
_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
_In_ WDFREQUEST _In_ size_t _In_ size_t _In_ ULONG IoControlCode
_In_ WDFREQUEST _In_ size_t OutputBufferLength
_In_ WDFREQUEST _In_ size_t _In_ size_t InputBufferLength
_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
_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 ObDereferenceObject
struct _OSVERSIONINFOEXW RTL_OSVERSIONINFOEXW
_Out_opt_ PBOOLEAN CurrentState