ReactOS 0.4.17-dev-683-g0dafdc5
pci.h
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS PCI Bus Driver
3 * LICENSE: BSD - See COPYING.ARM in the top level directory
4 * FILE: drivers/bus/pci/pci.h
5 * PURPOSE: Main Header File
6 * PROGRAMMERS: ReactOS Portable Systems Group
7 */
8
9#ifndef _PCIX_PCH_
10#define _PCIX_PCH_
11
12#include <ntifs.h>
13#include <wdmguid.h>
14#include <wchar.h>
15#include <acpiioct.h>
16#include <drivers/pci/pci.h>
17#include <drivers/acpi/acpi.h>
18#include <ndk/halfuncs.h>
19#include <ndk/rtlfuncs.h>
20#include <ndk/vffuncs.h>
21#include <arbiter.h>
22#include <cmreslist.h>
23
24//
25// Tag used in all pool allocations (Pci Bus)
26//
27#define PCI_POOL_TAG 'BicP'
28
29//
30// Checks if the specified FDO is the FDO for the Root PCI Bus
31//
32#define PCI_IS_ROOT_FDO(x) ((x)->BusRootFdoExtension == x)
33
34//
35// Assertions to make sure we are dealing with the right kind of extension
36//
37#define ASSERT_FDO(x) ASSERT((x)->ExtensionType == PciFdoExtensionType);
38#define ASSERT_PDO(x) ASSERT((x)->ExtensionType == PciPdoExtensionType);
39
40//
41// PCI Hack Entry Name Lengths
42//
43#define PCI_HACK_ENTRY_SIZE sizeof(L"VVVVdddd") - sizeof(UNICODE_NULL)
44#define PCI_HACK_ENTRY_REV_SIZE sizeof(L"VVVVddddRR") - sizeof(UNICODE_NULL)
45#define PCI_HACK_ENTRY_SUBSYS_SIZE sizeof(L"VVVVddddssssIIII") - sizeof(UNICODE_NULL)
46#define PCI_HACK_ENTRY_FULL_SIZE sizeof(L"VVVVddddssssIIIIRR") - sizeof(UNICODE_NULL)
47
48//
49// PCI Hack Entry Flags
50//
51#define PCI_HACK_HAS_REVISION_INFO 0x01
52#define PCI_HACK_HAS_SUBSYSTEM_INFO 0x02
53
54//
55// PCI Interface Flags
56//
57#define PCI_INTERFACE_PDO 0x01
58#define PCI_INTERFACE_FDO 0x02
59#define PCI_INTERFACE_ROOT 0x04
60
61//
62// PCI Skip Function Flags
63//
64#define PCI_SKIP_DEVICE_ENUMERATION 0x01
65#define PCI_SKIP_RESOURCE_ENUMERATION 0x02
66
67//
68// PCI Apply Hack Flags
69//
70#define PCI_HACK_FIXUP_BEFORE_CONFIGURATION 0x00
71#define PCI_HACK_FIXUP_AFTER_CONFIGURATION 0x01
72#define PCI_HACK_FIXUP_BEFORE_UPDATE 0x03
73
74//
75// PCI Debugging Device Support
76//
77#define MAX_DEBUGGING_DEVICES_SUPPORTED 0x04
78
79//
80// PCI Driver Verifier Failures
81//
82#define PCI_VERIFIER_CODES 0x04
83
84//
85// PCI ID Buffer ANSI Strings
86//
87#define MAX_ANSI_STRINGS 0x08
88
89//
90// Device Extension, Interface, Translator and Arbiter Signatures
91//
92typedef enum _PCI_SIGNATURE
93{
96 PciArb_Io = 'icP2',
97 PciArb_Memory = 'icP3',
109 PciInterface_Location = 'icP?'
111
112//
113// Driver-handled PCI Device Types
114//
116{
123
124//
125// Device Extension Logic States
126//
127typedef enum _PCI_STATE
128{
137
138//
139// IRP Dispatch Logic Style
140//
142{
148
149//
150// PCI Hack Entry Information
151//
152typedef struct _PCI_HACK_ENTRY
153{
162
163//
164// Power State Information for Device Extension
165//
166typedef struct _PCI_POWER_STATE
167{
179
180//
181// Internal PCI Lock Structure
182//
183typedef struct _PCI_LOCK
184{
188
189//
190// Device Extension for a Bus FDO
191//
192typedef struct _PCI_FDO_EXTENSION
193{
223 struct
224 {
234
236{
240
242{
243 struct
244 {
247 struct
248 {
258 struct
259 {
260 UCHAR Spare[4];
263
264typedef struct _PCI_PDO_EXTENSION
265{
271
322
323//
324// IRP Dispatch Function Type
325//
327 IN PIRP Irp,
329 IN PVOID DeviceExtension
330);
331
332//
333// IRP Dispatch Minor Table
334//
336{
340
341//
342// IRP Dispatch Major Table
343//
345{
355
356//
357// Generic PCI Interface Constructor and Initializer
358//
359struct _PCI_INTERFACE;
361 IN PVOID DeviceExtension,
363 IN PVOID InterfaceData,
365 IN USHORT Size,
367);
368
371);
372
373//
374// Generic PCI Interface (Interface, Translator, Arbiter)
375//
376typedef struct _PCI_INTERFACE
377{
388
389//
390// Generic Secondary Extension Instance Header (Interface, Translator, Arbiter)
391//
393{
398
399//
400// PCI Arbiter Instance
401//
403{
410
411//
412// PCI Verifier Data
413//
414typedef struct _PCI_VERIFIER_DATA
415{
421
422//
423// PCI ID Buffer Descriptor
424//
425typedef struct _PCI_ID_BUFFER
426{
434
435//
436// PCI Configuration Callbacks
437//
439
442);
443
446);
447
450);
451
454);
455
459);
460
464 IN PIO_RESOURCE_DESCRIPTOR IoDescriptor
465);
466
470);
471
472//
473// PCI Configurator
474//
475typedef struct _PCI_CONFIGURATOR
476{
485
486//
487// PCI Configurator Context
488//
490{
499
500//
501// PCI IPI Function
502//
506);
507
508//
509// PCI IPI Context
510//
511typedef struct _PCI_IPI_CONTEXT
512{
519
520//
521// PCI Legacy Device Location Cache
522//
523typedef struct _PCI_LEGACY_DEVICE
524{
537
538//
539// IRP Dispatch Routines
540//
541
543
545NTAPI
548 IN PIRP Irp
549);
550
552NTAPI
554 IN PIRP Irp,
556 IN PPCI_FDO_EXTENSION DeviceExtension
557);
558
560NTAPI
562 IN PPCI_FDO_EXTENSION DeviceExtension,
563 IN PIRP Irp
564);
565
567NTAPI
569 IN PPCI_FDO_EXTENSION DeviceExtension,
570 IN PIRP Irp
571);
572
574NTAPI
576 IN PIRP Irp,
578 IN PPCI_FDO_EXTENSION DeviceExtension
579);
580
581//
582// Power Routines
583//
585NTAPI
587 IN PIRP Irp,
589 IN PPCI_FDO_EXTENSION DeviceExtension
590);
591
593NTAPI
595 IN PIRP Irp,
597 IN PPCI_FDO_EXTENSION DeviceExtension
598);
599
601NTAPI
603 IN PIRP Irp,
605 IN PPCI_FDO_EXTENSION DeviceExtension
606);
607
609NTAPI
611 IN PPCI_PDO_EXTENSION DeviceExtension,
613 IN BOOLEAN IrpSet
614);
615
616//
617// Bus FDO Routines
618//
619
620DRIVER_ADD_DEVICE PciAddDevice;
621
623NTAPI
627);
628
630NTAPI
632 IN PIRP Irp,
634 IN PPCI_FDO_EXTENSION DeviceExtension
635);
636
638NTAPI
640 IN PIRP Irp,
642 IN PPCI_FDO_EXTENSION DeviceExtension
643);
644
646NTAPI
648 IN PIRP Irp,
650 IN PPCI_FDO_EXTENSION DeviceExtension
651);
652
654NTAPI
656 IN PIRP Irp,
658 IN PPCI_FDO_EXTENSION DeviceExtension
659);
660
662NTAPI
664 IN PIRP Irp,
666 IN PPCI_FDO_EXTENSION DeviceExtension
667);
668
670NTAPI
672 IN PIRP Irp,
674 IN PPCI_FDO_EXTENSION DeviceExtension
675);
676
678NTAPI
680 IN PIRP Irp,
682 IN PPCI_FDO_EXTENSION DeviceExtension
683);
684
686NTAPI
688 IN PIRP Irp,
690 IN PPCI_FDO_EXTENSION DeviceExtension
691);
692
694NTAPI
696 IN PIRP Irp,
698 IN PPCI_FDO_EXTENSION DeviceExtension
699);
700
702NTAPI
704 IN PIRP Irp,
706 IN PPCI_FDO_EXTENSION DeviceExtension
707);
708
710NTAPI
712 IN PIRP Irp,
714 IN PPCI_FDO_EXTENSION DeviceExtension
715);
716
718NTAPI
720 IN PIRP Irp,
722 IN PPCI_FDO_EXTENSION DeviceExtension
723);
724
726NTAPI
728 IN PIRP Irp,
730 IN PPCI_FDO_EXTENSION DeviceExtension
731);
732
733//
734// Device PDO Routines
735//
737NTAPI
739 IN PPCI_FDO_EXTENSION DeviceExtension,
740 IN PCI_SLOT_NUMBER Slot,
742);
743
745NTAPI
747 IN PIRP Irp,
749 IN PPCI_PDO_EXTENSION DeviceExtension
750);
751
753NTAPI
755 IN PIRP Irp,
757 IN PPCI_PDO_EXTENSION DeviceExtension
758);
759
761NTAPI
763 IN PIRP Irp,
765 IN PPCI_PDO_EXTENSION DeviceExtension
766);
767
769NTAPI
771 IN PIRP Irp,
773 IN PPCI_PDO_EXTENSION DeviceExtension
774);
775
777NTAPI
779 IN PIRP Irp,
781 IN PPCI_PDO_EXTENSION DeviceExtension
782);
783
785NTAPI
787 IN PIRP Irp,
789 IN PPCI_PDO_EXTENSION DeviceExtension
790);
791
793NTAPI
795 IN PIRP Irp,
797 IN PPCI_PDO_EXTENSION DeviceExtension
798);
799
801NTAPI
803 IN PIRP Irp,
805 IN PPCI_PDO_EXTENSION DeviceExtension
806);
807
809NTAPI
811 IN PIRP Irp,
813 IN PPCI_PDO_EXTENSION DeviceExtension
814);
815
817NTAPI
819 IN PIRP Irp,
821 IN PPCI_PDO_EXTENSION DeviceExtension
822);
823
825NTAPI
827 IN PIRP Irp,
829 IN PPCI_PDO_EXTENSION DeviceExtension
830);
831
833NTAPI
835 IN PIRP Irp,
837 IN PPCI_PDO_EXTENSION DeviceExtension
838);
839
841NTAPI
843 IN PIRP Irp,
845 IN PPCI_PDO_EXTENSION DeviceExtension
846);
847
849NTAPI
851 IN PIRP Irp,
853 IN PPCI_PDO_EXTENSION DeviceExtension
854);
855
857NTAPI
859 IN PIRP Irp,
861 IN PPCI_PDO_EXTENSION DeviceExtension
862);
863
865NTAPI
867 IN PIRP Irp,
869 IN PPCI_PDO_EXTENSION DeviceExtension
870);
871
873NTAPI
875 IN PIRP Irp,
877 IN PPCI_PDO_EXTENSION DeviceExtension
878);
879
881NTAPI
883 IN PIRP Irp,
885 IN PPCI_PDO_EXTENSION DeviceExtension
886);
887
889NTAPI
891 IN PIRP Irp,
893 IN PPCI_PDO_EXTENSION DeviceExtension
894);
895
897NTAPI
899 IN PIRP Irp,
901 IN PPCI_PDO_EXTENSION DeviceExtension
902);
903
905NTAPI
907 IN PIRP Irp,
909 IN PPCI_PDO_EXTENSION DeviceExtension
910);
911
913NTAPI
915 IN PIRP Irp,
917 IN PPCI_PDO_EXTENSION DeviceExtension
918);
919
921NTAPI
923 IN PIRP Irp,
925 IN PPCI_PDO_EXTENSION DeviceExtension
926);
927
929NTAPI
931 IN PIRP Irp,
933 IN PPCI_PDO_EXTENSION DeviceExtension
934);
935
936
937//
938// HAL Callback/Hook Routines
939//
940VOID
941NTAPI
943 VOID
944);
945
946//
947// PCI Verifier Routines
948//
949VOID
950NTAPI
953);
954
956NTAPI
958 IN ULONG FailureCode
959);
960
961//
962// Utility Routines
963//
965NTAPI
969);
970
972NTAPI
974 VOID
975);
976
978NTAPI
980 VOID
981);
982
984NTAPI
986 IN PUNICODE_STRING InputString,
987 IN PCUNICODE_STRING EqualString,
989);
990
992NTAPI
998 OUT PNTSTATUS KeyStatus
999);
1000
1002NTAPI
1006 IN HANDLE RootHandle,
1007 IN ULONG Type,
1009 OUT PULONG OutputLength
1010);
1011
1013NTAPI
1017);
1018
1019VOID
1020NTAPI
1022 IN PSINGLE_LIST_ENTRY ListHead,
1023 IN PPCI_FDO_EXTENSION DeviceExtension,
1025);
1026
1028NTAPI
1033);
1034
1036NTAPI
1044);
1045
1046VOID
1047NTAPI
1050 IN PVOID Lock,
1051 IN PPCI_SECONDARY_EXTENSION SecondaryExtension,
1052 IN PCI_SIGNATURE ExtensionType,
1053 IN PVOID Destructor
1054);
1055
1057NTAPI
1059 IN PSINGLE_LIST_ENTRY ListHead,
1060 IN PCI_SIGNATURE ExtensionType
1061);
1062
1064NTAPI
1066 IN USHORT VendorId,
1067 IN USHORT DeviceId,
1068 IN USHORT SubVendorId,
1069 IN USHORT SubSystemId,
1070 IN UCHAR RevisionId
1071);
1072
1074NTAPI
1076 IN PPCI_FDO_EXTENSION DeviceExtension,
1077 IN ULONG FunctionNumber,
1078 IN PPCI_COMMON_HEADER PciData
1079);
1080
1081BOOLEAN
1082NTAPI
1086);
1087
1088BOOLEAN
1089NTAPI
1091 IN PPCI_PDO_EXTENSION DeviceExtension
1092);
1093
1095NTAPI
1097 IN PPCI_PDO_EXTENSION DeviceExtension,
1098 OUT PPCI_COMMON_HEADER PciData
1099);
1100
1102NTAPI
1104 IN PPCI_PDO_EXTENSION DeviceExtension,
1105 OUT PPCI_COMMON_HEADER PciData
1106);
1107
1108UCHAR
1109NTAPI
1111 IN PPCI_PDO_EXTENSION DeviceExtension,
1112 IN UCHAR Offset,
1113 IN ULONG CapabilityId,
1116);
1117
1118BOOLEAN
1119NTAPI
1121 IN PPCI_PDO_EXTENSION DeviceExtension,
1124 IN BOOLEAN ForPowerDown
1125);
1126
1128NTAPI
1131);
1132
1134
1136NTAPI
1138 IN ULONG_PTR IpiContext
1139);
1140
1141BOOLEAN
1142NTAPI
1144 PIO_RESOURCE_DESCRIPTOR ResourceDescriptor,
1145 IN PULONG BarArray,
1146 IN BOOLEAN Rom
1147);
1148
1149BOOLEAN
1150NTAPI
1153 IN ULONG Method
1154);
1155
1156VOID
1157NTAPI
1162);
1163
1165NTAPI
1169);
1170
1172NTAPI
1175 IN OUT PDEVICE_CAPABILITIES DeviceCapability
1176);
1177
1178//
1179// Configuration Routines
1180//
1182NTAPI
1185);
1186
1187VOID
1188NTAPI
1190 IN PPCI_FDO_EXTENSION DeviceExtension,
1191 IN PCI_SLOT_NUMBER Slot,
1192 IN PVOID Buffer,
1193 IN ULONG Offset,
1195);
1196
1197VOID
1198NTAPI
1200 IN PPCI_PDO_EXTENSION DeviceExtension,
1201 IN PVOID Buffer,
1202 IN ULONG Offset,
1204);
1205
1206VOID
1207NTAPI
1209 IN PPCI_PDO_EXTENSION DeviceExtension,
1210 IN PVOID Buffer,
1211 IN ULONG Offset,
1213);
1214
1215UCHAR
1216NTAPI
1219);
1220
1221//
1222// State Machine Logic Transition Routines
1223//
1224VOID
1225NTAPI
1227 IN PPCI_FDO_EXTENSION DeviceExtension
1228);
1229
1231NTAPI
1233 IN PPCI_FDO_EXTENSION DeviceExtension,
1234 IN PCI_STATE NewState
1235);
1236
1238NTAPI
1240 IN PPCI_FDO_EXTENSION DeviceExtension,
1241 IN PCI_STATE NewState
1242);
1243
1244VOID
1245NTAPI
1247 IN PPCI_FDO_EXTENSION DeviceExtension,
1248 IN PCI_STATE NewState
1249);
1250
1251//
1252// Arbiter Support
1253//
1255NTAPI
1258);
1259
1261NTAPI
1263 IN PPCI_FDO_EXTENSION DeviceExtension,
1265);
1266
1267//
1268// Debug Helpers
1269//
1270BOOLEAN
1271NTAPI
1274 IN PPCI_FDO_EXTENSION DeviceExtension,
1275 IN USHORT MaxMinor
1276);
1277
1278VOID
1279NTAPI
1281 IN PPCI_COMMON_HEADER PciData
1282);
1283
1284VOID
1285NTAPI
1287 IN PDEVICE_CAPABILITIES DeviceCaps
1288);
1289
1290VOID
1291NTAPI
1294);
1295
1296VOID
1297NTAPI
1300);
1301
1302VOID
1303NTAPI
1305 IN PCM_PARTIAL_RESOURCE_DESCRIPTOR PartialResource
1306);
1307
1308//
1309// Interface Support
1310//
1312NTAPI
1314 IN PPCI_FDO_EXTENSION DeviceExtension,
1316 IN ULONG Size,
1318 IN PVOID InterfaceData,
1320 IN BOOLEAN LastChance
1321);
1322
1324NTAPI
1327);
1328
1330NTAPI
1333);
1334
1336NTAPI
1339);
1340
1342NTAPI
1345);
1346
1348NTAPI
1351);
1352
1354NTAPI
1357);
1358
1360NTAPI
1363);
1364
1366NTAPI
1369);
1370
1372NTAPI
1375);
1376
1378NTAPI
1381);
1382
1384NTAPI
1387);
1388
1390NTAPI
1393);
1394
1396NTAPI
1398 IN PVOID DeviceExtension,
1400 IN PVOID InterfaceData,
1402 IN USHORT Size,
1404);
1405
1407NTAPI
1409 IN PVOID DeviceExtension,
1411 IN PVOID InterfaceData,
1413 IN USHORT Size,
1415);
1416
1418NTAPI
1420 IN PVOID DeviceExtension,
1422 IN PVOID InterfaceData,
1424 IN USHORT Size,
1426);
1427
1429NTAPI
1431 IN PVOID DeviceExtension,
1433 IN PVOID InterfaceData,
1435 IN USHORT Size,
1437);
1438
1440NTAPI
1442 IN PVOID DeviceExtension,
1444 IN PVOID InterfaceData,
1446 IN USHORT Size,
1448);
1449
1451NTAPI
1453 IN PVOID DeviceExtension,
1455 IN PVOID InterfaceData,
1457 IN USHORT Size,
1459);
1460
1461VOID
1462NTAPI
1465);
1466
1468NTAPI
1470 IN PVOID DeviceExtension,
1472 IN PVOID InterfaceData,
1474 IN USHORT Size,
1476);
1477
1479NTAPI
1481 IN PVOID DeviceExtension,
1483 IN PVOID InterfaceData,
1485 IN USHORT Size,
1487);
1488
1490NTAPI
1492 IN PVOID DeviceExtension,
1494 IN PVOID InterfaceData,
1496 IN USHORT Size,
1498);
1499
1501NTAPI
1503 IN PVOID DeviceExtension,
1505 IN PVOID InterfaceData,
1507 IN USHORT Size,
1509);
1510
1512NTAPI
1514 IN PVOID DeviceExtension,
1516 IN PVOID InterfaceData,
1518 IN USHORT Size,
1520);
1521
1523NTAPI
1525 IN PVOID DeviceExtension,
1527 IN PVOID InterfaceData,
1529 IN USHORT Size,
1531);
1532
1533//
1534// PCI Enumeration and Resources
1535//
1537NTAPI
1539 IN PPCI_FDO_EXTENSION DeviceExtension,
1540 IN OUT PDEVICE_RELATIONS *pDeviceRelations
1541);
1542
1544NTAPI
1548);
1549
1551NTAPI
1554 IN OUT PDEVICE_RELATIONS *pDeviceRelations
1555);
1556
1558NTAPI
1561 IN OUT PDEVICE_RELATIONS *pDeviceRelations
1562);
1563
1565NTAPI
1569);
1570
1571BOOLEAN
1572NTAPI
1576);
1577
1579NTAPI
1582 IN BOOLEAN DoReset,
1583 IN BOOLEAN SomethingSomethingDarkSide
1584);
1585
1587NTAPI
1590 IN PPCI_COMMON_HEADER PciData,
1592);
1593
1594//
1595// Identification Functions
1596//
1597PWCHAR
1598NTAPI
1602);
1603
1605NTAPI
1609 IN ULONG Locale,
1611);
1612
1614NTAPI
1616 IN PPCI_PDO_EXTENSION DeviceExtension,
1619);
1620
1621//
1622// CardBUS Support
1623//
1624VOID
1625NTAPI
1628);
1629
1630VOID
1631NTAPI
1634);
1635
1636VOID
1637NTAPI
1640);
1641
1642VOID
1643NTAPI
1646);
1647
1648VOID
1649NTAPI
1652 IN PPCI_COMMON_HEADER PciData,
1653 IN PIO_RESOURCE_DESCRIPTOR IoDescriptor
1654);
1655
1656VOID
1657NTAPI
1660 IN PPCI_COMMON_HEADER PciData
1661);
1662
1663VOID
1664NTAPI
1667 IN PPCI_COMMON_HEADER PciData
1668);
1669
1670//
1671// PCI Device Support
1672//
1673VOID
1674NTAPI
1677);
1678
1679VOID
1680NTAPI
1683);
1684
1685VOID
1686NTAPI
1689);
1690
1691VOID
1692NTAPI
1695);
1696
1697VOID
1698NTAPI
1701 IN PPCI_COMMON_HEADER PciData,
1702 IN PIO_RESOURCE_DESCRIPTOR IoDescriptor
1703);
1704
1705VOID
1706NTAPI
1709 IN PPCI_COMMON_HEADER PciData
1710);
1711
1712VOID
1713NTAPI
1716 IN PPCI_COMMON_HEADER PciData
1717);
1718
1719//
1720// PCI-to-PCI Bridge Device Support
1721//
1722VOID
1723NTAPI
1726);
1727
1728VOID
1729NTAPI
1732);
1733
1734VOID
1735NTAPI
1738);
1739
1740VOID
1741NTAPI
1744);
1745
1746VOID
1747NTAPI
1750 IN PPCI_COMMON_HEADER PciData,
1751 IN PIO_RESOURCE_DESCRIPTOR IoDescriptor
1752);
1753
1754VOID
1755NTAPI
1758 IN PPCI_COMMON_HEADER PciData
1759);
1760
1761VOID
1762NTAPI
1765 IN PPCI_COMMON_HEADER PciData
1766);
1767
1768//
1769// Bus Number Routines
1770//
1771BOOLEAN
1772NTAPI
1775);
1776
1777//
1778// Routine Interface
1779//
1781NTAPI
1792 OUT PDEVICE_OBJECT *pFoundDeviceObject
1793);
1794
1795//
1796// External Resources
1797//
1799extern KEVENT PciGlobalLock;
1810//extern PCI_INTERFACE PciNativeIdeInterface;
1821
1822/* Exported by NTOS, should this go in the NDK? */
1824
1825#endif /* _PCIX_PCH_ */
Type
Definition: Type.h:7
#define VOID
Definition: acefi.h:82
unsigned char BOOLEAN
Definition: actypes.h:127
LONG NTSTATUS
Definition: precomp.h:26
#define NTSYSAPI
Definition: ntoskrnl.h:12
PDEVICE_OBJECT PhysicalDeviceObject
Definition: btrfs_drv.h:1157
_In_ ULONG_PTR HackFlags
Definition: cdrom.h:983
Definition: bufpool.h:45
_In_ PIRP Irp
Definition: csq.h:116
#define NTSTATUS
Definition: precomp.h:19
NTSTATUS NTAPI PciInitializeArbiterRanges(IN PPCI_FDO_EXTENSION DeviceExtension, IN PCM_RESOURCE_LIST Resources)
Definition: arb_comn.c:128
PCI_INTERFACE PciDevicePresentInterface
Definition: devhere.c:18
BOOLEAN PciEnableNativeModeATA
Definition: init.c:24
#define MAX_ANSI_STRINGS
Definition: pci.h:87
VOID NTAPI PciReadSlotConfig(IN PPCI_FDO_EXTENSION DeviceExtension, IN PCI_SLOT_NUMBER Slot, IN PVOID Buffer, IN ULONG Offset, IN ULONG Length)
Definition: config.c:153
NTSTATUS NTAPI routeintrf_Constructor(IN PVOID DeviceExtension, IN PVOID Instance, IN PVOID InterfaceData, IN USHORT Version, IN USHORT Size, IN PINTERFACE Interface)
Definition: routintf.c:47
PCI_INTERFACE BusHandlerInterface
Definition: busintrf.c:18
NTSYSAPI BOOLEAN InitSafeBootMode
Definition: init.c:71
VOID NTAPI PPBridge_SaveCurrentSettings(IN PPCI_CONFIGURATOR_CONTEXT Context)
Definition: ppbridge.c:225
NTSTATUS NTAPI agpintrf_Constructor(IN PVOID DeviceExtension, IN PVOID Instance, IN PVOID InterfaceData, IN USHORT Version, IN USHORT Size, IN PINTERFACE Interface)
Definition: agpintrf.c:47
enum _PCI_STATE PCI_STATE
BOOLEAN NTAPI PciDebugIrpDispatchDisplay(IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension, IN USHORT MaxMinor)
Definition: debug.c:124
VOID NTAPI Cardbus_SaveCurrentSettings(IN PPCI_CONFIGURATOR_CONTEXT Context)
Definition: cardbus.c:35
NTSTATUS NTAPI PciPdoCreate(IN PPCI_FDO_EXTENSION DeviceExtension, IN PCI_SLOT_NUMBER Slot, OUT PDEVICE_OBJECT *PdoDeviceObject)
Definition: pdo.c:542
NTSTATUS NTAPI PciPdoIrpStopDevice(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:262
PDRIVER_OBJECT PciDriverObject
Definition: init.c:19
VOID NTAPI PciWriteDeviceConfig(IN PPCI_PDO_EXTENSION DeviceExtension, IN PVOID Buffer, IN ULONG Offset, IN ULONG Length)
Definition: config.c:121
VOID NTAPI PPBridge_GetAdditionalResourceDescriptors(IN PPCI_CONFIGURATOR_CONTEXT Context, IN PPCI_COMMON_HEADER PciData, IN PIO_RESOURCE_DESCRIPTOR IoDescriptor)
Definition: ppbridge.c:628
PCI_INTERFACE ArbiterInterfaceIo
Definition: ar_memio.c:31
NTSTATUS NTAPI pcicbintrf_Constructor(IN PVOID DeviceExtension, IN PVOID Instance, IN PVOID InterfaceData, IN USHORT Version, IN USHORT Size, IN PINTERFACE Interface)
Definition: cardbus.c:109
struct _PCI_LOCK PCI_LOCK
VOID NTAPI PciDebugPrintPartialResource(IN PCM_PARTIAL_RESOURCE_DESCRIPTOR PartialResource)
Definition: debug.c:348
enum _PCI_DISPATCH_STYLE PCI_DISPATCH_STYLE
NTSTATUS NTAPI busintrf_Constructor(IN PVOID DeviceExtension, IN PVOID Instance, IN PVOID InterfaceData, IN USHORT Version, IN USHORT Size, IN PINTERFACE Interface)
Definition: busintrf.c:142
VOID(NTAPI * PCI_CONFIGURATOR_GET_ADDITIONAL_RESOURCE_DESCRIPTORS)(IN struct _PCI_CONFIGURATOR_CONTEXT *Context, IN PPCI_COMMON_HEADER PciData, IN PIO_RESOURCE_DESCRIPTOR IoDescriptor)
Definition: pci.h:461
NTSTATUS NTAPI PciIrpNotSupported(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: dispatch.c:261
struct _PCI_POWER_STATE PCI_POWER_STATE
VOID NTAPI PciInsertEntryAtTail(IN PSINGLE_LIST_ENTRY ListHead, IN PPCI_FDO_EXTENSION DeviceExtension, IN PKEVENT Lock)
Definition: utils.c:400
struct _PCI_MN_DISPATCH_TABLE * PPCI_MN_DISPATCH_TABLE
NTSTATUS NTAPI PciPdoSetPowerState(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:93
VOID NTAPI PciDebugDumpCommonConfig(IN PPCI_COMMON_HEADER PciData)
Definition: debug.c:207
NTSTATUS NTAPI PciQueryBusInformation(IN PPCI_PDO_EXTENSION PdoExtension, OUT PPNP_BUS_INFORMATION *Buffer)
Definition: utils.c:1316
NTSTATUS NTAPI PciPdoIrpCancelStopDevice(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:290
NTSTATUS NTAPI busintrf_Initializer(IN PVOID Instance)
Definition: busintrf.c:132
NTSTATUS NTAPI devpresent_Constructor(IN PVOID DeviceExtension, IN PVOID Instance, IN PVOID InterfaceData, IN USHORT Version, IN USHORT Size, IN PINTERFACE Interface)
Definition: devhere.c:45
PPCI_SECONDARY_EXTENSION NTAPI PciFindNextSecondaryExtension(IN PSINGLE_LIST_ENTRY ListHead, IN PCI_SIGNATURE ExtensionType)
Definition: utils.c:584
NTSTATUS NTAPI PciSetResources(IN PPCI_PDO_EXTENSION PdoExtension, IN BOOLEAN DoReset, IN BOOLEAN SomethingSomethingDarkSide)
Definition: enum.c:2164
struct _PCI_ID_BUFFER * PPCI_ID_BUFFER
NTSTATUS NTAPI PciFdoWaitWake(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: power.c:206
_PCI_STATE
Definition: pci.h:128
@ PciMaxObjectState
Definition: pci.h:135
@ PciSurpriseRemoved
Definition: pci.h:133
@ PciDeleted
Definition: pci.h:131
@ PciStarted
Definition: pci.h:130
@ PciSynchronizedOperation
Definition: pci.h:134
@ PciStopped
Definition: pci.h:132
@ PciNotStarted
Definition: pci.h:129
NTSTATUS NTAPI PciFdoSetPowerState(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: power.c:221
struct _PCI_LOCK * PPCI_LOCK
VOID(NTAPI * PCI_CONFIGURATOR_RESET_DEVICE)(IN PPCI_PDO_EXTENSION PdoExtension, IN PPCI_COMMON_HEADER PciData)
Definition: pci.h:467
union _PCI_HEADER_TYPE_DEPENDENT PCI_HEADER_TYPE_DEPENDENT
enum _PCI_SIGNATURE PCI_SIGNATURE
struct _PCI_MN_DISPATCH_TABLE PCI_MN_DISPATCH_TABLE
NTSTATUS NTAPI ario_Constructor(IN PVOID DeviceExtension, IN PVOID Instance, IN PVOID InterfaceData, IN USHORT Version, IN USHORT Size, IN PINTERFACE Interface)
Definition: ar_memio.c:60
VOID NTAPI PciVerifierInit(IN PDRIVER_OBJECT DriverObject)
Definition: pcivrify.c:94
VOID NTAPI Device_GetAdditionalResourceDescriptors(IN PPCI_CONFIGURATOR_CONTEXT Context, IN PPCI_COMMON_HEADER PciData, IN PIO_RESOURCE_DESCRIPTOR IoDescriptor)
Definition: device.c:259
NTSTATUS NTAPI PciQueryId(IN PPCI_PDO_EXTENSION DeviceExtension, IN BUS_QUERY_ID_TYPE QueryType, OUT PWCHAR *Buffer)
Definition: id.c:200
NTSTATUS NTAPI armem_Constructor(IN PVOID DeviceExtension, IN PVOID Instance, IN PVOID InterfaceData, IN USHORT Version, IN USHORT Size, IN PINTERFACE Interface)
Definition: ar_memio.c:156
PWCHAR NTAPI PciGetDeviceDescriptionMessage(IN UCHAR BaseClass, IN UCHAR SubClass)
Definition: id.c:88
struct _PCI_INTERFACE * PPCI_INTERFACE
NTSTATUS NTAPI PciFdoIrpQueryLegacyBusInformation(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: fdo.c:365
struct _PCI_INTERFACE PCI_INTERFACE
NTSTATUS NTAPI PciPdoIrpSurpriseRemoval(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:514
NTSTATUS NTAPI PciBuildRequirementsList(IN PPCI_PDO_EXTENSION PdoExtension, IN PPCI_COMMON_HEADER PciData, OUT PIO_RESOURCE_REQUIREMENTS_LIST *Buffer)
Definition: enum.c:560
BOOLEAN NTAPI PciIsSlotPresentInParentMethod(IN PPCI_PDO_EXTENSION PdoExtension, IN ULONG Method)
Definition: utils.c:1094
NTSTATUS NTAPI PciFdoIrpStartDevice(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: fdo.c:76
PCI_INTERFACE PciCardbusPrivateInterface
Definition: cardbus.c:18
NTSTATUS NTAPI routeintrf_Initializer(IN PVOID Instance)
Definition: routintf.c:37
struct _PCI_CONFIGURATOR_CONTEXT * PPCI_CONFIGURATOR_CONTEXT
struct _PCI_LEGACY_DEVICE * PPCI_LEGACY_DEVICE
NTSTATUS NTAPI PciFdoIrpStopDevice(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: fdo.c:166
NTSTATUS NTAPI ario_Initializer(IN PVOID Instance)
Definition: ar_memio.c:48
NTSTATUS NTAPI tranirq_Initializer(IN PVOID Instance)
Definition: tr_irq.c:35
VOID NTAPI Cardbus_MassageHeaderForLimitsDetermination(IN PPCI_CONFIGURATOR_CONTEXT Context)
Definition: cardbus.c:51
struct _PCI_FUNCTION_RESOURCES * PPCI_FUNCTION_RESOURCES
VOID NTAPI Device_ChangeResourceSettings(IN PPCI_PDO_EXTENSION PdoExtension, IN PPCI_COMMON_HEADER PciData)
Definition: device.c:283
NTSTATUS NTAPI arbusno_Constructor(IN PVOID DeviceExtension, IN PVOID Instance, IN PVOID InterfaceData, IN USHORT Version, IN USHORT Size, IN PINTERFACE Interface)
Definition: ar_busno.c:73
NTSTATUS NTAPI PciPdoIrpQueryInterface(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:304
BOOLEAN PciAssignBusNumbers
Definition: config.c:18
struct _PCI_PDO_EXTENSION * PPCI_PDO_EXTENSION
struct _PCI_HACK_ENTRY * PPCI_HACK_ENTRY
VOID NTAPI Device_SaveLimits(IN PPCI_CONFIGURATOR_CONTEXT Context)
Definition: device.c:118
VOID NTAPI PciDebugPrintIoResReqList(IN PIO_RESOURCE_REQUIREMENTS_LIST Requirements)
Definition: debug.c:302
NTSTATUS NTAPI PciCancelStateTransition(IN PPCI_FDO_EXTENSION DeviceExtension, IN PCI_STATE NewState)
Definition: state.c:145
struct _PCI_IPI_CONTEXT PCI_IPI_CONTEXT
struct _PCI_MJ_DISPATCH_TABLE PCI_MJ_DISPATCH_TABLE
PCI_DEVICE_TYPES NTAPI PciClassifyDeviceType(IN PPCI_PDO_EXTENSION PdoExtension)
Definition: utils.c:1051
NTSTATUS NTAPI PciIrpInvalidDeviceRequest(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: dispatch.c:277
NTSTATUS NTAPI PciQueryCapabilities(IN PPCI_PDO_EXTENSION PdoExtension, IN OUT PDEVICE_CAPABILITIES DeviceCapability)
Definition: utils.c:1728
VOID(NTAPI * PCI_CONFIGURATOR_SAVE_LIMITS)(IN struct _PCI_CONFIGURATOR_CONTEXT *Context)
Definition: pci.h:448
NTSTATUS NTAPI PciBeginStateTransition(IN PPCI_FDO_EXTENSION DeviceExtension, IN PCI_STATE NewState)
Definition: state.c:97
NTSTATUS(NTAPI * PCI_INTERFACE_INITIALIZER)(IN PVOID Instance)
Definition: pci.h:369
struct _PCI_CONFIGURATOR PCI_CONFIGURATOR
struct _PCI_CONFIGURATOR_CONTEXT PCI_CONFIGURATOR_CONTEXT
NTSTATUS NTAPI PciQueryEjectionRelations(IN PPCI_PDO_EXTENSION PdoExtension, IN OUT PDEVICE_RELATIONS *pDeviceRelations)
Definition: enum.c:547
VOID NTAPI Cardbus_RestoreCurrent(IN PPCI_CONFIGURATOR_CONTEXT Context)
Definition: cardbus.c:59
NTSTATUS NTAPI PciCacheLegacyDeviceRouting(IN PDEVICE_OBJECT DeviceObject, IN ULONG BusNumber, IN ULONG SlotNumber, IN UCHAR InterruptLine, IN UCHAR InterruptPin, IN UCHAR BaseClass, IN UCHAR SubClass, IN PDEVICE_OBJECT PhysicalDeviceObject, IN PPCI_PDO_EXTENSION PdoExtension, OUT PDEVICE_OBJECT *pFoundDeviceObject)
Definition: routintf.c:70
NTSTATUS NTAPI PciFdoIrpSurpriseRemoval(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: fdo.c:351
struct _PCI_POWER_STATE * PPCI_POWER_STATE
PCI_INTERFACE PciRoutingInterface
Definition: routintf.c:20
NTSTATUS NTAPI PciGetBiosConfig(IN PPCI_PDO_EXTENSION DeviceExtension, OUT PPCI_COMMON_HEADER PciData)
Definition: utils.c:768
NTSTATUS NTAPI PciPdoIrpQueryResourceRequirements(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:395
NTSTATUS NTAPI PciQueryRequirements(IN PPCI_PDO_EXTENSION PdoExtension, IN OUT PIO_RESOURCE_REQUIREMENTS_LIST *RequirementsList)
Definition: enum.c:592
VOID NTAPI ario_ApplyBrokenVideoHack(IN PPCI_FDO_EXTENSION FdoExtension)
Definition: ar_memio.c:104
NTSTATUS NTAPI PciQueryTargetDeviceRelations(IN PPCI_PDO_EXTENSION PdoExtension, IN OUT PDEVICE_RELATIONS *pDeviceRelations)
Definition: enum.c:520
VOID NTAPI PPBridge_RestoreCurrent(IN PPCI_CONFIGURATOR_CONTEXT Context)
Definition: ppbridge.c:620
BOOLEAN NTAPI PciAreBusNumbersConfigured(IN PPCI_PDO_EXTENSION PdoExtension)
Definition: busno.c:20
VOID NTAPI PcipLinkSecondaryExtension(IN PSINGLE_LIST_ENTRY List, IN PVOID Lock, IN PPCI_SECONDARY_EXTENSION SecondaryExtension, IN PCI_SIGNATURE ExtensionType, IN PVOID Destructor)
Definition: utils.c:459
NTSTATUS NTAPI PciPdoIrpQueryDeviceText(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:411
VOID NTAPI Cardbus_ChangeResourceSettings(IN PPCI_PDO_EXTENSION PdoExtension, IN PPCI_COMMON_HEADER PciData)
Definition: cardbus.c:89
PPCI_IRQ_ROUTING_TABLE PciIrqRoutingTable
Definition: init.c:26
_PCI_DISPATCH_STYLE
Definition: pci.h:142
@ IRP_UPWARD
Definition: pci.h:145
@ IRP_COMPLETE
Definition: pci.h:143
@ IRP_DISPATCH
Definition: pci.h:146
@ IRP_DOWNWARD
Definition: pci.h:144
KEVENT PciGlobalLock
Definition: init.c:20
NTSTATUS NTAPI PciQueryDeviceRelations(IN PPCI_FDO_EXTENSION DeviceExtension, IN OUT PDEVICE_RELATIONS *pDeviceRelations)
Definition: enum.c:2043
NTSTATUS NTAPI PciQueryDeviceText(IN PPCI_PDO_EXTENSION PdoExtension, IN DEVICE_TEXT_TYPE QueryType, IN ULONG Locale, OUT PWCHAR *Buffer)
Definition: id.c:394
BOOLEAN PciRunningDatacenter
Definition: init.c:18
PCI_INTERFACE PciPmeInterface
Definition: pmeintf.c:18
enum _PCI_SIGNATURE * PPCI_SIGNATURE
struct _PCI_VERIFIER_DATA * PPCI_VERIFIER_DATA
VOID NTAPI Device_MassageHeaderForLimitsDetermination(IN PPCI_CONFIGURATOR_CONTEXT Context)
Definition: device.c:218
PPCI_PDO_EXTENSION NTAPI PciFindPdoByFunction(IN PPCI_FDO_EXTENSION DeviceExtension, IN ULONG FunctionNumber, IN PPCI_COMMON_HEADER PciData)
Definition: utils.c:695
BOOLEAN NTAPI PciOpenKey(IN PWCHAR KeyName, IN HANDLE RootKey, IN ACCESS_MASK DesiredAccess, OUT PHANDLE KeyHandle, OUT PNTSTATUS KeyStatus)
Definition: utils.c:165
VOID NTAPI Device_SaveCurrentSettings(IN PPCI_CONFIGURATOR_CONTEXT Context)
Definition: device.c:20
PCI_INTERFACE PciLegacyDeviceDetectionInterface
Definition: lddintrf.c:18
VOID NTAPI PPBridge_MassageHeaderForLimitsDetermination(IN PPCI_CONFIGURATOR_CONTEXT Context)
Definition: ppbridge.c:582
BOOLEAN NTAPI PciIsDeviceOnDebugPath(IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: utils.c:751
PCI_INTERFACE ArbiterInterfaceBusNumber
Definition: ar_busno.c:18
PCI_INTERFACE ArbiterInterfaceMemory
Definition: ar_memio.c:18
NTSTATUS NTAPI PciPdoIrpCancelRemoveDevice(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:248
PCI_INTERFACE TranslatorInterfaceInterrupt
Definition: tr_irq.c:18
NTSTATUS(NTAPI * PCI_DISPATCH_FUNCTION)(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PVOID DeviceExtension)
Definition: pci.h:326
NTSTATUS NTAPI PciPdoIrpQueryDeviceState(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:486
VOID NTAPI Device_ResetDevice(IN PPCI_PDO_EXTENSION PdoExtension, IN PPCI_COMMON_HEADER PciData)
Definition: device.c:272
NTSTATUS NTAPI PciCallDownIrpStack(IN PPCI_FDO_EXTENSION DeviceExtension, IN PIRP Irp)
Definition: dispatch.c:39
union _PCI_HEADER_TYPE_DEPENDENT * PPCI_HEADER_TYPE_DEPENDENT
struct _PCI_FUNCTION_RESOURCES PCI_FUNCTION_RESOURCES
NTSTATUS NTAPI PciPdoIrpReadConfig(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:458
NTSTATUS NTAPI PciPdoIrpQueryLegacyBusInformation(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:528
NTSTATUS NTAPI tranirq_Constructor(IN PVOID DeviceExtension, IN PVOID Instance, IN PVOID InterfaceData, IN USHORT Version, IN USHORT Size, IN PINTERFACE Interface)
Definition: tr_irq.c:45
NTSTATUS NTAPI locintrf_Constructor(IN PVOID DeviceExtension, IN PVOID Instance, IN PVOID InterfaceData, IN USHORT Version, IN USHORT Size, IN PINTERFACE Interface)
Definition: locintrf.c:45
NTSTATUS NTAPI PciPdoIrpRemoveDevice(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:234
struct _PCI_CONFIGURATOR * PPCI_CONFIGURATOR
NTSTATUS NTAPI PciInitializeArbiters(IN PPCI_FDO_EXTENSION FdoExtension)
Definition: arb_comn.c:40
VOID NTAPI PciDecodeEnable(IN PPCI_PDO_EXTENSION PdoExtension, IN BOOLEAN Enable, OUT PUSHORT Command)
Definition: utils.c:1267
NTSTATUS NTAPI PciPdoIrpQueryId(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:428
VOID NTAPI Cardbus_SaveLimits(IN PPCI_CONFIGURATOR_CONTEXT Context)
Definition: cardbus.c:43
VOID NTAPI PciDebugPrintCmResList(IN PCM_RESOURCE_LIST ResourceList)
Definition: debug.c:364
NTSTATUS NTAPI agpintrf_Initializer(IN PVOID Instance)
Definition: agpintrf.c:37
NTSTATUS NTAPI PciFdoIrpQueryDeviceRelations(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: fdo.c:208
struct _PCI_IPI_CONTEXT * PPCI_IPI_CONTEXT
NTSTATUS NTAPI PciPdoIrpQueryPower(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:107
BOOLEAN NTAPI PciIsCriticalDeviceClass(IN UCHAR BaseClass, IN UCHAR SubClass)
Definition: utils.c:672
struct _PCI_ID_BUFFER PCI_ID_BUFFER
NTSTATUS NTAPI PciPdoIrpQueryDeviceRelations(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:330
UCHAR NTAPI PciReadDeviceCapability(IN PPCI_PDO_EXTENSION DeviceExtension, IN UCHAR Offset, IN ULONG CapabilityId, OUT PPCI_CAPABILITIES_HEADER Buffer, IN ULONG Length)
Definition: utils.c:886
NTSTATUS NTAPI PciPdoIrpWriteConfig(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:472
NTSTATUS NTAPI PciQueryInterface(IN PPCI_FDO_EXTENSION DeviceExtension, IN CONST GUID *InterfaceType, IN ULONG Size, IN ULONG Version, IN PVOID InterfaceData, IN PINTERFACE Interface, IN BOOLEAN LastChance)
Definition: intrface.c:45
NTSTATUS NTAPI PciPassIrpFromFdoToPdo(IN PPCI_FDO_EXTENSION DeviceExtension, IN PIRP Irp)
Definition: dispatch.c:70
VOID NTAPI PciHookHal(VOID)
Definition: hookhal.c:248
PCI_INTERFACE AgpTargetInterface
Definition: agpintrf.c:20
struct PCI_ARBITER_INSTANCE * PPCI_ARBITER_INSTANCE
NTSTATUS NTAPI lddintrf_Constructor(IN PVOID DeviceExtension, IN PVOID Instance, IN PVOID InterfaceData, IN USHORT Version, IN USHORT Size, IN PINTERFACE Interface)
Definition: lddintrf.c:45
BOOLEAN NTAPI PciStringToUSHORT(IN PWCHAR String, OUT PUSHORT Value)
Definition: utils.c:61
VOID NTAPI Cardbus_ResetDevice(IN PPCI_PDO_EXTENSION PdoExtension, IN PPCI_COMMON_HEADER PciData)
Definition: cardbus.c:79
NTSTATUS NTAPI PciFdoIrpQueryRemoveDevice(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: fdo.c:124
NTSTATUS NTAPI PciPdoIrpQueryCapabilities(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:364
NTSTATUS NTAPI PciPdoIrpStartDevice(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:121
NTSTATUS NTAPI PciPdoIrpQueryRemoveDevice(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:220
NTSTATUS NTAPI PciSetPowerManagedDevicePowerState(IN PPCI_PDO_EXTENSION DeviceExtension, IN DEVICE_POWER_STATE DeviceState, IN BOOLEAN IrpSet)
Definition: power.c:121
ULONGLONG NTAPI PciGetHackFlags(IN USHORT VendorId, IN USHORT DeviceId, IN USHORT SubVendorId, IN USHORT SubSystemId, IN UCHAR RevisionId)
Definition: utils.c:604
VOID NTAPI PPBridge_ChangeResourceSettings(IN PPCI_PDO_EXTENSION PdoExtension, IN PPCI_COMMON_HEADER PciData)
Definition: ppbridge.c:683
PPCI_HACK_ENTRY PciHackTable
Definition: init.c:28
PCI_INTERFACE PciLocationInterface
Definition: locintrf.c:18
NTSTATUS NTAPI PciSaveBiosConfig(IN PPCI_PDO_EXTENSION DeviceExtension, OUT PPCI_COMMON_HEADER PciData)
NTSTATUS NTAPI PciFdoIrpCancelRemoveDevice(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: fdo.c:152
UCHAR NTAPI PciGetAdjustedInterruptLine(IN PPCI_PDO_EXTENSION PdoExtension)
Definition: config.c:24
NTSTATUS NTAPI PciFdoIrpQueryInterface(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: fdo.c:235
PPCI_VERIFIER_DATA NTAPI PciVerifierRetrieveFailureData(IN ULONG FailureCode)
Definition: pcivrify.c:60
NTSTATUS NTAPI locintrf_Initializer(IN PVOID Instance)
Definition: locintrf.c:35
NTSTATUS NTAPI arbusno_Initializer(IN PVOID Instance)
Definition: ar_busno.c:35
VOID NTAPI PPBridge_SaveLimits(IN PPCI_CONFIGURATOR_CONTEXT Context)
Definition: ppbridge.c:465
VOID(NTAPI * PCI_IPI_FUNCTION)(IN PVOID Reserved, IN PVOID Context)
Definition: pci.h:503
BOOLEAN NTAPI PciCanDisableDecodes(IN PPCI_PDO_EXTENSION DeviceExtension, IN PPCI_COMMON_HEADER Config, IN ULONGLONG HackFlags, IN BOOLEAN ForPowerDown)
Definition: utils.c:955
PPCI_FDO_EXTENSION NTAPI PciFindParentPciFdoExtension(IN PDEVICE_OBJECT DeviceObject, IN PKEVENT Lock)
Definition: utils.c:340
NTSTATUS NTAPI PciFdoIrpQueryCapabilities(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: fdo.c:310
struct _PCI_FDO_EXTENSION PCI_FDO_EXTENSION
BOOLEAN NTAPI PciCreateIoDescriptorFromBarLimit(PIO_RESOURCE_DESCRIPTOR ResourceDescriptor, IN PULONG BarArray, IN BOOLEAN Rom)
Definition: utils.c:1175
NTSTATUS NTAPI PciGetDeviceProperty(IN PDEVICE_OBJECT DeviceObject, IN DEVICE_REGISTRY_PROPERTY DeviceProperty, OUT PVOID *OutputBuffer)
Definition: utils.c:475
struct _PCI_LEGACY_DEVICE PCI_LEGACY_DEVICE
NTSTATUS NTAPI PciGetRegistryValue(IN PWCHAR ValueName, IN PWCHAR KeyName, IN HANDLE RootHandle, IN ULONG Type, OUT PVOID *OutputBuffer, OUT PULONG OutputLength)
Definition: utils.c:192
PPCI_INTERFACE PciInterfaces[]
Definition: intrface.c:18
_PCI_DEVICE_TYPES
Definition: pci.h:116
@ PciTypeHostBridge
Definition: pci.h:118
@ PciTypeDevice
Definition: pci.h:121
@ PciTypePciBridge
Definition: pci.h:119
@ PciTypeInvalid
Definition: pci.h:117
@ PciTypeCardbusBridge
Definition: pci.h:120
NTSTATUS NTAPI PciPdoIrpDeviceUsageNotification(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:500
VOID(NTAPI * PCI_CONFIGURATOR_CHANGE_RESOURCE_SETTINGS)(IN PPCI_PDO_EXTENSION PdoExtension, IN PPCI_COMMON_HEADER PciData)
Definition: pci.h:456
NTSTATUS NTAPI lddintrf_Initializer(IN PVOID Instance)
Definition: lddintrf.c:35
SINGLE_LIST_ENTRY PciFdoExtensionListHead
Definition: fdo.c:18
VOID(NTAPI * PCI_CONFIGURATOR_SAVE_CURRENT_SETTINGS)(IN struct _PCI_CONFIGURATOR_CONTEXT *Context)
Definition: pci.h:452
struct _PCI_VERIFIER_DATA PCI_VERIFIER_DATA
VOID NTAPI PciCommitStateTransition(IN PPCI_FDO_EXTENSION DeviceExtension, IN PCI_STATE NewState)
Definition: state.c:181
NTSTATUS NTAPI PciPdoIrpQueryStopDevice(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:276
NTSTATUS NTAPI PciFdoIrpDeviceUsageNotification(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: fdo.c:337
KIPI_BROADCAST_WORKER PciExecuteCriticalSystemRoutine
Definition: pci.h:1133
PWATCHDOG_TABLE WdTable
Definition: init.c:27
BOOLEAN NTAPI PciComputeNewCurrentSettings(IN PPCI_PDO_EXTENSION PdoExtension, IN PCM_RESOURCE_LIST ResourceList)
Definition: enum.c:55
NTSTATUS NTAPI PciFdoIrpQueryStopDevice(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: fdo.c:180
NTSTATUS NTAPI PciFdoIrpQueryPower(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: power.c:236
VOID NTAPI PciInitializeState(IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: state.c:88
NTSTATUS NTAPI pcicbintrf_Initializer(IN PVOID Instance)
Definition: cardbus.c:99
NTSTATUS NTAPI PciPdoIrpQueryResources(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:380
BOOLEAN NTAPI PciUnicodeStringStrStr(IN PUNICODE_STRING InputString, IN PCUNICODE_STRING EqualString, IN BOOLEAN CaseInSensitive)
Definition: utils.c:27
VOID NTAPI PPBridge_ResetDevice(IN PPCI_PDO_EXTENSION PdoExtension, IN PPCI_COMMON_HEADER PciData)
Definition: ppbridge.c:673
VOID NTAPI PciReadDeviceConfig(IN PPCI_PDO_EXTENSION DeviceExtension, IN PVOID Buffer, IN ULONG Offset, IN ULONG Length)
Definition: config.c:137
NTSTATUS NTAPI PciPdoWaitWake(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:79
NTSTATUS NTAPI PciPmeInterfaceInitializer(IN PVOID Instance)
Definition: pmeintf.c:35
VOID NTAPI PciDebugDumpQueryCapabilities(IN PDEVICE_CAPABILITIES DeviceCaps)
Definition: debug.c:221
NTSTATUS(NTAPI * PCI_INTERFACE_CONSTRUCTOR)(IN PVOID DeviceExtension, IN PVOID Instance, IN PVOID InterfaceData, IN USHORT Version, IN USHORT Size, IN PINTERFACE Interface)
Definition: pci.h:360
struct PCI_SECONDARY_EXTENSION * PPCI_SECONDARY_EXTENSION
NTSTATUS NTAPI PciQueryResources(IN PPCI_PDO_EXTENSION PdoExtension, OUT PCM_RESOURCE_LIST *Buffer)
Definition: enum.c:363
struct _PCI_PDO_EXTENSION PCI_PDO_EXTENSION
NTSTATUS NTAPI PciBuildDefaultExclusionLists(VOID)
Definition: utils.c:276
enum _PCI_DEVICE_TYPES PCI_DEVICE_TYPES
VOID(NTAPI * PCI_CONFIGURATOR_RESTORE_CURRENT)(IN struct _PCI_CONFIGURATOR_CONTEXT *Context)
Definition: pci.h:444
VOID NTAPI Cardbus_GetAdditionalResourceDescriptors(IN PPCI_CONFIGURATOR_CONTEXT Context, IN PPCI_COMMON_HEADER PciData, IN PIO_RESOURCE_DESCRIPTOR IoDescriptor)
Definition: cardbus.c:67
DRIVER_DISPATCH PciDispatchIrp
Definition: pci.h:542
struct _PCI_MJ_DISPATCH_TABLE * PPCI_MJ_DISPATCH_TABLE
BOOLEAN NTAPI PciIsDatacenter(VOID)
Definition: utils.c:131
NTSTATUS NTAPI PciPdoIrpQueryBusInformation(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:442
DRIVER_ADD_DEVICE PciAddDevice
Definition: pci.h:620
NTSTATUS NTAPI PciGetConfigHandlers(IN PPCI_FDO_EXTENSION FdoExtension)
Definition: config.c:254
NTSTATUS NTAPI PciPmeInterfaceConstructor(IN PVOID DeviceExtension, IN PVOID Instance, IN PVOID InterfaceData, IN USHORT Version, IN USHORT Size, IN PINTERFACE Interface)
Definition: pmeintf.c:74
struct _PCI_HACK_ENTRY PCI_HACK_ENTRY
VOID(NTAPI * PCI_CONFIGURATOR_INITIALIZE)(IN struct _PCI_CONFIGURATOR_CONTEXT *Context)
Definition: pci.h:440
NTSTATUS NTAPI PciSendIoctl(IN PDEVICE_OBJECT DeviceObject, IN ULONG IoControlCode, IN PVOID InputBuffer, IN ULONG InputBufferLength, IN PVOID OutputBuffer, IN ULONG OutputBufferLength)
Definition: utils.c:531
struct _PCI_FDO_EXTENSION * PPCI_FDO_EXTENSION
VOID NTAPI Device_RestoreCurrent(IN PPCI_CONFIGURATOR_CONTEXT Context)
Definition: device.c:250
_PCI_SIGNATURE
Definition: pci.h:93
@ PciInterface_NativeIde
Definition: pci.h:107
@ PciFdoExtensionType
Definition: pci.h:95
@ PciPdoExtensionType
Definition: pci.h:94
@ PciInterface_PciCb
Definition: pci.h:103
@ PciInterface_IntRouteHandler
Definition: pci.h:102
@ PciArb_BusNumber
Definition: pci.h:99
@ PciInterface_Location
Definition: pci.h:109
@ PciArb_Io
Definition: pci.h:96
@ PciInterface_DevicePresent
Definition: pci.h:106
@ PciArb_Interrupt
Definition: pci.h:98
@ PciInterface_BusHandler
Definition: pci.h:101
@ PciTrans_Interrupt
Definition: pci.h:100
@ PciInterface_LegacyDeviceDetection
Definition: pci.h:104
@ PciArb_Memory
Definition: pci.h:97
@ PciInterface_AgpTarget
Definition: pci.h:108
@ PciInterface_PmeHandler
Definition: pci.h:105
NTSTATUS NTAPI armem_Initializer(IN PVOID Instance)
Definition: ar_memio.c:144
NTSTATUS NTAPI PciFdoIrpCancelStopDevice(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: fdo.c:194
NTSTATUS NTAPI PciFdoIrpRemoveDevice(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: fdo.c:138
NTSTATUS NTAPI devpresent_Initializer(IN PVOID Instance)
Definition: devhere.c:35
@ PdoExtension
Definition: precomp.h:49
@ FdoExtension
Definition: precomp.h:48
_Outptr_ PUSB_DEVICE_HANDLE _In_ PUSB_DEVICE_HANDLE _In_ USHORT _In_ PUSB_PORT_PATH _Out_ PUSB_CD_ERROR_INFORMATION _In_ USHORT _In_ PDEVICE_OBJECT PdoDeviceObject
Definition: hubbusif.h:95
* PNTSTATUS
Definition: strlen.c:14
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ ULONG _Out_ PNDIS_STRING _Out_ PNDIS_HANDLE KeyHandle
Definition: ndis.h:4715
_In_ const STRING _In_ BOOLEAN CaseInSensitive
Definition: rtlfuncs.h:2437
DRIVER_DISPATCH(nfs41_FsdDispatch)
ULONG ACCESS_MASK
Definition: nt_native.h:40
_In_ ULONG _In_ ULONG Offset
Definition: ntddpcm.h:101
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
Definition: ntddpcm.h:142
enum _DEVICE_POWER_STATE DEVICE_POWER_STATE
enum _SYSTEM_POWER_STATE SYSTEM_POWER_STATE
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:455
_Must_inspect_result_ _In_ KTMOBJECT_TYPE QueryType
Definition: nttmapi.h:404
_In_ ULONG BusNumber
Definition: pciidex.h:65
#define CONST
Definition: pedump.c:81
short WCHAR
Definition: pedump.c:58
long LONG
Definition: pedump.c:60
unsigned short USHORT
Definition: pedump.c:61
char CHAR
Definition: pedump.c:57
static PMEMKEY RootKey
Definition: registry.c:55
_In_ PVOID Context
Definition: storport.h:2269
Definition: shell.h:41
PPCI_FDO_EXTENSION BusFdoExtension
Definition: pci.h:406
PCI_SECONDARY_EXTENSION Header
Definition: pci.h:404
WCHAR InstanceName[24]
Definition: pci.h:407
ARBITER_INSTANCE CommonInstance
Definition: pci.h:408
PPCI_INTERFACE Interface
Definition: pci.h:405
SINGLE_LIST_ENTRY List
Definition: pci.h:394
PCI_SIGNATURE ExtensionType
Definition: pci.h:395
PPCI_CONFIGURATOR Configurator
Definition: pci.h:494
PPCI_PDO_EXTENSION PdoExtension
Definition: pci.h:491
USHORT SecondaryStatus
Definition: pci.h:495
PPCI_COMMON_HEADER Current
Definition: pci.h:492
PPCI_COMMON_HEADER PciData
Definition: pci.h:493
PCI_CONFIGURATOR_CHANGE_RESOURCE_SETTINGS ChangeResourceSettings
Definition: pci.h:481
PCI_CONFIGURATOR_RESTORE_CURRENT RestoreCurrent
Definition: pci.h:478
PCI_CONFIGURATOR_SAVE_LIMITS SaveLimits
Definition: pci.h:479
PCI_CONFIGURATOR_RESET_DEVICE ResetDevice
Definition: pci.h:483
PCI_CONFIGURATOR_GET_ADDITIONAL_RESOURCE_DESCRIPTORS GetAdditionalResourceDescriptors
Definition: pci.h:482
PCI_CONFIGURATOR_INITIALIZE Initialize
Definition: pci.h:477
PCI_CONFIGURATOR_SAVE_CURRENT_SETTINGS SaveCurrentSettings
Definition: pci.h:480
BOOLEAN DeviceState
Definition: pci.h:197
BOOLEAN Fake
Definition: pci.h:212
BOOLEAN LatencyTimer
Definition: pci.h:227
struct _PCI_PDO_EXTENSION * ChildBridgePdoList
Definition: pci.h:207
BOOLEAN ArbitersInitialized
Definition: pci.h:215
SINGLE_LIST_ENTRY SecondaryExtension
Definition: pci.h:219
BOOLEAN ChildDelete
Definition: pci.h:213
BOOLEAN CacheLineSize
Definition: pci.h:226
struct _PCI_FDO_EXTENSION::@735 HotPlugParameters
PDEVICE_OBJECT AttachedDeviceObject
Definition: pci.h:202
PDEVICE_OBJECT PhysicalDeviceObject
Definition: pci.h:200
LONG BusHackFlags
Definition: pci.h:231
PPCI_COMMON_CONFIG PreservedConfig
Definition: pci.h:221
struct _PCI_FDO_EXTENSION * ParentFdoExtension
Definition: pci.h:206
BOOLEAN EnablePERR
Definition: pci.h:228
PCI_LOCK Lock
Definition: pci.h:222
BOOLEAN TentativeNextState
Definition: pci.h:198
ULONG ExtensionType
Definition: pci.h:195
BOOLEAN EnableSERR
Definition: pci.h:229
PPCI_BUS_INTERFACE_STANDARD PciBusInterface
Definition: pci.h:208
LONG PciPmeInterfaceCount
Definition: pci.h:232
BOOLEAN Acquired
Definition: pci.h:225
BUS_HANDLER * BusHandler
Definition: pci.h:210
struct _PCI_MJ_DISPATCH_TABLE * IrpDispatchTable
Definition: pci.h:196
SINGLE_LIST_ENTRY List
Definition: pci.h:194
PDEVICE_OBJECT FunctionalDeviceObject
Definition: pci.h:201
PCI_POWER_STATE PowerState
Definition: pci.h:218
struct _PCI_PDO_EXTENSION * ChildPdoList
Definition: pci.h:204
BOOLEAN BaseBus
Definition: pci.h:211
BOOLEAN BrokenVideoHackApplied
Definition: pci.h:216
KEVENT SecondaryExtLock
Definition: pci.h:199
struct _PCI_FDO_EXTENSION * BusRootFdoExtension
Definition: pci.h:205
BOOLEAN MaxSubordinateBus
Definition: pci.h:209
BOOLEAN Hibernated
Definition: pci.h:217
LONG ChildWaitWakeCount
Definition: pci.h:220
KEVENT ChildListLock
Definition: pci.h:203
BOOLEAN Scanned
Definition: pci.h:214
IO_RESOURCE_DESCRIPTOR Limit[7]
Definition: pci.h:237
CM_PARTIAL_RESOURCE_DESCRIPTOR Current[7]
Definition: pci.h:238
Definition: pci.h:153
ULONGLONG HackFlags
Definition: pci.h:158
USHORT SubSystemID
Definition: pci.h:157
USHORT VendorID
Definition: pci.h:154
USHORT RevisionID
Definition: pci.h:159
USHORT DeviceID
Definition: pci.h:155
UCHAR Flags
Definition: pci.h:160
USHORT SubVendorID
Definition: pci.h:156
ULONG Count
Definition: pci.h:427
ULONG StringSize[MAX_ANSI_STRINGS]
Definition: pci.h:429
CHAR BufferData[256]
Definition: pci.h:432
ANSI_STRING Strings[MAX_ANSI_STRINGS]
Definition: pci.h:428
ULONG TotalLength
Definition: pci.h:430
PCHAR CharBuffer
Definition: pci.h:431
USHORT MinSize
Definition: pci.h:379
USHORT Flags
Definition: pci.h:382
LONG ReferenceCount
Definition: pci.h:383
USHORT MaxVersion
Definition: pci.h:381
PCI_INTERFACE_CONSTRUCTOR Constructor
Definition: pci.h:385
PCI_SIGNATURE Signature
Definition: pci.h:384
PCI_INTERFACE_INITIALIZER Initializer
Definition: pci.h:386
USHORT MinVersion
Definition: pci.h:380
CONST GUID * InterfaceType
Definition: pci.h:378
LONG RunCount
Definition: pci.h:513
ULONG Barrier
Definition: pci.h:514
PVOID Context
Definition: pci.h:517
PCI_IPI_FUNCTION Function
Definition: pci.h:516
PVOID DeviceExtension
Definition: pci.h:515
UCHAR InterruptPin
Definition: pci.h:530
UCHAR SubClass
Definition: pci.h:532
UCHAR BaseClass
Definition: pci.h:531
PPCI_PDO_EXTENSION PdoExtension
Definition: pci.h:535
UCHAR InterruptLine
Definition: pci.h:529
PDEVICE_OBJECT PhysicalDeviceObject
Definition: pci.h:533
PDEVICE_OBJECT DeviceObject
Definition: pci.h:526
ROUTING_TOKEN RoutingToken
Definition: pci.h:534
struct _PCI_LEGACY_DEVICE * Next
Definition: pci.h:525
ULONG BusNumber
Definition: pci.h:527
ULONG SlotNumber
Definition: pci.h:528
Definition: pci.h:184
BOOLEAN OldIrql
Definition: pci.h:186
LONG Atom
Definition: pci.h:185
ULONG PnpIrpMaximumMinorFunction
Definition: pci.h:346
PCI_DISPATCH_FUNCTION SystemControlIrpDispatchFunction
Definition: pci.h:351
PPCI_MN_DISPATCH_TABLE PowerIrpDispatchTable
Definition: pci.h:349
PCI_DISPATCH_STYLE OtherIrpDispatchStyle
Definition: pci.h:352
PCI_DISPATCH_FUNCTION OtherIrpDispatchFunction
Definition: pci.h:353
ULONG PowerIrpMaximumMinorFunction
Definition: pci.h:348
PPCI_MN_DISPATCH_TABLE PnpIrpDispatchTable
Definition: pci.h:347
PCI_DISPATCH_STYLE SystemControlIrpDispatchStyle
Definition: pci.h:350
PCI_DISPATCH_STYLE DispatchStyle
Definition: pci.h:337
PCI_DISPATCH_FUNCTION DispatchFunction
Definition: pci.h:338
PCI_SLOT_NUMBER Slot
Definition: pci.h:273
PCI_FDO_EXTENSION * BridgeFdoExtension
Definition: pci.h:313
BOOLEAN DeviceState
Definition: pci.h:269
LONG BusInterfaceReferenceCount
Definition: pci.h:277
BOOLEAN ProgIf
Definition: pci.h:284
BOOLEAN BaseClass
Definition: pci.h:286
PCI_HEADER_TYPE_DEPENDENT Dependent
Definition: pci.h:310
PCI_POWER_STATE PowerState
Definition: pci.h:309
ULONGLONG HackFlags
Definition: pci.h:311
BOOLEAN AdjustedInterruptLine
Definition: pci.h:288
BOOLEAN InterruptPin
Definition: pci.h:289
PDEVICE_OBJECT PhysicalDeviceObject
Definition: pci.h:274
BOOLEAN RawInterruptLine
Definition: pci.h:290
USHORT SubsystemVendorId
Definition: pci.h:281
USHORT SubsystemId
Definition: pci.h:282
USHORT CommandEnables
Definition: pci.h:319
KEVENT SecondaryExtLock
Definition: pci.h:272
BOOLEAN SavedCacheLineSize
Definition: pci.h:293
BOOLEAN SavedLatencyTimer
Definition: pci.h:292
struct _PCI_PDO_EXTENSION * NextHashEntry
Definition: pci.h:315
BOOLEAN UpdateHardware
Definition: pci.h:300
USHORT DeviceId
Definition: pci.h:280
struct _PCI_PDO_EXTENSION * NextBridge
Definition: pci.h:314
BOOLEAN HeaderType
Definition: pci.h:294
ULONG ExtensionType
Definition: pci.h:267
USHORT InitialCommand
Definition: pci.h:320
BOOLEAN NeedsHotPlugConfiguration
Definition: pci.h:303
BOOLEAN SubClass
Definition: pci.h:285
BOOLEAN AdditionalResourceCount
Definition: pci.h:287
PCI_LOCK Lock
Definition: pci.h:316
BOOLEAN CapabilitiesPtr
Definition: pci.h:291
USHORT VendorId
Definition: pci.h:279
PVOID Next
Definition: pci.h:266
BOOLEAN OnDebugPath
Definition: pci.h:307
BOOLEAN LegacyDriver
Definition: pci.h:299
BOOLEAN BIOSAllowsIDESwitchToNativeMode
Definition: pci.h:305
BOOLEAN TargetAgpCapabilityId
Definition: pci.h:318
BOOLEAN MovedDevice
Definition: pci.h:301
SINGLE_LIST_ENTRY SecondaryExtension
Definition: pci.h:276
struct _PCI_MJ_DISPATCH_TABLE * IrpDispatchTable
Definition: pci.h:268
LONG AgpInterfaceReferenceCount
Definition: pci.h:278
BOOLEAN NotPresent
Definition: pci.h:295
BOOLEAN DisablePowerDown
Definition: pci.h:302
BOOLEAN ExpectedWritebackFailure
Definition: pci.h:297
BOOLEAN NoTouchPmeEnable
Definition: pci.h:298
BOOLEAN IoSpaceUnderNativeIdeControl
Definition: pci.h:306
PCI_PMC PowerCapabilities
Definition: pci.h:317
BOOLEAN IDEInNativeMode
Definition: pci.h:304
BOOLEAN TentativeNextState
Definition: pci.h:270
PCI_FUNCTION_RESOURCES * Resources
Definition: pci.h:312
BOOLEAN RevisionId
Definition: pci.h:283
PPCI_FDO_EXTENSION ParentFdoExtension
Definition: pci.h:275
BOOLEAN IoSpaceNotRequired
Definition: pci.h:308
BOOLEAN ReportedMissing
Definition: pci.h:296
LONG CrashDump
Definition: pci.h:177
DEVICE_POWER_STATE DeviceWakeLevel
Definition: pci.h:171
DEVICE_POWER_STATE CurrentDeviceState
Definition: pci.h:169
LONG Hibernate
Definition: pci.h:176
DEVICE_POWER_STATE SystemStateMapping[7]
Definition: pci.h:172
SYSTEM_POWER_STATE CurrentSystemState
Definition: pci.h:168
SYSTEM_POWER_STATE SystemWakeLevel
Definition: pci.h:170
PIRP WaitWakeIrp
Definition: pci.h:173
LONG Paging
Definition: pci.h:175
PVOID SavedCancelRoutine
Definition: pci.h:174
ULONG FailureCode
Definition: pci.h:416
VF_FAILURE_CLASS FailureClass
Definition: pci.h:417
PCHAR DebuggerMessageText
Definition: pci.h:419
ULONG AssertionControl
Definition: pci.h:418
Definition: ntbasedef.h:640
uint32_t * PULONG
Definition: typedefs.h:59
unsigned char UCHAR
Definition: typedefs.h:53
#define NTAPI
Definition: typedefs.h:36
uint64_t ULONGLONG
Definition: typedefs.h:67
uint16_t * PUSHORT
Definition: typedefs.h:56
uint32_t ULONG_PTR
Definition: typedefs.h:65
#define IN
Definition: typedefs.h:39
uint16_t * PWCHAR
Definition: typedefs.h:56
uint32_t ULONG
Definition: typedefs.h:59
#define OUT
Definition: typedefs.h:40
char * PCHAR
Definition: typedefs.h:51
struct _PCI_HEADER_TYPE_DEPENDENT::@736 type0
struct _PCI_HEADER_TYPE_DEPENDENT::@737 type1
struct _PCI_HEADER_TYPE_DEPENDENT::@738 type2
_In_ PIO_STACK_LOCATION IoStackLocation
Definition: usbdlib.h:265
enum _VF_FAILURE_CLASS VF_FAILURE_CLASS
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_CHILD_LIST_CONFIG Config
Definition: wdfchildlist.h:476
_In_ PDEVICE_OBJECT DeviceObject
Definition: wdfdevice.h:2061
_In_ WDFDEVICE _Out_ PWDF_DEVICE_STATE DeviceState
Definition: wdfdevice.h:2005
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
Definition: wdfdevice.h:2664
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
Definition: wdfdevice.h:4539
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY DeviceProperty
Definition: wdfdevice.h:3775
_Must_inspect_result_ _In_ WDFDEVICE _In_ PCUNICODE_STRING KeyName
Definition: wdfdevice.h:2705
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
Definition: wdfdevice.h:2439
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
Definition: wdfdriver.h:213
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE Interface
Definition: wdffdo.h:465
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID InterfaceType
Definition: wdffdo.h:463
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE _In_ USHORT _In_ USHORT Version
Definition: wdffdo.h:469
_In_ WDFREQUEST _In_ size_t _In_ size_t _In_ ULONG IoControlCode
Definition: wdfio.h:325
_In_ WDFREQUEST _In_ size_t OutputBufferLength
Definition: wdfio.h:320
_In_ WDFREQUEST _In_ size_t _In_ size_t InputBufferLength
Definition: wdfio.h:322
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR OutputBuffer
Definition: wdfiotarget.h:863
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR InputBuffer
Definition: wdfiotarget.h:953
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING ValueName
Definition: wdfregistry.h:243
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
Definition: wdfregistry.h:413
_Must_inspect_result_ _In_ WDFIORESREQLIST _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFIORESLIST * ResourceList
Definition: wdfresource.h:309
_In_ WDFIORESREQLIST RequirementsList
Definition: wdfresource.h:65
_Must_inspect_result_ _In_ WDFCMRESLIST List
Definition: wdfresource.h:550
_In_ WDFIORESREQLIST _In_ ULONG SlotNumber
Definition: wdfresource.h:68
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFWAITLOCK * Lock
Definition: wdfsync.h:127
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_WMI_INSTANCE_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_opt_ WDFWMIINSTANCE * Instance
Definition: wdfwmi.h:481
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
enum _BUS_QUERY_ID_TYPE BUS_QUERY_ID_TYPE
DEVICE_REGISTRY_PROPERTY
Definition: iotypes.h:1194
* PDEVICE_CAPABILITIES
Definition: iotypes.h:965
enum _DEVICE_TEXT_TYPE DEVICE_TEXT_TYPE