ReactOS 0.4.17-dev-1190-g4c812f4
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// Tag used for the legacy device routing cache
31//
32#define TAG_PCI_ROUTING 'RicP'
33
34//
35// Tag used for a bridge's preserved configuration
36//
37#define TAG_PCI_PRESERVED 'PicP'
38
39//
40// Checks if the specified FDO is the FDO for the Root PCI Bus
41//
42#define PCI_IS_ROOT_FDO(x) ((x)->BusRootFdoExtension == x)
43
44//
45// Assertions to make sure we are dealing with the right kind of extension
46//
47#define ASSERT_FDO(x) ASSERT((x)->ExtensionType == PciFdoExtensionType);
48#define ASSERT_PDO(x) ASSERT((x)->ExtensionType == PciPdoExtensionType);
49
50//
51// PCI Hack Entry Name Lengths
52//
53#define PCI_HACK_ENTRY_SIZE sizeof(L"VVVVdddd") - sizeof(UNICODE_NULL)
54#define PCI_HACK_ENTRY_REV_SIZE sizeof(L"VVVVddddRR") - sizeof(UNICODE_NULL)
55#define PCI_HACK_ENTRY_SUBSYS_SIZE sizeof(L"VVVVddddssssIIII") - sizeof(UNICODE_NULL)
56#define PCI_HACK_ENTRY_FULL_SIZE sizeof(L"VVVVddddssssIIIIRR") - sizeof(UNICODE_NULL)
57
58//
59// PCI Hack Entry Flags
60//
61#define PCI_HACK_HAS_REVISION_INFO 0x01
62#define PCI_HACK_HAS_SUBSYSTEM_INFO 0x02
63
64//
65// PCI Interface Flags
66//
67#define PCI_INTERFACE_PDO 0x01
68#define PCI_INTERFACE_FDO 0x02
69#define PCI_INTERFACE_ROOT 0x04
70
71//
72// PCI Skip Function Flags
73//
74#define PCI_SKIP_DEVICE_ENUMERATION 0x01
75#define PCI_SKIP_RESOURCE_ENUMERATION 0x02
76
77//
78// PCI Apply Hack Flags
79//
80#define PCI_HACK_FIXUP_BEFORE_CONFIGURATION 0x00
81#define PCI_HACK_FIXUP_AFTER_CONFIGURATION 0x01
82#define PCI_HACK_FIXUP_BEFORE_UPDATE 0x03
83
84//
85// PCI Legacy Configuration Space Length
86//
87#define PCI_LEGACY_CONFIG_LENGTH 0x100
88
89//
90// Interrupt line register value meaning unknown or not connected
91//
92#define PCI_INTERRUPT_LINE_UNKNOWN 0xFF
93
94//
95// Resizable BAR extended capability, one capability and control register pair per BAR
96//
97#define PCI_RBAR_EXTENDED_CAP_ID 0x0015
98#define PCI_RBAR_MAX_ENTRIES 6
99#define PCI_RBAR_ENTRY_CAPABILITY(n) (0x04 + ((n) * 8))
100#define PCI_RBAR_ENTRY_CONTROL(n) (0x08 + ((n) * 8))
101#define PCI_RBAR_CAPABILITY_SIZES_SHIFT 4
102#define PCI_RBAR_CONTROL_BAR_INDEX_MASK 0x00000007
103#define PCI_RBAR_CONTROL_COUNT_MASK 0x000000E0
104#define PCI_RBAR_CONTROL_COUNT_SHIFT 5
105#define PCI_RBAR_CONTROL_SIZE_MASK (0x3F << 8)
106#define PCI_RBAR_CONTROL_SIZE_SHIFT 8
107
108//
109// PCI Arbiter Interface Version
110//
111#define ARBITER_INTERFACE_VERSION 0
112
113//
114// PCI Debugging Device Support
115//
116#define MAX_DEBUGGING_DEVICES_SUPPORTED 0x04
117
118//
119// PCI Driver Verifier Failures
120//
121#define PCI_VERIFIER_CODES 0x04
122
123//
124// PCI ID Buffer ANSI Strings
125//
126#define MAX_ANSI_STRINGS 0x08
127
128//
129// Device Extension, Interface, Translator and Arbiter Signatures
130//
131typedef enum _PCI_SIGNATURE
132{
135 PciArb_Io = 'icP2',
148 PciInterface_Location = 'icP?'
150
151//
152// Driver-handled PCI Device Types
153//
155{
162
163//
164// Device Extension Logic States
165//
166typedef enum _PCI_STATE
167{
176
177//
178// IRP Dispatch Logic Style
179//
181{
187
188//
189// PCI Hack Entry Information
190//
191typedef struct _PCI_HACK_ENTRY
192{
201
202//
203// Resizable BAR State of a Device, indexed by BAR
204//
206{
211
212//
213// Power State Information for Device Extension
214//
215typedef struct _PCI_POWER_STATE
216{
228
229//
230// Internal PCI Lock Structure
231//
232typedef struct _PCI_LOCK
233{
237
238//
239// Device Extension for a Bus FDO
240//
241typedef struct _PCI_FDO_EXTENSION
242{
272 struct
273 {
284
286{
290
291//
292// Location of a device the kernel debugger talks through
293//
295{
299
301{
302 struct
303 {
306 struct
307 {
317 struct
318 {
319 UCHAR Spare[4];
322
323typedef struct _PCI_PDO_EXTENSION
324{
330
386
387//
388// IRP Dispatch Function Type
389//
391 IN PIRP Irp,
393 IN PVOID DeviceExtension
394);
395
396//
397// IRP Dispatch Minor Table
398//
400{
404
405//
406// IRP Dispatch Major Table
407//
409{
419
420//
421// Generic PCI Interface Constructor and Initializer
422//
423struct _PCI_INTERFACE;
425 IN PVOID DeviceExtension,
427 IN PVOID InterfaceData,
429 IN USHORT Size,
431);
432
435);
436
437//
438// Generic PCI Interface (Interface, Translator, Arbiter)
439//
440typedef struct _PCI_INTERFACE
441{
452
453//
454// Generic Secondary Extension Instance Header (Interface, Translator, Arbiter)
455//
457{
462
463//
464// PCI Arbiter Instance
465//
467{
474
475//
476// PCI Verifier Data
477//
478typedef struct _PCI_VERIFIER_DATA
479{
485
486//
487// PCI ID Buffer Descriptor
488//
489typedef struct _PCI_ID_BUFFER
490{
498
499//
500// PCI Configuration Callbacks
501//
503
506);
507
510);
511
514);
515
518);
519
523
527 IN PIO_RESOURCE_DESCRIPTOR IoDescriptor
528);
529
533);
534
535//
536// PCI Configurator
537//
538typedef struct _PCI_CONFIGURATOR
539{
548
549//
550// PCI Configurator Context
551//
553{
562
563//
564// PCI IPI Function
565//
569);
570
571//
572// PCI IPI Context
573//
574typedef struct _PCI_IPI_CONTEXT
575{
582
583//
584// PCI Legacy Device Location Cache
585//
586typedef struct _PCI_LEGACY_DEVICE
587{
600
601//
602// IRP Dispatch Routines
603//
604
606
608NTAPI
611 IN PIRP Irp
612);
613
615NTAPI
617 IN PIRP Irp,
619 IN PPCI_FDO_EXTENSION DeviceExtension
620);
621
623NTAPI
625 IN PPCI_FDO_EXTENSION DeviceExtension,
626 IN PIRP Irp
627);
628
630NTAPI
632 IN PPCI_FDO_EXTENSION DeviceExtension,
633 IN PIRP Irp
634);
635
637NTAPI
639 IN PIRP Irp,
641 IN PPCI_FDO_EXTENSION DeviceExtension
642);
643
644//
645// Power Routines
646//
648NTAPI
650 IN PIRP Irp,
652 IN PPCI_FDO_EXTENSION DeviceExtension
653);
654
656NTAPI
658 IN PIRP Irp,
660 IN PPCI_FDO_EXTENSION DeviceExtension
661);
662
664NTAPI
666 IN PIRP Irp,
668 IN PPCI_FDO_EXTENSION DeviceExtension
669);
670
672NTAPI
674 IN PPCI_PDO_EXTENSION DeviceExtension,
676 IN BOOLEAN IrpSet
677);
678
679//
680// Bus FDO Routines
681//
682
683DRIVER_ADD_DEVICE PciAddDevice;
684
686NTAPI
690);
691
693NTAPI
695 IN PIRP Irp,
697 IN PPCI_FDO_EXTENSION DeviceExtension
698);
699
701NTAPI
703 IN PIRP Irp,
705 IN PPCI_FDO_EXTENSION DeviceExtension
706);
707
709NTAPI
711 IN PIRP Irp,
713 IN PPCI_FDO_EXTENSION DeviceExtension
714);
715
717NTAPI
719 IN PIRP Irp,
721 IN PPCI_FDO_EXTENSION DeviceExtension
722);
723
725NTAPI
727 IN PIRP Irp,
729 IN PPCI_FDO_EXTENSION DeviceExtension
730);
731
733NTAPI
735 IN PIRP Irp,
737 IN PPCI_FDO_EXTENSION DeviceExtension
738);
739
741NTAPI
743 IN PIRP Irp,
745 IN PPCI_FDO_EXTENSION DeviceExtension
746);
747
749NTAPI
751 IN PIRP Irp,
753 IN PPCI_FDO_EXTENSION DeviceExtension
754);
755
757NTAPI
759 IN PIRP Irp,
761 IN PPCI_FDO_EXTENSION DeviceExtension
762);
763
765NTAPI
767 IN PIRP Irp,
769 IN PPCI_FDO_EXTENSION DeviceExtension
770);
771
773NTAPI
775 IN PIRP Irp,
777 IN PPCI_FDO_EXTENSION DeviceExtension
778);
779
781NTAPI
783 IN PIRP Irp,
785 IN PPCI_FDO_EXTENSION DeviceExtension
786);
787
789NTAPI
791 IN PIRP Irp,
793 IN PPCI_FDO_EXTENSION DeviceExtension
794);
795
796//
797// Device PDO Routines
798//
800NTAPI
802 IN PPCI_FDO_EXTENSION DeviceExtension,
803 IN PCI_SLOT_NUMBER Slot,
805);
806
808NTAPI
810 IN PIRP Irp,
812 IN PPCI_PDO_EXTENSION DeviceExtension
813);
814
816NTAPI
818 IN PIRP Irp,
820 IN PPCI_PDO_EXTENSION DeviceExtension
821);
822
824NTAPI
826 IN PIRP Irp,
828 IN PPCI_PDO_EXTENSION DeviceExtension
829);
830
832NTAPI
834 IN PIRP Irp,
836 IN PPCI_PDO_EXTENSION DeviceExtension
837);
838
840NTAPI
842 IN PIRP Irp,
844 IN PPCI_PDO_EXTENSION DeviceExtension
845);
846
848NTAPI
850 IN PIRP Irp,
852 IN PPCI_PDO_EXTENSION DeviceExtension
853);
854
856NTAPI
858 IN PIRP Irp,
860 IN PPCI_PDO_EXTENSION DeviceExtension
861);
862
864NTAPI
866 IN PIRP Irp,
868 IN PPCI_PDO_EXTENSION DeviceExtension
869);
870
872NTAPI
874 IN PIRP Irp,
876 IN PPCI_PDO_EXTENSION DeviceExtension
877);
878
880NTAPI
882 IN PIRP Irp,
884 IN PPCI_PDO_EXTENSION DeviceExtension
885);
886
888NTAPI
890 IN PIRP Irp,
892 IN PPCI_PDO_EXTENSION DeviceExtension
893);
894
896NTAPI
898 IN PIRP Irp,
900 IN PPCI_PDO_EXTENSION DeviceExtension
901);
902
904NTAPI
906 IN PIRP Irp,
908 IN PPCI_PDO_EXTENSION DeviceExtension
909);
910
912NTAPI
914 IN PIRP Irp,
916 IN PPCI_PDO_EXTENSION DeviceExtension
917);
918
920NTAPI
922 IN PIRP Irp,
924 IN PPCI_PDO_EXTENSION DeviceExtension
925);
926
928NTAPI
930 IN PIRP Irp,
932 IN PPCI_PDO_EXTENSION DeviceExtension
933);
934
936NTAPI
938 IN PIRP Irp,
940 IN PPCI_PDO_EXTENSION DeviceExtension
941);
942
944NTAPI
946 IN PIRP Irp,
948 IN PPCI_PDO_EXTENSION DeviceExtension
949);
950
952NTAPI
954 IN PIRP Irp,
956 IN PPCI_PDO_EXTENSION DeviceExtension
957);
958
960NTAPI
962 IN PIRP Irp,
964 IN PPCI_PDO_EXTENSION DeviceExtension
965);
966
968NTAPI
970 IN PIRP Irp,
972 IN PPCI_PDO_EXTENSION DeviceExtension
973);
974
976NTAPI
978 IN PIRP Irp,
980 IN PPCI_PDO_EXTENSION DeviceExtension
981);
982
984NTAPI
986 IN PIRP Irp,
988 IN PPCI_PDO_EXTENSION DeviceExtension
989);
990
992NTAPI
994 IN PIRP Irp,
996 IN PPCI_PDO_EXTENSION DeviceExtension
997);
998
999
1000//
1001// HAL Callback/Hook Routines
1002//
1003VOID
1004NTAPI
1006 VOID
1007);
1008
1009VOID
1010NTAPI
1012
1013//
1014// PCI Verifier Routines
1015//
1016VOID
1017NTAPI
1020);
1021
1022VOID
1023NTAPI
1025
1027NTAPI
1029 IN ULONG FailureCode
1030);
1031
1032//
1033// Utility Routines
1034//
1035BOOLEAN
1036NTAPI
1040);
1041
1042BOOLEAN
1043NTAPI
1045 VOID
1046);
1047
1049NTAPI
1051 VOID
1052);
1053
1054BOOLEAN
1055NTAPI
1057 IN PUNICODE_STRING InputString,
1058 IN PCUNICODE_STRING EqualString,
1060);
1061
1062BOOLEAN
1063NTAPI
1069 OUT PNTSTATUS KeyStatus
1070);
1071
1073NTAPI
1077 IN HANDLE RootHandle,
1078 IN ULONG Type,
1080 OUT PULONG OutputLength
1081);
1082
1084NTAPI
1088);
1089
1090VOID
1091NTAPI
1093 IN PSINGLE_LIST_ENTRY ListHead,
1094 IN PPCI_FDO_EXTENSION DeviceExtension,
1096);
1097
1099NTAPI
1104);
1105
1107NTAPI
1115);
1116
1117VOID
1118NTAPI
1121 IN PVOID Lock,
1122 IN PPCI_SECONDARY_EXTENSION SecondaryExtension,
1123 IN PCI_SIGNATURE ExtensionType,
1124 IN PVOID Destructor
1125);
1126
1128NTAPI
1130 IN PSINGLE_LIST_ENTRY ListHead,
1131 IN PCI_SIGNATURE ExtensionType
1132);
1133
1135NTAPI
1137 IN USHORT VendorId,
1138 IN USHORT DeviceId,
1139 IN USHORT SubVendorId,
1140 IN USHORT SubSystemId,
1141 IN UCHAR RevisionId
1142);
1143
1145NTAPI
1147 IN PPCI_FDO_EXTENSION DeviceExtension,
1148 IN ULONG FunctionNumber,
1149 IN PPCI_COMMON_HEADER PciData
1150);
1151
1152BOOLEAN
1153NTAPI
1157);
1158
1159BOOLEAN
1160NTAPI
1162 IN PPCI_PDO_EXTENSION DeviceExtension
1163);
1164
1166NTAPI
1168 IN PPCI_PDO_EXTENSION DeviceExtension,
1169 OUT PPCI_COMMON_HEADER PciData
1170);
1171
1173NTAPI
1175 IN PPCI_PDO_EXTENSION DeviceExtension,
1176 OUT PPCI_COMMON_HEADER PciData
1177);
1178
1179UCHAR
1180NTAPI
1182 IN PPCI_PDO_EXTENSION DeviceExtension,
1183 IN UCHAR Offset,
1184 IN ULONG CapabilityId,
1187);
1188
1189BOOLEAN
1190NTAPI
1192 IN PPCI_PDO_EXTENSION DeviceExtension,
1195 IN BOOLEAN ForPowerDown
1196);
1197
1199NTAPI
1202);
1203
1205
1207NTAPI
1209 IN ULONG_PTR IpiContext
1210);
1211
1212BOOLEAN
1213NTAPI
1215 _Out_ PIO_RESOURCE_DESCRIPTOR ResourceDescriptor,
1216 _In_ ULONG Bar,
1217 _In_ ULONG NextBar,
1218 _In_ BOOLEAN Rom);
1219
1220BOOLEAN
1221NTAPI
1224 IN ULONG Method
1225);
1226
1227VOID
1228NTAPI
1233);
1234
1236NTAPI
1240);
1241
1243NTAPI
1246 IN OUT PDEVICE_CAPABILITIES DeviceCapability
1247);
1248
1249//
1250// Configuration Routines
1251//
1253NTAPI
1256);
1257
1258VOID
1259NTAPI
1262
1263VOID
1264NTAPI
1266
1267ULONG
1268NTAPI
1270 _In_ PPCI_PDO_EXTENSION DeviceExtension,
1271 _In_ ULONG CapabilityId,
1273 _In_ ULONG Length);
1274
1275VOID
1276NTAPI
1279
1280VOID
1281NTAPI
1284
1285ULONG
1286NTAPI
1289 _In_ ULONG BarIndex,
1292
1293VOID
1294NTAPI
1297
1298BOOLEAN
1299NTAPI
1301 _In_ ULONG Bus,
1302 _In_ PCI_SLOT_NUMBER Slot,
1306 _In_ BOOLEAN Read);
1307
1308VOID
1309NTAPI
1311 IN PPCI_FDO_EXTENSION DeviceExtension,
1312 IN PCI_SLOT_NUMBER Slot,
1313 IN PVOID Buffer,
1314 IN ULONG Offset,
1316);
1317
1318VOID
1319NTAPI
1321 IN PPCI_PDO_EXTENSION DeviceExtension,
1322 IN PVOID Buffer,
1323 IN ULONG Offset,
1325);
1326
1327VOID
1328NTAPI
1330 IN PPCI_PDO_EXTENSION DeviceExtension,
1331 IN PVOID Buffer,
1332 IN ULONG Offset,
1334);
1335
1336UCHAR
1337NTAPI
1340);
1341
1342//
1343// Device Usage Notification Routines
1344//
1346NTAPI
1350
1352NTAPI
1354 _In_ PPCI_FDO_EXTENSION ParentFdoExtension,
1356
1357//
1358// State Machine Logic Transition Routines
1359//
1360VOID
1361NTAPI
1363 IN PPCI_FDO_EXTENSION DeviceExtension
1364);
1365
1367NTAPI
1369 IN PPCI_FDO_EXTENSION DeviceExtension,
1370 IN PCI_STATE NewState
1371);
1372
1374NTAPI
1376 IN PPCI_FDO_EXTENSION DeviceExtension,
1377 IN PCI_STATE NewState
1378);
1379
1380VOID
1381NTAPI
1383 IN PPCI_FDO_EXTENSION DeviceExtension,
1384 IN PCI_STATE NewState
1385);
1386
1387//
1388// Arbiter Support
1389//
1391NTAPI
1394);
1395
1397NTAPI
1399 IN PPCI_FDO_EXTENSION DeviceExtension,
1401);
1402
1403//
1404// Debug Helpers
1405//
1406BOOLEAN
1407NTAPI
1410 IN PPCI_FDO_EXTENSION DeviceExtension,
1411 IN USHORT MaxMinor
1412);
1413
1414VOID
1415NTAPI
1417 IN PPCI_COMMON_HEADER PciData
1418);
1419
1420VOID
1421NTAPI
1423 IN PDEVICE_CAPABILITIES DeviceCaps
1424);
1425
1426VOID
1427NTAPI
1430);
1431
1432VOID
1433NTAPI
1436);
1437
1438VOID
1439NTAPI
1441 IN PCM_PARTIAL_RESOURCE_DESCRIPTOR PartialResource
1442);
1443
1444//
1445// Interface Support
1446//
1448NTAPI
1450 IN PPCI_FDO_EXTENSION DeviceExtension,
1452 IN ULONG Size,
1454 IN PVOID InterfaceData,
1456 IN BOOLEAN LastChance
1457);
1458
1460NTAPI
1463);
1464
1466NTAPI
1469);
1470
1472NTAPI
1475);
1476
1478NTAPI
1481 _Out_ PULONGLONG Minimum,
1482 _Out_ PULONGLONG Maximum,
1485);
1486
1488NTAPI
1493);
1494
1496NTAPI
1501);
1502
1503INT32
1504NTAPI
1507);
1508
1510NTAPI
1513);
1514
1516NTAPI
1519);
1520
1522NTAPI
1525);
1526
1528NTAPI
1531);
1532
1534NTAPI
1537);
1538
1540NTAPI
1543);
1544
1546NTAPI
1549);
1550
1552NTAPI
1555);
1556
1558NTAPI
1561);
1562
1564NTAPI
1566 IN PVOID DeviceExtension,
1568 IN PVOID InterfaceData,
1570 IN USHORT Size,
1572);
1573
1575NTAPI
1577 IN PVOID DeviceExtension,
1579 IN PVOID InterfaceData,
1581 IN USHORT Size,
1583);
1584
1586NTAPI
1588 IN PVOID DeviceExtension,
1590 IN PVOID InterfaceData,
1592 IN USHORT Size,
1594);
1595
1597NTAPI
1599 IN PVOID DeviceExtension,
1601 IN PVOID InterfaceData,
1603 IN USHORT Size,
1605);
1606
1608NTAPI
1610 IN PVOID DeviceExtension,
1612 IN PVOID InterfaceData,
1614 IN USHORT Size,
1616);
1617
1618ULONG
1619NTAPI
1625 _In_ ULONG Length);
1626
1627ULONG
1628NTAPI
1634 _In_ ULONG Length);
1635
1637NTAPI
1639 IN PVOID DeviceExtension,
1641 IN PVOID InterfaceData,
1643 IN USHORT Size,
1645);
1646
1647VOID
1648NTAPI
1651);
1652
1654NTAPI
1657 _Out_ PULONGLONG Minimum,
1658 _Out_ PULONGLONG Maximum,
1661);
1662
1664NTAPI
1669);
1670
1672NTAPI
1677);
1678
1679INT32
1680NTAPI
1683);
1684
1686NTAPI
1689 _Out_ PULONGLONG Minimum,
1690 _Out_ PULONGLONG Maximum,
1693);
1694
1696NTAPI
1701);
1702
1704NTAPI
1709);
1710
1711INT32
1712NTAPI
1715);
1716
1717VOID
1718NTAPI
1721);
1722
1723VOID
1724NTAPI
1727);
1728
1730NTAPI
1733 _In_ PCI_SIGNATURE ArbiterType,
1735);
1736
1738NTAPI
1740 _In_ PARBITER_INSTANCE Arbiter,
1742);
1743
1744BOOLEAN
1745NTAPI
1747 _In_ PARBITER_INSTANCE Arbiter,
1749);
1750
1751BOOLEAN
1752NTAPI
1754 _In_ PARBITER_INSTANCE Arbiter,
1756);
1757
1759NTAPI
1761 IN PVOID DeviceExtension,
1763 IN PVOID InterfaceData,
1765 IN USHORT Size,
1767);
1768
1770NTAPI
1772 IN PVOID DeviceExtension,
1774 IN PVOID InterfaceData,
1776 IN USHORT Size,
1778);
1779
1781NTAPI
1783 IN PVOID DeviceExtension,
1785 IN PVOID InterfaceData,
1787 IN USHORT Size,
1789);
1790
1792NTAPI
1794 IN PVOID DeviceExtension,
1796 IN PVOID InterfaceData,
1798 IN USHORT Size,
1800);
1801
1803NTAPI
1805 IN PVOID DeviceExtension,
1807 IN PVOID InterfaceData,
1809 IN USHORT Size,
1811);
1812
1814NTAPI
1816 IN PVOID DeviceExtension,
1818 IN PVOID InterfaceData,
1820 IN USHORT Size,
1822);
1823
1824//
1825// PCI Enumeration and Resources
1826//
1828NTAPI
1830 IN PPCI_FDO_EXTENSION DeviceExtension,
1831 IN OUT PDEVICE_RELATIONS *pDeviceRelations
1832);
1833
1835NTAPI
1839);
1840
1842NTAPI
1845 IN OUT PDEVICE_RELATIONS *pDeviceRelations
1846);
1847
1849NTAPI
1852 IN OUT PDEVICE_RELATIONS *pDeviceRelations
1853);
1854
1856NTAPI
1860);
1861
1862BOOLEAN
1863NTAPI
1867);
1868
1870NTAPI
1873 IN BOOLEAN DoReset,
1874 IN BOOLEAN SomethingSomethingDarkSide
1875);
1876
1877BOOLEAN
1878NTAPI
1881
1882BOOLEAN
1883NTAPI
1885 _In_ PPCI_PDO_EXTENSION DeviceExtension,
1886 _In_ PPCI_COMMON_HEADER PciData);
1887
1889NTAPI
1892 IN PPCI_COMMON_HEADER PciData,
1894);
1895
1896//
1897// Identification Functions
1898//
1899PWCHAR
1900NTAPI
1904);
1905
1907NTAPI
1911 IN ULONG Locale,
1913);
1914
1916NTAPI
1918 IN PPCI_PDO_EXTENSION DeviceExtension,
1921);
1922
1923//
1924// CardBUS Support
1925//
1926VOID
1927NTAPI
1930);
1931
1932VOID
1933NTAPI
1936);
1937
1938VOID
1939NTAPI
1942);
1943
1944VOID
1945NTAPI
1948);
1949
1950VOID
1951NTAPI
1954 IN PPCI_COMMON_HEADER PciData,
1955 IN PIO_RESOURCE_DESCRIPTOR IoDescriptor
1956);
1957
1958VOID
1959NTAPI
1962 IN PPCI_COMMON_HEADER PciData
1963);
1964
1966NTAPI
1969 _Inout_ PPCI_COMMON_HEADER PciData);
1970
1971//
1972// PCI Device Support
1973//
1974VOID
1975NTAPI
1978);
1979
1980VOID
1981NTAPI
1984);
1985
1986VOID
1987NTAPI
1990);
1991
1992VOID
1993NTAPI
1996);
1997
1998VOID
1999NTAPI
2002 IN PPCI_COMMON_HEADER PciData,
2003 IN PIO_RESOURCE_DESCRIPTOR IoDescriptor
2004);
2005
2006VOID
2007NTAPI
2010 IN PPCI_COMMON_HEADER PciData
2011);
2012
2014NTAPI
2017 _Inout_ PPCI_COMMON_HEADER PciData);
2018
2019//
2020// PCI-to-PCI Bridge Device Support
2021//
2022VOID
2023NTAPI
2026);
2027
2028VOID
2029NTAPI
2032);
2033
2034VOID
2035NTAPI
2038);
2039
2040VOID
2041NTAPI
2044);
2045
2046VOID
2047NTAPI
2050 IN PPCI_COMMON_HEADER PciData,
2051 IN PIO_RESOURCE_DESCRIPTOR IoDescriptor
2052);
2053
2054VOID
2055NTAPI
2058 IN PPCI_COMMON_HEADER PciData
2059);
2060
2062NTAPI
2065 _Inout_ PPCI_COMMON_HEADER PciData);
2066
2067//
2068// Bus Number Routines
2069//
2070BOOLEAN
2071NTAPI
2074);
2075
2076//
2077// Routine Interface
2078//
2080NTAPI
2091 OUT PDEVICE_OBJECT *pFoundDeviceObject
2092);
2093
2094VOID
2095NTAPI
2097
2098//
2099// External Resources
2100//
2102extern KEVENT PciGlobalLock;
2114//extern PCI_INTERFACE PciNativeIdeInterface;
2130
2131#endif /* _PCIX_PCH_ */
static _Out_opt_ PULONGLONG Start
Type
Definition: Type.h:7
#define VOID
Definition: acefi.h:82
unsigned char BOOLEAN
Definition: actypes.h:127
LONG NTSTATUS
Definition: precomp.h:26
PDEVICE_OBJECT PhysicalDeviceObject
Definition: btrfs_drv.h:1157
_Acquires_exclusive_lock_ Resource _Acquires_shared_lock_ Resource _Inout_ PERESOURCE Resource
Definition: cdprocs.h:843
_In_ ULONG_PTR HackFlags
Definition: cdrom.h:983
Definition: bufpool.h:45
#define NTSTATUS
Definition: precomp.h:19
NTSTATUS NTAPI PciInitializeArbiterRanges(IN PPCI_FDO_EXTENSION DeviceExtension, IN PCM_RESOURCE_LIST Resources)
Definition: arb_comn.c:447
PCI_INTERFACE PciDevicePresentInterface
Definition: devhere.c:18
NTSTATUS NTAPI Cardbus_ChangeResourceSettings(_In_ PPCI_PDO_EXTENSION PdoExtension, _Inout_ PPCI_COMMON_HEADER PciData)
Definition: cardbus.c:149
BOOLEAN PciEnableNativeModeATA
Definition: init.c:24
#define MAX_ANSI_STRINGS
Definition: pci.h:126
ULONG NTAPI PciBusInterface_SetBusData(_In_ PVOID Context, _In_ ULONG WhichSpace, _In_reads_bytes_(Length) PVOID Buffer, _In_ ULONG Offset, _In_ ULONG Length)
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:165
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:236
PCI_INTERFACE BusHandlerInterface
Definition: busintrf.c:18
#define MAX_DEBUGGING_DEVICES_SUPPORTED
Definition: pci.h:116
VOID NTAPI PciFreeLegacyDeviceCache(VOID)
Frees the routing cached for slots claimed by legacy drivers.
Definition: routintf.c:357
VOID NTAPI PPBridge_SaveCurrentSettings(IN PPCI_CONFIGURATOR_CONTEXT Context)
Definition: ppbridge.c:227
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:117
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:39
NTSTATUS NTAPI PciPdoCreate(IN PPCI_FDO_EXTENSION DeviceExtension, IN PCI_SLOT_NUMBER Slot, OUT PDEVICE_OBJECT *PdoDeviceObject)
Definition: pdo.c:1022
NTSTATUS NTAPI PciPdoIrpStopDevice(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:613
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:133
VOID NTAPI PPBridge_GetAdditionalResourceDescriptors(IN PPCI_CONFIGURATOR_CONTEXT Context, IN PPCI_COMMON_HEADER PciData, IN PIO_RESOURCE_DESCRIPTOR IoDescriptor)
Definition: ppbridge.c:657
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:200
struct _PCI_LOCK PCI_LOCK
VOID NTAPI PciDebugPrintPartialResource(IN PCM_PARTIAL_RESOURCE_DESCRIPTOR PartialResource)
Definition: debug.c:349
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:524
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 arbusno_PackResource(_In_ PIO_RESOURCE_DESCRIPTOR Descriptor, _In_ ULONGLONG Start, _Out_ PCM_PARTIAL_RESOURCE_DESCRIPTOR Resource)
Definition: ar_busno.c:54
NTSTATUS NTAPI PciPdoSetPowerState(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:104
VOID NTAPI PciArbiter_Reference(_In_ PVOID Context)
Definition: arb_comn.c:182
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:1408
NTSTATUS NTAPI PciPdoIrpCancelStopDevice(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:655
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:270
PPCI_SECONDARY_EXTENSION NTAPI PciFindNextSecondaryExtension(IN PSINGLE_LIST_ENTRY ListHead, IN PCI_SIGNATURE ExtensionType)
Definition: utils.c:584
VOID NTAPI PciReleaseEcam(VOID)
Unmaps every bus mapped through the ECAM window.
Definition: ecam.c:381
NTSTATUS NTAPI PciSetResources(IN PPCI_PDO_EXTENSION PdoExtension, IN BOOLEAN DoReset, IN BOOLEAN SomethingSomethingDarkSide)
Definition: enum.c:2490
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:305
INT32 NTAPI arbusno_ScoreRequirement(_In_ PIO_RESOURCE_DESCRIPTOR Descriptor)
Definition: ar_busno.c:85
_PCI_STATE
Definition: pci.h:167
@ PciMaxObjectState
Definition: pci.h:174
@ PciSurpriseRemoved
Definition: pci.h:172
@ PciDeleted
Definition: pci.h:170
@ PciStarted
Definition: pci.h:169
@ PciSynchronizedOperation
Definition: pci.h:173
@ PciStopped
Definition: pci.h:171
@ PciNotStarted
Definition: pci.h:168
NTSTATUS NTAPI PciFdoSetPowerState(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: power.c:318
struct _PCI_LOCK * PPCI_LOCK
VOID NTAPI PciApplyResizableBarSizes(_In_ PPCI_PDO_EXTENSION PdoExtension)
Sets every resizable BAR to the length it was assigned. The memory decode has to be off,...
Definition: rbar.c:229
VOID(NTAPI * PCI_CONFIGURATOR_RESET_DEVICE)(IN PPCI_PDO_EXTENSION PdoExtension, IN PPCI_COMMON_HEADER PciData)
Definition: pci.h:530
union _PCI_HEADER_TYPE_DEPENDENT PCI_HEADER_TYPE_DEPENDENT
BOOLEAN NTAPI PcipIsSameDevice(_In_ PPCI_PDO_EXTENSION DeviceExtension, _In_ PPCI_COMMON_HEADER PciData)
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:156
VOID NTAPI PciVerifierInit(IN PDRIVER_OBJECT DriverObject)
Definition: pcivrify.c:182
VOID NTAPI Device_GetAdditionalResourceDescriptors(IN PPCI_CONFIGURATOR_CONTEXT Context, IN PPCI_COMMON_HEADER PciData, IN PIO_RESOURCE_DESCRIPTOR IoDescriptor)
Definition: device.c:271
NTSTATUS NTAPI PciQueryId(IN PPCI_PDO_EXTENSION DeviceExtension, IN BUS_QUERY_ID_TYPE QueryType, OUT PWCHAR *Buffer)
Definition: id.c:217
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:345
PWCHAR NTAPI PciGetDeviceDescriptionMessage(IN UCHAR BaseClass, IN UCHAR SubClass)
Definition: id.c:105
struct _PCI_INTERFACE * PPCI_INTERFACE
NTSTATUS NTAPI PciFdoIrpQueryLegacyBusInformation(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: fdo.c:567
struct _PCI_INTERFACE PCI_INTERFACE
NTSTATUS NTAPI PciPdoIrpSurpriseRemoval(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:976
NTSTATUS NTAPI PciBuildRequirementsList(IN PPCI_PDO_EXTENSION PdoExtension, IN PPCI_COMMON_HEADER PciData, OUT PIO_RESOURCE_REQUIREMENTS_LIST *Buffer)
Definition: enum.c:756
BOOLEAN NTAPI PciIsSlotPresentInParentMethod(IN PPCI_PDO_EXTENSION PdoExtension, IN ULONG Method)
Definition: utils.c:1169
NTSTATUS NTAPI PciFdoIrpStartDevice(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: fdo.c:202
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:338
NTSTATUS NTAPI ario_Initializer(IN PVOID Instance)
Definition: ar_memio.c:119
NTSTATUS NTAPI tranirq_Initializer(IN PVOID Instance)
Definition: tr_irq.c:35
VOID NTAPI Cardbus_MassageHeaderForLimitsDetermination(IN PPCI_CONFIGURATOR_CONTEXT Context)
Definition: cardbus.c:102
struct _PCI_FUNCTION_RESOURCES * PPCI_FUNCTION_RESOURCES
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:144
NTSTATUS NTAPI PciPdoIrpQueryInterface(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:671
NTSTATUS NTAPI PciSendDeviceUsageToParent(_In_ PPCI_FDO_EXTENSION ParentFdoExtension, _In_ PIO_STACK_LOCATION IoStackLocation)
Sends a device usage notification to the top of the stack of a parent bus.
Definition: usage.c:94
VOID NTAPI PciArbiter_Dereference(_In_ PVOID Context)
Definition: arb_comn.c:191
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:120
VOID NTAPI PciDebugPrintIoResReqList(IN PIO_RESOURCE_REQUIREMENTS_LIST Requirements)
Definition: debug.c:303
NTSTATUS NTAPI PciCancelStateTransition(IN PPCI_FDO_EXTENSION DeviceExtension, IN PCI_STATE NewState)
Definition: state.c:145
struct _PCI_IPI_CONTEXT PCI_IPI_CONTEXT
NTSTATUS NTAPI PciArbiter_PreprocessEntry(_In_ PARBITER_INSTANCE Arbiter, _Inout_ PARBITER_ALLOCATION_STATE State)
Sets the range attributes of one arbitration entry before the engine looks for a placement for it.
Definition: arb_comn.c:51
BOOLEAN NTAPI PciIsRequirementDescriptor(_In_ PIO_RESOURCE_DESCRIPTOR Limit)
Tells whether a discovered limit asks the arbiter for a range.
Definition: enum.c:671
ULONG NTAPI PciAddResizableBarRequirements(_In_ PPCI_PDO_EXTENSION PdoExtension, _In_ ULONG BarIndex, _In_ PIO_RESOURCE_DESCRIPTOR Limit, _Out_writes_opt_(2) PIO_RESOURCE_DESCRIPTOR Descriptors)
Writes the requirements for the sizes a resizable BAR can grow to. They go ahead of the default requi...
Definition: rbar.c:142
struct _PCI_MJ_DISPATCH_TABLE PCI_MJ_DISPATCH_TABLE
PCI_DEVICE_TYPES NTAPI PciClassifyDeviceType(IN PPCI_PDO_EXTENSION PdoExtension)
Definition: utils.c:1126
NTSTATUS NTAPI PciIrpInvalidDeviceRequest(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: dispatch.c:277
NTSTATUS(NTAPI * PCI_CONFIGURATOR_CHANGE_RESOURCE_SETTINGS)(_In_ PPCI_PDO_EXTENSION PdoExtension, _Inout_ PPCI_COMMON_HEADER PciData)
Definition: pci.h:520
NTSTATUS NTAPI PciQueryCapabilities(IN PPCI_PDO_EXTENSION PdoExtension, IN OUT PDEVICE_CAPABILITIES DeviceCapability)
Definition: utils.c:1820
VOID(NTAPI * PCI_CONFIGURATOR_SAVE_LIMITS)(IN struct _PCI_CONFIGURATOR_CONTEXT *Context)
Definition: pci.h:512
VOID NTAPI PciGetExpressCapabilities(_Inout_ PPCI_PDO_EXTENSION PdoExtension)
Records the Express capability of a new function and whether its extended configuration space can be ...
Definition: express.c:99
NTSTATUS NTAPI Device_ChangeResourceSettings(_In_ PPCI_PDO_EXTENSION PdoExtension, _Inout_ PPCI_COMMON_HEADER PciData)
Puts the ranges assigned to a function into its BARs and ROM BAR.
Definition: device.c:308
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:433
struct _PCI_CONFIGURATOR PCI_CONFIGURATOR
struct _PCI_CONFIGURATOR_CONTEXT PCI_CONFIGURATOR_CONTEXT
NTSTATUS NTAPI arbusno_UnpackRequirement(_In_ PIO_RESOURCE_DESCRIPTOR Descriptor, _Out_ PULONGLONG Minimum, _Out_ PULONGLONG Maximum, _Out_ PULONGLONG Length, _Out_ PULONGLONG Alignment)
Definition: ar_busno.c:35
NTSTATUS NTAPI PciQueryEjectionRelations(IN PPCI_PDO_EXTENSION PdoExtension, IN OUT PDEVICE_RELATIONS *pDeviceRelations)
Definition: enum.c:614
ULONG PciDebugPortsCount
Definition: utils.c:19
VOID NTAPI Cardbus_RestoreCurrent(IN PPCI_CONFIGURATOR_CONTEXT Context)
Definition: cardbus.c:120
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:266
NTSTATUS NTAPI PciFdoIrpSurpriseRemoval(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: fdo.c:545
struct _PCI_POWER_STATE * PPCI_POWER_STATE
NTSTATUS NTAPI armem_UnpackResource(_In_ PCM_PARTIAL_RESOURCE_DESCRIPTOR Resource, _Out_ PULONGLONG Start, _Out_ PULONGLONG Length)
Definition: ar_memio.c:270
struct _PCI_DEBUGGING_DEVICE * PPCI_DEBUGGING_DEVICE
PCI_INTERFACE PciRoutingInterface
Definition: routintf.c:20
NTSTATUS NTAPI PciGetBiosConfig(IN PPCI_PDO_EXTENSION DeviceExtension, OUT PPCI_COMMON_HEADER PciData)
Definition: utils.c:840
NTSTATUS NTAPI PciPdoIrpQueryResourceRequirements(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:762
NTSTATUS NTAPI PciQueryRequirements(IN PPCI_PDO_EXTENSION PdoExtension, IN OUT PIO_RESOURCE_REQUIREMENTS_LIST *RequirementsList)
Definition: enum.c:882
VOID NTAPI PciGetResizableBarCapability(_Inout_ PPCI_PDO_EXTENSION PdoExtension)
Records which BARs of a new function can be resized and the sizes each of them supports.
Definition: rbar.c:31
VOID NTAPI ario_ApplyBrokenVideoHack(IN PPCI_FDO_EXTENSION FdoExtension)
Definition: ar_memio.c:184
NTSTATUS NTAPI PciQueryTargetDeviceRelations(IN PPCI_PDO_EXTENSION PdoExtension, IN OUT PDEVICE_RELATIONS *pDeviceRelations)
Definition: enum.c:552
VOID NTAPI PPBridge_RestoreCurrent(IN PPCI_CONFIGURATOR_CONTEXT Context)
Definition: ppbridge.c:649
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:778
struct _PCI_RESIZABLE_BAR_STATE * PPCI_RESIZABLE_BAR_STATE
BOOLEAN NTAPI PciArbiter_FindSuitableRange(_In_ PARBITER_INSTANCE Arbiter, _Inout_ PARBITER_ALLOCATION_STATE State)
Searches for a placement, remembering on the range whether it came from a fixed alternative.
Definition: arb_comn.c:97
PCI_DEBUGGING_DEVICE PciDebuggingDevices[MAX_DEBUGGING_DEVICES_SUPPORTED]
Definition: utils.c:18
PPCI_IRQ_ROUTING_TABLE PciIrqRoutingTable
Definition: init.c:26
_PCI_DISPATCH_STYLE
Definition: pci.h:181
@ IRP_UPWARD
Definition: pci.h:184
@ IRP_COMPLETE
Definition: pci.h:182
@ IRP_DISPATCH
Definition: pci.h:185
@ IRP_DOWNWARD
Definition: pci.h:183
KEVENT PciGlobalLock
Definition: init.c:20
NTSTATUS NTAPI PciQueryDeviceRelations(IN PPCI_FDO_EXTENSION DeviceExtension, IN OUT PDEVICE_RELATIONS *pDeviceRelations)
Definition: enum.c:2366
NTSTATUS NTAPI PciQueryDeviceText(IN PPCI_PDO_EXTENSION PdoExtension, IN DEVICE_TEXT_TYPE QueryType, IN ULONG Locale, OUT PWCHAR *Buffer)
Definition: id.c:422
BOOLEAN PciRunningDatacenter
Definition: init.c:18
PCI_INTERFACE PciPmeInterface
Definition: pmeintf.c:18
enum _PCI_SIGNATURE * PPCI_SIGNATURE
NTSTATUS NTAPI ario_PackResource(_In_ PIO_RESOURCE_DESCRIPTOR Descriptor, _In_ ULONGLONG Start, _Out_ PCM_PARTIAL_RESOURCE_DESCRIPTOR Resource)
Definition: ar_memio.c:67
VOID NTAPI PciInitializeEcam(_In_ PPCI_FDO_EXTENSION FdoExtension)
Maps the bus an FDO decodes into the ECAM window and verifies the window the first time a bus with de...
Definition: ecam.c:336
struct _PCI_VERIFIER_DATA * PPCI_VERIFIER_DATA
VOID NTAPI Device_MassageHeaderForLimitsDetermination(IN PPCI_CONFIGURATOR_CONTEXT Context)
Definition: device.c:230
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:166
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:611
BOOLEAN NTAPI PciIsDeviceOnDebugPath(IN PPCI_PDO_EXTENSION DeviceExtension)
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:597
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:390
NTSTATUS NTAPI PciPdoIrpQueryDeviceState(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:930
VOID NTAPI Device_ResetDevice(IN PPCI_PDO_EXTENSION PdoExtension, IN PPCI_COMMON_HEADER PciData)
Definition: device.c:284
NTSTATUS NTAPI PciCallDownIrpStack(IN PPCI_FDO_EXTENSION DeviceExtension, IN PIRP Irp)
Definition: dispatch.c:39
INT32 NTAPI armem_ScoreRequirement(_In_ PIO_RESOURCE_DESCRIPTOR Descriptor)
Definition: ar_memio.c:287
union _PCI_HEADER_TYPE_DEPENDENT * PPCI_HEADER_TYPE_DEPENDENT
PIO_RESOURCE_REQUIREMENTS_LIST PciZeroIoResourceRequirements
Definition: enum.c:18
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:908
NTSTATUS NTAPI PciPdoIrpQueryLegacyBusInformation(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:1006
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:116
NTSTATUS NTAPI PciPdoIrpRemoveDevice(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:560
struct _PCI_CONFIGURATOR * PPCI_CONFIGURATOR
NTSTATUS NTAPI PciInitializeArbiters(IN PPCI_FDO_EXTENSION FdoExtension)
Definition: arb_comn.c:242
VOID NTAPI PciDecodeEnable(IN PPCI_PDO_EXTENSION PdoExtension, IN BOOLEAN Enable, OUT PUSHORT Command)
Definition: utils.c:1359
RTL_RANGE_LIST PciVgaAndIsaBitExclusionList
Definition: utils.c:22
NTSTATUS NTAPI PciPdoIrpQueryId(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:795
VOID NTAPI Cardbus_SaveLimits(IN PPCI_CONFIGURATOR_CONTEXT Context)
Definition: cardbus.c:91
VOID NTAPI PciDebugPrintCmResList(IN PCM_RESOURCE_LIST ResourceList)
Definition: debug.c:365
NTSTATUS NTAPI agpintrf_Initializer(IN PVOID Instance)
Definition: agpintrf.c:107
NTSTATUS NTAPI PciFdoIrpQueryDeviceRelations(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: fdo.c:398
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:144
BOOLEAN NTAPI PciIsCriticalDeviceClass(IN UCHAR BaseClass, IN UCHAR SubClass)
Definition: utils.c:672
BOOLEAN PciEcamVerified
Definition: ecam.c:20
NTSTATUS NTAPI PciArbiterConstructor(_In_ PPCI_FDO_EXTENSION FdoExtension, _In_ PCI_SIGNATURE ArbiterType, _Out_ PARBITER_INTERFACE Interface)
Definition: arb_comn.c:200
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:697
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:958
NTSTATUS NTAPI PciPdoIrpWriteConfig(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:919
NTSTATUS NTAPI armem_PackResource(_In_ PIO_RESOURCE_DESCRIPTOR Descriptor, _In_ ULONGLONG Start, _Out_ PCM_PARTIAL_RESOURCE_DESCRIPTOR Resource)
Definition: ar_memio.c:248
#define PCI_RBAR_MAX_ENTRIES
Definition: pci.h:98
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:319
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:62
VOID NTAPI Cardbus_ResetDevice(IN PPCI_PDO_EXTENSION PdoExtension, IN PPCI_COMMON_HEADER PciData)
Definition: cardbus.c:138
NTSTATUS NTAPI PciFdoIrpQueryRemoveDevice(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: fdo.c:236
NTSTATUS NTAPI PciPdoIrpQueryCapabilities(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:731
NTSTATUS NTAPI PciPdoIrpStartDevice(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:158
INT32 NTAPI ario_ScoreRequirement(_In_ PIO_RESOURCE_DESCRIPTOR Descriptor)
Definition: ar_memio.c:98
NTSTATUS NTAPI PciPdoIrpQueryRemoveDevice(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:534
NTSTATUS NTAPI PciSetPowerManagedDevicePowerState(IN PPCI_PDO_EXTENSION DeviceExtension, IN DEVICE_POWER_STATE DeviceState, IN BOOLEAN IrpSet)
Definition: power.c:123
NTSTATUS NTAPI arbusno_UnpackResource(_In_ PCM_PARTIAL_RESOURCE_DESCRIPTOR Resource, _Out_ PULONGLONG Start, _Out_ PULONGLONG Length)
Definition: ar_busno.c:71
ULONGLONG NTAPI PciGetHackFlags(IN USHORT VendorId, IN USHORT DeviceId, IN USHORT SubVendorId, IN USHORT SubSystemId, IN UCHAR RevisionId)
Definition: utils.c:604
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:322
UCHAR NTAPI PciGetAdjustedInterruptLine(IN PPCI_PDO_EXTENSION PdoExtension)
Definition: config.c:24
struct _PCI_DEBUGGING_DEVICE PCI_DEBUGGING_DEVICE
ULONG NTAPI PciBusInterface_GetBusData(_In_ PVOID Context, _In_ ULONG WhichSpace, _Out_writes_bytes_(Length) PVOID Buffer, _In_ ULONG Offset, _In_ ULONG Length)
NTSTATUS NTAPI PciFdoIrpQueryInterface(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: fdo.c:425
PPCI_VERIFIER_DATA NTAPI PciVerifierRetrieveFailureData(IN ULONG FailureCode)
Definition: pcivrify.c:60
NTSTATUS NTAPI locintrf_Initializer(IN PVOID Instance)
Definition: locintrf.c:35
BOOLEAN NTAPI PciArbiter_OverrideConflict(_In_ PARBITER_INSTANCE Arbiter, _Inout_ PARBITER_ALLOCATION_STATE State)
Lets a fixed requirement overlap ranges its own device was given by other fixed requirements.
Definition: arb_comn.c:136
NTSTATUS NTAPI arbusno_Initializer(IN PVOID Instance)
Definition: ar_busno.c:110
VOID NTAPI PPBridge_SaveLimits(IN PPCI_CONFIGURATOR_CONTEXT Context)
Definition: ppbridge.c:494
VOID(NTAPI * PCI_IPI_FUNCTION)(IN PVOID Reserved, IN PVOID Context)
Definition: pci.h:566
BOOLEAN NTAPI PciCanDisableDecodes(IN PPCI_PDO_EXTENSION DeviceExtension, IN PPCI_COMMON_HEADER Config, IN ULONGLONG HackFlags, IN BOOLEAN ForPowerDown)
Definition: utils.c:1027
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:500
struct _PCI_FDO_EXTENSION PCI_FDO_EXTENSION
NTSTATUS NTAPI PciUpdateDeviceUsage(_Inout_ PPCI_POWER_STATE PowerState, _In_ PIO_STACK_LOCATION IoStackLocation)
Counts a paging, hibernation or dump file arriving on or leaving a device.
Definition: usage.c:35
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:193
PPCI_INTERFACE PciInterfaces[]
Definition: intrface.c:18
_PCI_DEVICE_TYPES
Definition: pci.h:155
@ PciTypeHostBridge
Definition: pci.h:157
@ PciTypeDevice
Definition: pci.h:160
@ PciTypePciBridge
Definition: pci.h:158
@ PciTypeInvalid
Definition: pci.h:156
@ PciTypeCardbusBridge
Definition: pci.h:159
NTSTATUS NTAPI PciPdoIrpDeviceUsageNotification(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:956
struct _PCI_RESIZABLE_BAR_STATE PCI_RESIZABLE_BAR_STATE
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:516
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:632
NTSTATUS NTAPI PciFdoIrpDeviceUsageNotification(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: fdo.c:527
KIPI_BROADCAST_WORKER PciExecuteCriticalSystemRoutine
Definition: pci.h:1204
PWATCHDOG_TABLE WdTable
Definition: init.c:27
BOOLEAN NTAPI PciEcamReadWriteConfig(_In_ ULONG Bus, _In_ PCI_SLOT_NUMBER Slot, _Inout_updates_bytes_(Length) PVOID Buffer, _In_ ULONG Offset, _In_ ULONG Length, _In_ BOOLEAN Read)
Performs a configuration space access through the ECAM window.
Definition: ecam.c:401
VOID NTAPI PciRestoreHalHooks(VOID)
Gives the HAL back the routines PciHookHal replaced.
Definition: hookhal.c:337
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:356
NTSTATUS NTAPI PciFdoIrpQueryPower(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: power.c:351
VOID NTAPI PciInitializeState(IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: state.c:88
NTSTATUS NTAPI pcicbintrf_Initializer(IN PVOID Instance)
Definition: cardbus.c:190
NTSTATUS NTAPI PciPdoIrpQueryResources(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:747
BOOLEAN NTAPI PciUnicodeStringStrStr(IN PUNICODE_STRING InputString, IN PCUNICODE_STRING EqualString, IN BOOLEAN CaseInSensitive)
Definition: utils.c:28
VOID NTAPI PPBridge_ResetDevice(IN PPCI_PDO_EXTENSION PdoExtension, IN PPCI_COMMON_HEADER PciData)
Definition: ppbridge.c:702
VOID NTAPI PciReadDeviceConfig(IN PPCI_PDO_EXTENSION DeviceExtension, IN PVOID Buffer, IN ULONG Offset, IN ULONG Length)
Definition: config.c:149
NTSTATUS NTAPI PciPdoWaitWake(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:88
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:424
struct PCI_SECONDARY_EXTENSION * PPCI_SECONDARY_EXTENSION
NTSTATUS NTAPI PciQueryResources(IN PPCI_PDO_EXTENSION PdoExtension, OUT PCM_RESOURCE_LIST *Buffer)
Definition: enum.c:389
NTSTATUS NTAPI armem_UnpackRequirement(_In_ PIO_RESOURCE_DESCRIPTOR Descriptor, _Out_ PULONGLONG Minimum, _Out_ PULONGLONG Maximum, _Out_ PULONGLONG Length, _Out_ PULONGLONG Alignment)
Definition: ar_memio.c:225
NTSTATUS NTAPI ario_UnpackRequirement(_In_ PIO_RESOURCE_DESCRIPTOR Descriptor, _Out_ PULONGLONG Minimum, _Out_ PULONGLONG Maximum, _Out_ PULONGLONG Length, _Out_ PULONGLONG Alignment)
Definition: ar_memio.c:48
struct _PCI_PDO_EXTENSION PCI_PDO_EXTENSION
NTSTATUS NTAPI PciBuildDefaultExclusionLists(VOID)
Definition: utils.c:276
enum _PCI_DEVICE_TYPES PCI_DEVICE_TYPES
NTSTATUS NTAPI PPBridge_ChangeResourceSettings(_In_ PPCI_PDO_EXTENSION PdoExtension, _Inout_ PPCI_COMMON_HEADER PciData)
Definition: ppbridge.c:831
VOID(NTAPI * PCI_CONFIGURATOR_RESTORE_CURRENT)(IN struct _PCI_CONFIGURATOR_CONTEXT *Context)
Definition: pci.h:508
VOID NTAPI Cardbus_GetAdditionalResourceDescriptors(IN PPCI_CONFIGURATOR_CONTEXT Context, IN PPCI_COMMON_HEADER PciData, IN PIO_RESOURCE_DESCRIPTOR IoDescriptor)
Definition: cardbus.c:128
DRIVER_DISPATCH PciDispatchIrp
Definition: pci.h:605
struct _PCI_MJ_DISPATCH_TABLE * PPCI_MJ_DISPATCH_TABLE
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.
Definition: utils.c:1252
BOOLEAN NTAPI PciIsDatacenter(VOID)
Definition: utils.c:132
NTSTATUS NTAPI PciPdoIrpQueryBusInformation(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:809
DRIVER_ADD_DEVICE PciAddDevice
Definition: pci.h:683
NTSTATUS NTAPI PciGetConfigHandlers(IN PPCI_FDO_EXTENSION FdoExtension)
Definition: config.c:266
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
NTSTATUS NTAPI ario_UnpackResource(_In_ PCM_PARTIAL_RESOURCE_DESCRIPTOR Resource, _Out_ PULONGLONG Start, _Out_ PULONGLONG Length)
Definition: ar_memio.c:84
RTL_RANGE_LIST PciIsaBitExclusionList
Definition: utils.c:21
struct _PCI_HACK_ENTRY PCI_HACK_ENTRY
VOID(NTAPI * PCI_CONFIGURATOR_INITIALIZE)(IN struct _PCI_CONFIGURATOR_CONTEXT *Context)
Definition: pci.h:504
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:262
_PCI_SIGNATURE
Definition: pci.h:132
@ PciInterface_NativeIde
Definition: pci.h:146
@ PciFdoExtensionType
Definition: pci.h:134
@ PciPdoExtensionType
Definition: pci.h:133
@ PciInterface_PciCb
Definition: pci.h:142
@ PciInterface_IntRouteHandler
Definition: pci.h:141
@ PciArb_BusNumber
Definition: pci.h:138
@ PciInterface_Location
Definition: pci.h:148
@ PciArb_Io
Definition: pci.h:135
@ PciInterface_DevicePresent
Definition: pci.h:145
@ PciArb_Interrupt
Definition: pci.h:137
@ PciInterface_BusHandler
Definition: pci.h:140
@ PciTrans_Interrupt
Definition: pci.h:139
@ PciInterface_LegacyDeviceDetection
Definition: pci.h:143
@ PciArb_Memory
Definition: pci.h:136
@ PciInterface_AgpTarget
Definition: pci.h:147
@ PciInterface_PmeHandler
Definition: pci.h:144
NTSTATUS NTAPI armem_Initializer(IN PVOID Instance)
Definition: ar_memio.c:308
NTSTATUS NTAPI PciFdoIrpCancelStopDevice(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: fdo.c:382
NTSTATUS NTAPI PciFdoIrpRemoveDevice(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: fdo.c:259
NTSTATUS NTAPI devpresent_Initializer(IN PVOID Instance)
Definition: devhere.c:35
VOID NTAPI PciVerifierRelease(VOID)
Drops the hardware profile notification taken by PciVerifierInit.
Definition: pcivrify.c:206
ULONG NTAPI PciReadDeviceExtendedCapability(_In_ PPCI_PDO_EXTENSION DeviceExtension, _In_ ULONG CapabilityId, _Out_writes_bytes_(Length) PPCI_EXPRESS_ENHANCED_CAPABILITY_HEADER Buffer, _In_ ULONG Length)
Finds an extended capability and reads it into the caller's buffer.
Definition: express.c:39
@ PdoExtension
Definition: precomp.h:61
@ FdoExtension
Definition: precomp.h:60
_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
_In_ PIRP Irp
Definition: kse.h:79
_In_ PIRP _In_ PIO_COMPLETION_ROUTINE _In_ PVOID Context
Definition: kse.h:81
void Bar(void)
Definition: terminate.cpp:70
* 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)
#define _In_reads_bytes_(s)
Definition: no_sal2.h:170
#define _Inout_
Definition: no_sal2.h:162
#define _Out_writes_opt_(s)
Definition: no_sal2.h:226
#define _Out_
Definition: no_sal2.h:160
#define _In_
Definition: no_sal2.h:158
#define _Inout_updates_bytes_(s)
Definition: no_sal2.h:184
#define _Out_writes_bytes_(s)
Definition: no_sal2.h:178
ULONG ACCESS_MASK
Definition: nt_native.h:40
__GNU_EXTENSION typedef unsigned __int64 * PULONGLONG
Definition: ntbasedef.h:395
_In_ ULONG _In_ ULONG Offset
Definition: ntddpcm.h:101
_In_ ULONG WhichSpace
Definition: ntddpcm.h:99
_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_ BOOLEAN Read
Definition: strmini.h:479
Definition: shell.h:41
PPCI_FDO_EXTENSION BusFdoExtension
Definition: pci.h:470
PCI_SECONDARY_EXTENSION Header
Definition: pci.h:468
WCHAR InstanceName[24]
Definition: pci.h:471
ARBITER_INSTANCE CommonInstance
Definition: pci.h:472
PPCI_INTERFACE Interface
Definition: pci.h:469
SINGLE_LIST_ENTRY List
Definition: pci.h:458
PCI_SIGNATURE ExtensionType
Definition: pci.h:459
PPCI_CONFIGURATOR Configurator
Definition: pci.h:557
PPCI_PDO_EXTENSION PdoExtension
Definition: pci.h:554
USHORT SecondaryStatus
Definition: pci.h:558
PPCI_COMMON_HEADER Current
Definition: pci.h:555
PPCI_COMMON_HEADER PciData
Definition: pci.h:556
PCI_CONFIGURATOR_CHANGE_RESOURCE_SETTINGS ChangeResourceSettings
Definition: pci.h:544
PCI_CONFIGURATOR_RESTORE_CURRENT RestoreCurrent
Definition: pci.h:541
PCI_CONFIGURATOR_SAVE_LIMITS SaveLimits
Definition: pci.h:542
PCI_CONFIGURATOR_RESET_DEVICE ResetDevice
Definition: pci.h:546
PCI_CONFIGURATOR_GET_ADDITIONAL_RESOURCE_DESCRIPTORS GetAdditionalResourceDescriptors
Definition: pci.h:545
PCI_CONFIGURATOR_INITIALIZE Initialize
Definition: pci.h:540
PCI_CONFIGURATOR_SAVE_CURRENT_SETTINGS SaveCurrentSettings
Definition: pci.h:543
PCI_SLOT_NUMBER Slot
Definition: pci.h:297
BOOLEAN DeviceState
Definition: pci.h:246
BOOLEAN Fake
Definition: pci.h:261
BOOLEAN LatencyTimer
Definition: pci.h:276
struct _PCI_FDO_EXTENSION::@834 HotPlugParameters
struct _PCI_PDO_EXTENSION * ChildBridgePdoList
Definition: pci.h:256
BOOLEAN ArbitersInitialized
Definition: pci.h:264
SINGLE_LIST_ENTRY SecondaryExtension
Definition: pci.h:268
BOOLEAN ChildDelete
Definition: pci.h:262
BOOLEAN CacheLineSize
Definition: pci.h:275
PDEVICE_OBJECT AttachedDeviceObject
Definition: pci.h:251
PDEVICE_OBJECT PhysicalDeviceObject
Definition: pci.h:249
LONG BusHackFlags
Definition: pci.h:280
PPCI_COMMON_CONFIG PreservedConfig
Definition: pci.h:270
struct _PCI_FDO_EXTENSION * ParentFdoExtension
Definition: pci.h:255
BOOLEAN EnablePERR
Definition: pci.h:277
PCI_LOCK Lock
Definition: pci.h:271
BOOLEAN TentativeNextState
Definition: pci.h:247
ULONG ExtensionType
Definition: pci.h:244
BOOLEAN EnableSERR
Definition: pci.h:278
PPCI_BUS_INTERFACE_STANDARD PciBusInterface
Definition: pci.h:257
LONG PciPmeInterfaceCount
Definition: pci.h:281
BOOLEAN Acquired
Definition: pci.h:274
BUS_HANDLER * BusHandler
Definition: pci.h:259
struct _PCI_MJ_DISPATCH_TABLE * IrpDispatchTable
Definition: pci.h:245
SINGLE_LIST_ENTRY List
Definition: pci.h:243
PDEVICE_OBJECT FunctionalDeviceObject
Definition: pci.h:250
PCI_POWER_STATE PowerState
Definition: pci.h:267
struct _PCI_PDO_EXTENSION * ChildPdoList
Definition: pci.h:253
BOOLEAN BaseBus
Definition: pci.h:260
BOOLEAN BrokenVideoHackApplied
Definition: pci.h:265
KEVENT SecondaryExtLock
Definition: pci.h:248
struct _PCI_FDO_EXTENSION * BusRootFdoExtension
Definition: pci.h:254
BOOLEAN MaxSubordinateBus
Definition: pci.h:258
PCI_ROOT_BUS_HARDWARE_CAPABILITY RootBusHardwareCapability
Definition: pci.h:282
BOOLEAN Hibernated
Definition: pci.h:266
LONG ChildWaitWakeCount
Definition: pci.h:269
KEVENT ChildListLock
Definition: pci.h:252
BOOLEAN Scanned
Definition: pci.h:263
IO_RESOURCE_DESCRIPTOR Limit[7]
Definition: pci.h:287
CM_PARTIAL_RESOURCE_DESCRIPTOR Current[7]
Definition: pci.h:288
Definition: pci.h:192
ULONGLONG HackFlags
Definition: pci.h:197
USHORT SubSystemID
Definition: pci.h:196
USHORT VendorID
Definition: pci.h:193
USHORT RevisionID
Definition: pci.h:198
USHORT DeviceID
Definition: pci.h:194
UCHAR Flags
Definition: pci.h:199
USHORT SubVendorID
Definition: pci.h:195
ULONG Count
Definition: pci.h:491
ULONG StringSize[MAX_ANSI_STRINGS]
Definition: pci.h:493
CHAR BufferData[256]
Definition: pci.h:496
ANSI_STRING Strings[MAX_ANSI_STRINGS]
Definition: pci.h:492
ULONG TotalLength
Definition: pci.h:494
PCHAR CharBuffer
Definition: pci.h:495
USHORT MinSize
Definition: pci.h:443
USHORT Flags
Definition: pci.h:446
LONG ReferenceCount
Definition: pci.h:447
USHORT MaxVersion
Definition: pci.h:445
PCI_INTERFACE_CONSTRUCTOR Constructor
Definition: pci.h:449
PCI_SIGNATURE Signature
Definition: pci.h:448
PCI_INTERFACE_INITIALIZER Initializer
Definition: pci.h:450
USHORT MinVersion
Definition: pci.h:444
CONST GUID * InterfaceType
Definition: pci.h:442
LONG RunCount
Definition: pci.h:576
ULONG Barrier
Definition: pci.h:577
PVOID Context
Definition: pci.h:580
PCI_IPI_FUNCTION Function
Definition: pci.h:579
PVOID DeviceExtension
Definition: pci.h:578
UCHAR InterruptPin
Definition: pci.h:593
UCHAR SubClass
Definition: pci.h:595
UCHAR BaseClass
Definition: pci.h:594
PPCI_PDO_EXTENSION PdoExtension
Definition: pci.h:598
UCHAR InterruptLine
Definition: pci.h:592
PDEVICE_OBJECT PhysicalDeviceObject
Definition: pci.h:596
PDEVICE_OBJECT DeviceObject
Definition: pci.h:589
ROUTING_TOKEN RoutingToken
Definition: pci.h:597
struct _PCI_LEGACY_DEVICE * Next
Definition: pci.h:588
ULONG BusNumber
Definition: pci.h:590
ULONG SlotNumber
Definition: pci.h:591
Definition: pci.h:233
BOOLEAN OldIrql
Definition: pci.h:235
LONG Atom
Definition: pci.h:234
ULONG PnpIrpMaximumMinorFunction
Definition: pci.h:410
PCI_DISPATCH_FUNCTION SystemControlIrpDispatchFunction
Definition: pci.h:415
PPCI_MN_DISPATCH_TABLE PowerIrpDispatchTable
Definition: pci.h:413
PCI_DISPATCH_STYLE OtherIrpDispatchStyle
Definition: pci.h:416
PCI_DISPATCH_FUNCTION OtherIrpDispatchFunction
Definition: pci.h:417
ULONG PowerIrpMaximumMinorFunction
Definition: pci.h:412
PPCI_MN_DISPATCH_TABLE PnpIrpDispatchTable
Definition: pci.h:411
PCI_DISPATCH_STYLE SystemControlIrpDispatchStyle
Definition: pci.h:414
PCI_DISPATCH_STYLE DispatchStyle
Definition: pci.h:401
PCI_DISPATCH_FUNCTION DispatchFunction
Definition: pci.h:402
PCI_SLOT_NUMBER Slot
Definition: pci.h:332
PCI_FDO_EXTENSION * BridgeFdoExtension
Definition: pci.h:372
BOOLEAN DeviceState
Definition: pci.h:328
LONG BusInterfaceReferenceCount
Definition: pci.h:336
BOOLEAN ProgIf
Definition: pci.h:343
BOOLEAN BaseClass
Definition: pci.h:345
USHORT ExpressCapabilityPtr
Definition: pci.h:380
UCHAR RawInterruptLine
Definition: pci.h:349
PCI_HEADER_TYPE_DEPENDENT Dependent
Definition: pci.h:369
PCI_POWER_STATE PowerState
Definition: pci.h:368
ULONGLONG HackFlags
Definition: pci.h:370
BOOLEAN InterruptPin
Definition: pci.h:348
PDEVICE_OBJECT PhysicalDeviceObject
Definition: pci.h:333
USHORT SubsystemVendorId
Definition: pci.h:340
USHORT SubsystemId
Definition: pci.h:341
USHORT CommandEnables
Definition: pci.h:378
KEVENT SecondaryExtLock
Definition: pci.h:331
ROUTING_TOKEN RoutingToken
Definition: pci.h:384
UCHAR ExpressDeviceType
Definition: pci.h:381
BOOLEAN SavedCacheLineSize
Definition: pci.h:352
BOOLEAN SavedLatencyTimer
Definition: pci.h:351
struct _PCI_PDO_EXTENSION * NextHashEntry
Definition: pci.h:374
BOOLEAN UpdateHardware
Definition: pci.h:359
USHORT DeviceId
Definition: pci.h:339
struct _PCI_PDO_EXTENSION * NextBridge
Definition: pci.h:373
BOOLEAN HeaderType
Definition: pci.h:353
ULONG ExtensionType
Definition: pci.h:326
USHORT InitialCommand
Definition: pci.h:379
BOOLEAN NeedsHotPlugConfiguration
Definition: pci.h:362
BOOLEAN SubClass
Definition: pci.h:344
BOOLEAN AdditionalResourceCount
Definition: pci.h:346
PCI_LOCK Lock
Definition: pci.h:375
BOOLEAN CapabilitiesPtr
Definition: pci.h:350
USHORT VendorId
Definition: pci.h:338
PVOID Next
Definition: pci.h:325
BOOLEAN OnDebugPath
Definition: pci.h:366
PCI_RESIZABLE_BAR_STATE ResizableBarState
Definition: pci.h:383
BOOLEAN LegacyDriver
Definition: pci.h:358
BOOLEAN BIOSAllowsIDESwitchToNativeMode
Definition: pci.h:364
BOOLEAN TargetAgpCapabilityId
Definition: pci.h:377
BOOLEAN MovedDevice
Definition: pci.h:360
SINGLE_LIST_ENTRY SecondaryExtension
Definition: pci.h:335
struct _PCI_MJ_DISPATCH_TABLE * IrpDispatchTable
Definition: pci.h:327
LONG AgpInterfaceReferenceCount
Definition: pci.h:337
BOOLEAN IsExtendedConfigReachable
Definition: pci.h:382
BOOLEAN NotPresent
Definition: pci.h:354
BOOLEAN DisablePowerDown
Definition: pci.h:361
BOOLEAN ExpectedWritebackFailure
Definition: pci.h:356
UCHAR AdjustedInterruptLine
Definition: pci.h:347
BOOLEAN NoTouchPmeEnable
Definition: pci.h:357
BOOLEAN IoSpaceUnderNativeIdeControl
Definition: pci.h:365
PCI_PMC PowerCapabilities
Definition: pci.h:376
BOOLEAN IDEInNativeMode
Definition: pci.h:363
BOOLEAN TentativeNextState
Definition: pci.h:329
PCI_FUNCTION_RESOURCES * Resources
Definition: pci.h:371
BOOLEAN RevisionId
Definition: pci.h:342
PPCI_FDO_EXTENSION ParentFdoExtension
Definition: pci.h:334
BOOLEAN IoSpaceNotRequired
Definition: pci.h:367
BOOLEAN ReportedMissing
Definition: pci.h:355
LONG CrashDump
Definition: pci.h:226
DEVICE_POWER_STATE DeviceWakeLevel
Definition: pci.h:220
DEVICE_POWER_STATE CurrentDeviceState
Definition: pci.h:218
LONG Hibernate
Definition: pci.h:225
DEVICE_POWER_STATE SystemStateMapping[7]
Definition: pci.h:221
SYSTEM_POWER_STATE CurrentSystemState
Definition: pci.h:217
SYSTEM_POWER_STATE SystemWakeLevel
Definition: pci.h:219
PIRP WaitWakeIrp
Definition: pci.h:222
LONG Paging
Definition: pci.h:224
PVOID SavedCancelRoutine
Definition: pci.h:223
UCHAR EntryIndex[PCI_RBAR_MAX_ENTRIES]
Definition: pci.h:209
USHORT CapabilityPtr
Definition: pci.h:207
ULONG SizeMask[PCI_RBAR_MAX_ENTRIES]
Definition: pci.h:208
ULONG FailureCode
Definition: pci.h:480
VF_FAILURE_CLASS FailureClass
Definition: pci.h:481
PCHAR DebuggerMessageText
Definition: pci.h:483
ULONG AssertionControl
Definition: pci.h:482
Definition: ntbasedef.h:640
int32_t INT32
Definition: typedefs.h:58
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
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFREQUEST _In_ size_t _In_ size_t _In_ ULONG IoControlCode
_Must_inspect_result_ _In_ WDFDEVICE _In_ PUCX_CONTROLLER_CONFIG Config
_In_ PGUID _In_ ULONG OutputBufferLength
Definition: ucxcontroller.h:81
_In_ WDFREQUEST _In_ size_t _In_ size_t InputBufferLength
_In_ UCXUSBDEVICE _In_ ULONG Interface
Definition: ucxusbdevice.h:428
struct _PCI_HEADER_TYPE_DEPENDENT::@835 type0
struct _PCI_HEADER_TYPE_DEPENDENT::@836 type1
struct _PCI_HEADER_TYPE_DEPENDENT::@837 type2
_In_ PIO_STACK_LOCATION IoStackLocation
Definition: usbdlib.h:292
enum _VF_FAILURE_CLASS VF_FAILURE_CLASS
_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_ PWDFDEVICE_INIT _In_ WDF_DEVICE_POWER_STATE PowerState
Definition: wdfdevice.h:3040
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
Definition: wdfdriver.h:213
_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
_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_ WDFIORESLIST _In_ PIO_RESOURCE_DESCRIPTOR Descriptor
Definition: wdfresource.h:342
_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
_In_ LONG _In_ LONG Limit
Definition: kefuncs.h:304