9#define STATUS_CONTINUE_COMPLETION STATUS_SUCCESS
11#define CONNECT_FULLY_SPECIFIED 0x1
12#define CONNECT_LINE_BASED 0x2
13#define CONNECT_MESSAGE_BASED 0x3
14#define CONNECT_FULLY_SPECIFIED_GROUP 0x4
15#define CONNECT_CURRENT_VERSION 0x4
17#define POOL_QUOTA_FAIL_INSTEAD_OF_RAISE 0x8
18#define POOL_RAISE_IF_ALLOCATION_FAILURE 0x10
19#define POOL_COLD_ALLOCATION 0x100
20#define POOL_NX_ALLOCATION 0x200
21#define POOL_ZERO_ALLOCATION 0x400
23#define IO_TYPE_ADAPTER 1
24#define IO_TYPE_CONTROLLER 2
25#define IO_TYPE_DEVICE 3
26#define IO_TYPE_DRIVER 4
29#define IO_TYPE_MASTER_ADAPTER 7
30#define IO_TYPE_OPEN_PACKET 8
31#define IO_TYPE_TIMER 9
33#define IO_TYPE_ERROR_LOG 11
34#define IO_TYPE_ERROR_MESSAGE 12
35#define IO_TYPE_DEVICE_OBJECT_EXTENSION 13
37#define IO_TYPE_CSQ_IRP_CONTEXT 1
39#define IO_TYPE_CSQ_EX 3
42#define IO_RESOURCE_PREFERRED 0x01
43#define IO_RESOURCE_DEFAULT 0x02
44#define IO_RESOURCE_ALTERNATIVE 0x08
49#define DEVICE_TYPE ULONG
51#define FILE_DEVICE_BEEP 0x00000001
52#define FILE_DEVICE_CD_ROM 0x00000002
53#define FILE_DEVICE_CD_ROM_FILE_SYSTEM 0x00000003
54#define FILE_DEVICE_CONTROLLER 0x00000004
55#define FILE_DEVICE_DATALINK 0x00000005
56#define FILE_DEVICE_DFS 0x00000006
57#define FILE_DEVICE_DISK 0x00000007
58#define FILE_DEVICE_DISK_FILE_SYSTEM 0x00000008
59#define FILE_DEVICE_FILE_SYSTEM 0x00000009
60#define FILE_DEVICE_INPORT_PORT 0x0000000a
61#define FILE_DEVICE_KEYBOARD 0x0000000b
62#define FILE_DEVICE_MAILSLOT 0x0000000c
63#define FILE_DEVICE_MIDI_IN 0x0000000d
64#define FILE_DEVICE_MIDI_OUT 0x0000000e
65#define FILE_DEVICE_MOUSE 0x0000000f
66#define FILE_DEVICE_MULTI_UNC_PROVIDER 0x00000010
67#define FILE_DEVICE_NAMED_PIPE 0x00000011
68#define FILE_DEVICE_NETWORK 0x00000012
69#define FILE_DEVICE_NETWORK_BROWSER 0x00000013
70#define FILE_DEVICE_NETWORK_FILE_SYSTEM 0x00000014
71#define FILE_DEVICE_NULL 0x00000015
72#define FILE_DEVICE_PARALLEL_PORT 0x00000016
73#define FILE_DEVICE_PHYSICAL_NETCARD 0x00000017
74#define FILE_DEVICE_PRINTER 0x00000018
75#define FILE_DEVICE_SCANNER 0x00000019
76#define FILE_DEVICE_SERIAL_MOUSE_PORT 0x0000001a
77#define FILE_DEVICE_SERIAL_PORT 0x0000001b
78#define FILE_DEVICE_SCREEN 0x0000001c
79#define FILE_DEVICE_SOUND 0x0000001d
80#define FILE_DEVICE_STREAMS 0x0000001e
81#define FILE_DEVICE_TAPE 0x0000001f
82#define FILE_DEVICE_TAPE_FILE_SYSTEM 0x00000020
83#define FILE_DEVICE_TRANSPORT 0x00000021
84#define FILE_DEVICE_UNKNOWN 0x00000022
85#define FILE_DEVICE_VIDEO 0x00000023
86#define FILE_DEVICE_VIRTUAL_DISK 0x00000024
87#define FILE_DEVICE_WAVE_IN 0x00000025
88#define FILE_DEVICE_WAVE_OUT 0x00000026
89#define FILE_DEVICE_8042_PORT 0x00000027
90#define FILE_DEVICE_NETWORK_REDIRECTOR 0x00000028
91#define FILE_DEVICE_BATTERY 0x00000029
92#define FILE_DEVICE_BUS_EXTENDER 0x0000002a
93#define FILE_DEVICE_MODEM 0x0000002b
94#define FILE_DEVICE_VDM 0x0000002c
95#define FILE_DEVICE_MASS_STORAGE 0x0000002d
96#define FILE_DEVICE_SMB 0x0000002e
97#define FILE_DEVICE_KS 0x0000002f
98#define FILE_DEVICE_CHANGER 0x00000030
99#define FILE_DEVICE_SMARTCARD 0x00000031
100#define FILE_DEVICE_ACPI 0x00000032
101#define FILE_DEVICE_DVD 0x00000033
102#define FILE_DEVICE_FULLSCREEN_VIDEO 0x00000034
103#define FILE_DEVICE_DFS_FILE_SYSTEM 0x00000035
104#define FILE_DEVICE_DFS_VOLUME 0x00000036
105#define FILE_DEVICE_SERENUM 0x00000037
106#define FILE_DEVICE_TERMSRV 0x00000038
107#define FILE_DEVICE_KSEC 0x00000039
108#define FILE_DEVICE_FIPS 0x0000003a
109#define FILE_DEVICE_INFINIBAND 0x0000003b
110#define FILE_DEVICE_VMBUS 0x0000003e
111#define FILE_DEVICE_CRYPT_PROVIDER 0x0000003f
112#define FILE_DEVICE_WPD 0x00000040
113#define FILE_DEVICE_BLUETOOTH 0x00000041
114#define FILE_DEVICE_MT_COMPOSITE 0x00000042
115#define FILE_DEVICE_MT_TRANSPORT 0x00000043
116#define FILE_DEVICE_BIOMETRIC 0x00000044
117#define FILE_DEVICE_PMI 0x00000045
118#define FILE_DEVICE_EHSTOR 0x00000046
119#define FILE_DEVICE_DEVAPI 0x00000047
120#define FILE_DEVICE_GPIO 0x00000048
121#define FILE_DEVICE_USBEX 0x00000049
122#define FILE_DEVICE_CONSOLE 0x00000050
123#define FILE_DEVICE_NFP 0x00000051
124#define FILE_DEVICE_SYSENV 0x00000052
125#define FILE_DEVICE_VIRTUAL_BLOCK 0x00000053
126#define FILE_DEVICE_POINT_OF_SERVICE 0x00000054
127#define FILE_DEVICE_STORAGE_REPLICATION 0x00000055
128#define FILE_DEVICE_TRUST_ENV 0x00000056
129#define FILE_DEVICE_UCM 0x00000057
130#define FILE_DEVICE_UCMTCPCI 0x00000058
131#define FILE_DEVICE_PERSISTENT_MEMORY 0x00000059
132#define FILE_DEVICE_NVDIMM 0x0000005a
133#define FILE_DEVICE_HOLOGRAPHIC 0x0000005b
134#define FILE_DEVICE_SDFXHCI 0x0000005c
135#define FILE_DEVICE_UCMUCSI 0x0000005d
139#if defined(NT_PROCESSOR_GROUPS)
143enum _IRQ_DEVICE_POLICY_USHORT {
148 IrqPolicyAllProcessorsInGroup = 3,
177#define MAXIMUM_VOLUME_LABEL_LENGTH (32 * sizeof(WCHAR))
210(
NTAPI DRIVER_CONTROL)(
230#define DO_DEVICE_HAS_NAME 0x00000040
231#define DO_SYSTEM_BOOT_PARTITION 0x00000100
232#define DO_LONG_TERM_REQUESTS 0x00000200
233#define DO_NEVER_LAST_DEVICE 0x00000400
234#define DO_LOW_PRIORITY_FILESYSTEM 0x00010000
235#define DO_SUPPORTS_TRANSACTIONS 0x00040000
236#define DO_FORCE_NEITHER_IO 0x00080000
237#define DO_VOLUME_DEVICE_OBJECT 0x00100000
238#define DO_SYSTEM_SYSTEM_PARTITION 0x00200000
239#define DO_SYSTEM_CRITICAL_PARTITION 0x00400000
240#define DO_DISALLOW_EXECUTE 0x00800000
245#define DO_UNLOAD_PENDING 0x00000001
246#define DO_VERIFY_VOLUME 0x00000002
247#define DO_BUFFERED_IO 0x00000004
248#define DO_EXCLUSIVE 0x00000008
249#define DO_DIRECT_IO 0x00000010
250#define DO_MAP_IO_BUFFER 0x00000020
251#define DO_DEVICE_INITIALIZING 0x00000080
252#define DO_SHUTDOWN_REGISTERED 0x00000800
253#define DO_BUS_ENUMERATED_DEVICE 0x00001000
254#define DO_POWER_PAGABLE 0x00002000
255#define DO_POWER_INRUSH 0x00004000
258#define FILE_REMOVABLE_MEDIA 0x00000001
259#define FILE_READ_ONLY_DEVICE 0x00000002
260#define FILE_FLOPPY_DISKETTE 0x00000004
261#define FILE_WRITE_ONCE_MEDIA 0x00000008
262#define FILE_REMOTE_DEVICE 0x00000010
263#define FILE_DEVICE_IS_MOUNTED 0x00000020
264#define FILE_VIRTUAL_VOLUME 0x00000040
265#define FILE_AUTOGENERATED_DEVICE_NAME 0x00000080
266#define FILE_DEVICE_SECURE_OPEN 0x00000100
267#define FILE_CHARACTERISTIC_PNP_DEVICE 0x00000800
268#define FILE_CHARACTERISTIC_TS_DEVICE 0x00001000
269#define FILE_CHARACTERISTIC_WEBDAV_DEVICE 0x00002000
270#define FILE_PORTABLE_DEVICE 0x00004000
271#define FILE_DEVICE_ALLOW_APPCONTAINER_TRAVERSAL 0x00020000
274#define FILE_BYTE_ALIGNMENT 0x00000000
275#define FILE_WORD_ALIGNMENT 0x00000001
276#define FILE_LONG_ALIGNMENT 0x00000003
277#define FILE_QUAD_ALIGNMENT 0x00000007
278#define FILE_OCTA_ALIGNMENT 0x0000000f
279#define FILE_32_BYTE_ALIGNMENT 0x0000001f
280#define FILE_64_BYTE_ALIGNMENT 0x0000003f
281#define FILE_128_BYTE_ALIGNMENT 0x0000007f
282#define FILE_256_BYTE_ALIGNMENT 0x000000ff
283#define FILE_512_BYTE_ALIGNMENT 0x000001ff
288typedef struct DECLSPEC_ALIGN(MEMORY_ALLOCATION_ALIGNMENT)
_DEVICE_OBJECT {
295 struct _IRP *CurrentIrp;
298 ULONG Characteristics;
300 PVOID DeviceExtension;
310 ULONG ActiveThreadCount;
458#if (NTDDI_VERSION >= NTDDI_WIN7)
465(
NTAPI IO_SESSION_NOTIFICATION_FUNCTION)(
512(
NTAPI IO_WORKITEM_ROUTINE)(
518(
NTAPI IO_WORKITEM_ROUTINE_EX)(
540#define IO_FORCE_ACCESS_CHECK 0x001
541#define IO_NO_PARAMETER_CHECKING 0x100
543#define IO_REPARSE 0x0
544#define IO_REMOUNT 0x1
555typedef struct _IO_STATUS_BLOCK32 {
558} IO_STATUS_BLOCK32, *PIO_STATUS_BLOCK32;
567#define PIO_APC_ROUTINE_DEFINED
580#define IO_SESSION_STATE_ALL_EVENTS 0xffffffff
581#define IO_SESSION_STATE_CREATION_EVENT 0x00000001
582#define IO_SESSION_STATE_TERMINATION_EVENT 0x00000002
583#define IO_SESSION_STATE_CONNECT_EVENT 0x00000004
584#define IO_SESSION_STATE_DISCONNECT_EVENT 0x00000008
585#define IO_SESSION_STATE_LOGON_EVENT 0x00000010
586#define IO_SESSION_STATE_LOGOFF_EVENT 0x00000020
588#define IO_SESSION_STATE_VALID_EVENT_MASK 0x0000003f
590#define IO_SESSION_MAX_PAYLOAD_SIZE 256L
597#define EVENT_INCREMENT 1
598#define IO_NO_INCREMENT 0
599#define IO_CD_ROM_INCREMENT 1
600#define IO_DISK_INCREMENT 1
601#define IO_KEYBOARD_INCREMENT 6
602#define IO_MAILSLOT_INCREMENT 2
603#define IO_MOUSE_INCREMENT 6
604#define IO_NAMED_PIPE_INCREMENT 2
605#define IO_NETWORK_INCREMENT 2
606#define IO_PARALLEL_INCREMENT 1
607#define IO_SERIAL_INCREMENT 2
608#define IO_SOUND_INCREMENT 8
609#define IO_VIDEO_INCREMENT 1
610#define SEMAPHORE_INCREMENT 1
612#define MM_MAXIMUM_DISK_IO_SIZE (0x10000)
632#if (NTDDI_VERSION >= NTDDI_WIN7)
651#if (NTDDI_VERSION >= NTDDI_VISTA)
653 ULONG BootDeviceSignature;
654 ULONG SystemDeviceSignature;
656 GUID SystemDeviceGuid;
759#define EISA_FUNCTION_ENABLED 0x80
760#define EISA_FREE_FORM_DATA 0x40
761#define EISA_HAS_PORT_INIT_ENTRY 0x20
762#define EISA_HAS_PORT_RANGE 0x10
763#define EISA_HAS_DMA_ENTRY 0x08
764#define EISA_HAS_IRQ_ENTRY 0x04
765#define EISA_HAS_MEMORY_ENTRY 0x02
766#define EISA_HAS_TYPE_ENTRY 0x01
767#define EISA_HAS_INFORMATION \
768 (EISA_HAS_PORT_RANGE + EISA_HAS_DMA_ENTRY + EISA_HAS_IRQ_ENTRY \
769 + EISA_HAS_MEMORY_ENTRY + EISA_HAS_TYPE_ENTRY)
771#define EISA_MORE_ENTRIES 0x80
772#define EISA_SYSTEM_MEMORY 0x00
773#define EISA_MEMORY_TYPE_RAM 0x01
777#define EISA_INVALID_SLOT 0x80
778#define EISA_INVALID_FUNCTION 0x81
779#define EISA_INVALID_CONFIGURATION 0x82
780#define EISA_EMPTY_SLOT 0x83
781#define EISA_INVALID_BIOS_CALL 0x86
798(
NTAPI TRANSLATE_BUS_ADDRESS)(
809(
NTAPI GET_DMA_ADAPTER)(
818(
NTAPI GET_SET_DEVICE_DATA)(
863#define PCI_DEVICE_PRESENT_INTERFACE_VERSION 1
866#define PCI_USE_SUBSYSTEM_IDS 0x00000001
867#define PCI_USE_REVISION 0x00000002
868#define PCI_USE_VENDEV_IDS 0x00000004
869#define PCI_USE_CLASS_SUBCLASS 0x00000008
870#define PCI_USE_PROGIF 0x00000010
871#define PCI_USE_LOCAL_BUS 0x00000020
872#define PCI_USE_LOCAL_DEVICE 0x00000040
890(
NTAPI PCI_IS_DEVICE_PRESENT)(
902(
NTAPI PCI_IS_DEVICE_PRESENT_EX)(
930typedef struct _DEVICE_CAPABILITIES {
935 ULONG LockSupported:1;
936 ULONG EjectSupported:1;
940 ULONG SilentInstall:1;
942 ULONG SurpriseRemovalOK:1;
947 ULONG HardwareDisabled:1;
949 ULONG WarmEjectSupported:1;
950 ULONG NoDisplayInUI:1;
952 ULONG WakeFromInterrupt:1;
953 ULONG SecureDevice:1;
954 ULONG ChildOfVgaEnabledBridge:1;
955 ULONG DecodeIoOnBoot:1;
1001#define PNP_DEVICE_DISABLED 0x00000001
1002#define PNP_DEVICE_DONT_DISPLAY_IN_UI 0x00000002
1003#define PNP_DEVICE_FAILED 0x00000004
1004#define PNP_DEVICE_REMOVED 0x00000008
1005#define PNP_DEVICE_RESOURCE_REQUIREMENTS_CHANGED 0x00000010
1006#define PNP_DEVICE_NOT_DISABLEABLE 0x00000020
1024#if (NTDDI_VERSION >= NTDDI_VISTA)
1026#define PLUGPLAY_PROPERTY_PERSISTENT 0x00000001
1029#define PNP_REPLACE_NO_MAP MAXLONGLONG
1033(
NTAPI *PREPLACE_MAP_MEMORY)(
1065#define PNP_REPLACE_PARAMETERS_VERSION 2
1085(
NTAPI *PREPLACE_BEGIN)(
1091(
NTAPI *PREPLACE_END)(
1096(
NTAPI *PREPLACE_MIRROR_PHYSICAL_MEMORY)(
1103(
NTAPI *PREPLACE_SET_PROCESSOR_ID)(
1110(
NTAPI *PREPLACE_SWAP)(
1115(
NTAPI *PREPLACE_INITIATE_HARDWARE_MIRROR)(
1120(
NTAPI *PREPLACE_MIRROR_PLATFORM_MEMORY)(
1125(
NTAPI *PREPLACE_GET_MEMORY_DESTINATION)(
1132(
NTAPI *PREPLACE_ENABLE_DISABLE_HARDWARE_QUIESCE)(
1136#define PNP_REPLACE_DRIVER_INTERFACE_VERSION 1
1137#define PNP_REPLACE_DRIVER_INTERFACE_MINIMUM_SIZE \
1138 FIELD_OFFSET(PNP_REPLACE_DRIVER_INTERFACE, InitiateHardwareMirror)
1140#define PNP_REPLACE_MEMORY_SUPPORTED 0x0001
1141#define PNP_REPLACE_PROCESSOR_SUPPORTED 0x0002
1142#define PNP_REPLACE_HARDWARE_MEMORY_MIRRORING 0x0004
1143#define PNP_REPLACE_HARDWARE_PAGE_COPY 0x0008
1144#define PNP_REPLACE_HARDWARE_QUIESCE 0x0010
1164(
NTAPI *PREPLACE_DRIVER_INIT)(
1185#define __string_type 0x1000
1186#define __guid_type 0x2000
1187#define __multiString_type 0x4000
1189#define __string_type 0
1190#define __guid_type 0
1191#define __multiString_type 0
1221#undef __multiString_type
1239#define PNPNOTIFY_DEVICE_INTERFACE_INCLUDE_EXISTING_INTERFACES 0x00000001
1244(
NTAPI DRIVER_NOTIFICATION_CALLBACK_ROUTINE)(
1252(
NTAPI DEVICE_CHANGE_COMPLETE_CALLBACK)(
1297#if (NTDDI_VERSION >= NTDDI_VISTA)
1308#if (NTDDI_VERSION >= NTDDI_WIN7)
1365 ULONG NumberOfLinks;
1396 ULONG Characteristics;
1400 ULONG NextEntryOffset;
1422#define FILE_SKIP_COMPLETION_PORT_ON_SUCCESS 0x1
1423#define FILE_SKIP_SET_EVENT_ON_HANDLE 0x2
1424#define FILE_SKIP_SET_USER_EVENT_ON_FAST_IO 0x4
1426#define FM_LOCK_BIT (0x1)
1427#define FM_LOCK_BIT_V (0x0)
1428#define FM_LOCK_WAITER_WOKEN (0x2)
1429#define FM_LOCK_WAITER_INC (0x4)
1434(
NTAPI FAST_IO_CHECK_IF_POSSIBLE)(
1448(
NTAPI FAST_IO_READ)(
1462(
NTAPI FAST_IO_WRITE)(
1476(
NTAPI FAST_IO_QUERY_BASIC_INFO)(
1487(
NTAPI FAST_IO_QUERY_STANDARD_INFO)(
1498(
NTAPI FAST_IO_LOCK)(
1513(
NTAPI FAST_IO_UNLOCK_SINGLE)(
1526(
NTAPI FAST_IO_UNLOCK_ALL)(
1536(
NTAPI FAST_IO_UNLOCK_ALL_BY_KEY)(
1547(
NTAPI FAST_IO_DEVICE_CONTROL)(
1562(
NTAPI FAST_IO_ACQUIRE_FILE)(
1569(
NTAPI FAST_IO_RELEASE_FILE)(
1576(
NTAPI FAST_IO_DETACH_DEVICE)(
1584(
NTAPI FAST_IO_QUERY_NETWORK_OPEN_INFO)(
1595(
NTAPI FAST_IO_ACQUIRE_FOR_MOD_WRITE)(
1605(
NTAPI FAST_IO_MDL_READ)(
1618(
NTAPI FAST_IO_MDL_READ_COMPLETE)(
1627(
NTAPI FAST_IO_PREPARE_MDL_WRITE)(
1640(
NTAPI FAST_IO_MDL_WRITE_COMPLETE)(
1650(
NTAPI FAST_IO_READ_COMPRESSED)(
1666(
NTAPI FAST_IO_WRITE_COMPRESSED)(
1682(
NTAPI FAST_IO_MDL_READ_COMPLETE_COMPRESSED)(
1691(
NTAPI FAST_IO_MDL_WRITE_COMPLETE_COMPRESSED)(
1701(
NTAPI FAST_IO_QUERY_OPEN)(
1710(
NTAPI FAST_IO_RELEASE_FOR_MOD_WRITE)(
1719(
NTAPI FAST_IO_ACQUIRE_FOR_CCFLUSH)(
1727(
NTAPI FAST_IO_RELEASE_FOR_CCFLUSH)(
1764 PVOID DataSectionObject;
1765 PVOID SharedCacheMap;
1766 PVOID ImageSectionObject;
1775#define FO_FILE_OPEN 0x00000001
1776#define FO_SYNCHRONOUS_IO 0x00000002
1777#define FO_ALERTABLE_IO 0x00000004
1778#define FO_NO_INTERMEDIATE_BUFFERING 0x00000008
1779#define FO_WRITE_THROUGH 0x00000010
1780#define FO_SEQUENTIAL_ONLY 0x00000020
1781#define FO_CACHE_SUPPORTED 0x00000040
1782#define FO_NAMED_PIPE 0x00000080
1783#define FO_STREAM_FILE 0x00000100
1784#define FO_MAILSLOT 0x00000200
1785#define FO_GENERATE_AUDIT_ON_CLOSE 0x00000400
1786#define FO_QUEUE_IRP_TO_THREAD 0x00000400
1787#define FO_DIRECT_DEVICE_OPEN 0x00000800
1788#define FO_FILE_MODIFIED 0x00001000
1789#define FO_FILE_SIZE_CHANGED 0x00002000
1790#define FO_CLEANUP_COMPLETE 0x00004000
1791#define FO_TEMPORARY_FILE 0x00008000
1792#define FO_DELETE_ON_CLOSE 0x00010000
1793#define FO_OPENED_CASE_SENSITIVE 0x00020000
1794#define FO_HANDLE_CREATED 0x00040000
1795#define FO_FILE_FAST_IO_READ 0x00080000
1796#define FO_RANDOM_ACCESS 0x00100000
1797#define FO_FILE_OPEN_CANCELLED 0x00200000
1798#define FO_VOLUME_OPEN 0x00400000
1799#define FO_REMOTE_ORIGIN 0x01000000
1800#define FO_DISALLOW_EXCLUSIVE 0x02000000
1801#define FO_SKIP_COMPLETION_PORT 0x02000000
1802#define FO_SKIP_SET_EVENT 0x04000000
1803#define FO_SKIP_SET_FAST_IO 0x08000000
1804#define FO_FLAGS_VALID_ONLY_DURING_CREATE FO_DISALLOW_EXCLUSIVE
1807#define VPB_MOUNTED 0x0001
1808#define VPB_LOCKED 0x0002
1809#define VPB_PERSISTENT 0x0004
1810#define VPB_REMOVE_PENDING 0x0008
1811#define VPB_RAW_MOUNT 0x0010
1812#define VPB_DIRECT_WRITES_ALLOWED 0x0020
1816#define SL_FORCE_ACCESS_CHECK 0x01
1817#define SL_OPEN_PAGING_FILE 0x02
1818#define SL_OPEN_TARGET_DIRECTORY 0x04
1819#define SL_STOP_ON_SYMLINK 0x08
1820#define SL_CASE_SENSITIVE 0x80
1822#define SL_KEY_SPECIFIED 0x01
1823#define SL_OVERRIDE_VERIFY_VOLUME 0x02
1824#define SL_WRITE_THROUGH 0x04
1825#define SL_FT_SEQUENTIAL_WRITE 0x08
1826#define SL_FORCE_DIRECT_WRITE 0x10
1827#define SL_REALTIME_STREAM 0x20
1829#define SL_READ_ACCESS_GRANTED 0x01
1830#define SL_WRITE_ACCESS_GRANTED 0x04
1832#define SL_FAIL_IMMEDIATELY 0x01
1833#define SL_EXCLUSIVE_LOCK 0x02
1835#define SL_RESTART_SCAN 0x01
1836#define SL_RETURN_SINGLE_ENTRY 0x02
1837#define SL_INDEX_SPECIFIED 0x04
1839#define SL_WATCH_TREE 0x01
1841#define SL_ALLOW_RAW_MOUNT 0x01
1845#define CTL_CODE(DeviceType, Function, Method, Access) \
1846 (((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method))
1848#define DEVICE_TYPE_FROM_CTL_CODE(ctl) (((ULONG) (ctl & 0xffff0000)) >> 16)
1850#define METHOD_FROM_CTL_CODE(ctrlCode) ((ULONG)(ctrlCode & 3))
1856#define IRP_NOCACHE 0x00000001
1857#define IRP_PAGING_IO 0x00000002
1858#define IRP_MOUNT_COMPLETION 0x00000002
1859#define IRP_SYNCHRONOUS_API 0x00000004
1860#define IRP_ASSOCIATED_IRP 0x00000008
1861#define IRP_BUFFERED_IO 0x00000010
1862#define IRP_DEALLOCATE_BUFFER 0x00000020
1863#define IRP_INPUT_OPERATION 0x00000040
1864#define IRP_SYNCHRONOUS_PAGING_IO 0x00000040
1865#define IRP_CREATE_OPERATION 0x00000080
1866#define IRP_READ_OPERATION 0x00000100
1867#define IRP_WRITE_OPERATION 0x00000200
1868#define IRP_CLOSE_OPERATION 0x00000400
1869#define IRP_DEFER_IO_COMPLETION 0x00000800
1870#define IRP_OB_QUERY_NAME 0x00001000
1871#define IRP_HOLD_DEVICE_QUEUE 0x00002000
1873#define IRP_RETRY_IO_COMPLETION 0x00004000
1874#define IRP_CLASS_CACHE_OPERATION 0x00008000
1877#define IRP_QUOTA_CHARGED 0x01
1878#define IRP_ALLOCATED_MUST_SUCCEED 0x02
1879#define IRP_ALLOCATED_FIXED_SIZE 0x04
1880#define IRP_LOOKASIDE_ALLOCATION 0x08
1886#define IRP_MJ_CREATE 0x00
1887#define IRP_MJ_CREATE_NAMED_PIPE 0x01
1888#define IRP_MJ_CLOSE 0x02
1889#define IRP_MJ_READ 0x03
1890#define IRP_MJ_WRITE 0x04
1891#define IRP_MJ_QUERY_INFORMATION 0x05
1892#define IRP_MJ_SET_INFORMATION 0x06
1893#define IRP_MJ_QUERY_EA 0x07
1894#define IRP_MJ_SET_EA 0x08
1895#define IRP_MJ_FLUSH_BUFFERS 0x09
1896#define IRP_MJ_QUERY_VOLUME_INFORMATION 0x0a
1897#define IRP_MJ_SET_VOLUME_INFORMATION 0x0b
1898#define IRP_MJ_DIRECTORY_CONTROL 0x0c
1899#define IRP_MJ_FILE_SYSTEM_CONTROL 0x0d
1900#define IRP_MJ_DEVICE_CONTROL 0x0e
1901#define IRP_MJ_INTERNAL_DEVICE_CONTROL 0x0f
1902#define IRP_MJ_SCSI 0x0f
1903#define IRP_MJ_SHUTDOWN 0x10
1904#define IRP_MJ_LOCK_CONTROL 0x11
1905#define IRP_MJ_CLEANUP 0x12
1906#define IRP_MJ_CREATE_MAILSLOT 0x13
1907#define IRP_MJ_QUERY_SECURITY 0x14
1908#define IRP_MJ_SET_SECURITY 0x15
1909#define IRP_MJ_POWER 0x16
1910#define IRP_MJ_SYSTEM_CONTROL 0x17
1911#define IRP_MJ_DEVICE_CHANGE 0x18
1912#define IRP_MJ_QUERY_QUOTA 0x19
1913#define IRP_MJ_SET_QUOTA 0x1a
1914#define IRP_MJ_PNP 0x1b
1915#define IRP_MJ_PNP_POWER 0x1b
1916#define IRP_MJ_MAXIMUM_FUNCTION 0x1b
1918#define IRP_MN_SCSI_CLASS 0x01
1920#define IRP_MN_START_DEVICE 0x00
1921#define IRP_MN_QUERY_REMOVE_DEVICE 0x01
1922#define IRP_MN_REMOVE_DEVICE 0x02
1923#define IRP_MN_CANCEL_REMOVE_DEVICE 0x03
1924#define IRP_MN_STOP_DEVICE 0x04
1925#define IRP_MN_QUERY_STOP_DEVICE 0x05
1926#define IRP_MN_CANCEL_STOP_DEVICE 0x06
1928#define IRP_MN_QUERY_DEVICE_RELATIONS 0x07
1929#define IRP_MN_QUERY_INTERFACE 0x08
1930#define IRP_MN_QUERY_CAPABILITIES 0x09
1931#define IRP_MN_QUERY_RESOURCES 0x0A
1932#define IRP_MN_QUERY_RESOURCE_REQUIREMENTS 0x0B
1933#define IRP_MN_QUERY_DEVICE_TEXT 0x0C
1934#define IRP_MN_FILTER_RESOURCE_REQUIREMENTS 0x0D
1936#define IRP_MN_READ_CONFIG 0x0F
1937#define IRP_MN_WRITE_CONFIG 0x10
1938#define IRP_MN_EJECT 0x11
1939#define IRP_MN_SET_LOCK 0x12
1940#define IRP_MN_QUERY_ID 0x13
1941#define IRP_MN_QUERY_PNP_DEVICE_STATE 0x14
1942#define IRP_MN_QUERY_BUS_INFORMATION 0x15
1943#define IRP_MN_DEVICE_USAGE_NOTIFICATION 0x16
1944#define IRP_MN_SURPRISE_REMOVAL 0x17
1945#if (NTDDI_VERSION >= NTDDI_WIN7)
1946#define IRP_MN_DEVICE_ENUMERATED 0x19
1949#define IRP_MN_WAIT_WAKE 0x00
1950#define IRP_MN_POWER_SEQUENCE 0x01
1951#define IRP_MN_SET_POWER 0x02
1952#define IRP_MN_QUERY_POWER 0x03
1954#define IRP_MN_QUERY_ALL_DATA 0x00
1955#define IRP_MN_QUERY_SINGLE_INSTANCE 0x01
1956#define IRP_MN_CHANGE_SINGLE_INSTANCE 0x02
1957#define IRP_MN_CHANGE_SINGLE_ITEM 0x03
1958#define IRP_MN_ENABLE_EVENTS 0x04
1959#define IRP_MN_DISABLE_EVENTS 0x05
1960#define IRP_MN_ENABLE_COLLECTION 0x06
1961#define IRP_MN_DISABLE_COLLECTION 0x07
1962#define IRP_MN_REGINFO 0x08
1963#define IRP_MN_EXECUTE_METHOD 0x09
1965#define IRP_MN_REGINFO_EX 0x0b
1967typedef struct _FILE_OBJECT {
1975 PVOID PrivateCacheMap;
1977 struct _FILE_OBJECT *RelatedFileObject;
1989 volatile ULONG Waiters;
1990 volatile ULONG Busy;
1997 volatile PVOID FileObjectExtension;
2027#define PORT_MAXIMUM_MESSAGE_LENGTH 512
2029#define PORT_MAXIMUM_MESSAGE_LENGTH 256
2032#define ERROR_LOG_LIMIT_SIZE 240
2033#define IO_ERROR_LOG_MESSAGE_HEADER_LENGTH (sizeof(IO_ERROR_LOG_MESSAGE) - \
2034 sizeof(IO_ERROR_LOG_PACKET) + \
2035 (sizeof(WCHAR) * 40))
2036#define ERROR_LOG_MESSAGE_LIMIT_SIZE \
2037 (ERROR_LOG_LIMIT_SIZE + IO_ERROR_LOG_MESSAGE_HEADER_LENGTH)
2038#define IO_ERROR_LOG_MESSAGE_LENGTH \
2039 ((PORT_MAXIMUM_MESSAGE_LENGTH > ERROR_LOG_MESSAGE_LIMIT_SIZE) ? \
2040 ERROR_LOG_MESSAGE_LIMIT_SIZE : \
2041 PORT_MAXIMUM_MESSAGE_LENGTH)
2042#define ERROR_LOG_MAXIMUM_SIZE (IO_ERROR_LOG_MESSAGE_LENGTH - \
2043 IO_ERROR_LOG_MESSAGE_HEADER_LENGTH)
2063#define DEVICE_DESCRIPTION_VERSION 0x0000
2064#define DEVICE_DESCRIPTION_VERSION1 0x0001
2065#define DEVICE_DESCRIPTION_VERSION2 0x0002
2066#define DEVICE_DESCRIPTION_VERSION3 0x0003
2085#if (NTDDI_VERSION >= NTDDI_WIN8)
2093#define DMA_ADAPTER_INFO_VERSION1 1
2095#define ADAPTER_INFO_SYNCHRONOUS_CALLBACK 0x0001
2096#define ADAPTER_INFO_API_BYPASS 0x0002
2116#define DMA_TRANSFER_INFO_VERSION1 1
2117#define DMA_TRANSFER_INFO_VERSION2 2
2143#define DMA_TRANSFER_CONTEXT_VERSION1 1
2146#define DMA_TRANSFER_CONTEXT_SIZE_V1 128
2148#define DMA_TRANSFER_CONTEXT_SIZE_V1 64
2178#if defined(_MSC_EXTENSIONS) || defined(__GNUC__)
2180#if defined(_MSC_VER)
2182#pragma warning(push)
2184#pragma warning(disable:4200)
2187typedef struct _SCATTER_GATHER_LIST {
2188 ULONG NumberOfElements;
2193#if defined(_MSC_VER)
2197#pragma warning(default:4200)
2203struct _SCATTER_GATHER_LIST;
2213(
NTAPI DRIVER_ADD_DEVICE)(
2225#define DRVO_UNLOAD_INVOKED 0x00000001
2226#define DRVO_LEGACY_DRIVER 0x00000002
2227#define DRVO_BUILTIN_DRIVER 0x00000004
2232(
NTAPI DRIVER_INITIALIZE)(
2242(
NTAPI DRIVER_STARTIO)(
2251(
NTAPI DRIVER_UNLOAD)(
2269(
NTAPI DRIVER_DISPATCH_PAGED)(
2372(
NTAPI DRIVER_LIST_CONTROL)(
2482DMA_COMPLETION_ROUTINE(
2677 UCHAR ShareDisposition;
2695 ULONG MinimumVector;
2696 ULONG MaximumVector;
2697#if defined(NT_PROCESSOR_GROUPS)
2707 ULONG MinimumChannel;
2708 ULONG MaximumChannel;
2756(
NTAPI DRIVER_CANCEL)(
2761typedef struct DECLSPEC_ALIGN(MEMORY_ALLOCATION_ALIGNMENT)
_IRP {
2764 struct _MDL *MdlAddress;
2767 struct _IRP *MasterIrp;
2768 volatile LONG IrpCount;
2776 CHAR CurrentLocation;
2779 CCHAR ApcEnvironment;
2780 UCHAR AllocationFlags;
2787 PVOID IssuingProcess;
2789 PVOID UserApcContext;
2790 } AsynchronousParameters;
2804 PCHAR AuxiliaryBuffer;
2812 struct _FILE_OBJECT *OriginalFileObject;
2815 PVOID CompletionKey;
2831(
NTAPI IO_COMPLETION_ROUTINE)(
2842(
NTAPI IO_DPC_ROUTINE)(
2860(
NTAPI IO_TIMER_ROUTINE)(
2881(
NTAPI IO_CSQ_INSERT_IRP)(
2887(
NTAPI IO_CSQ_INSERT_IRP_EX)(
2894(
NTAPI IO_CSQ_REMOVE_IRP)(
2900(
NTAPI IO_CSQ_PEEK_NEXT_IRP)(
2907(
NTAPI IO_CSQ_ACQUIRE_LOCK)(
2913(
NTAPI IO_CSQ_RELEASE_LOCK)(
2919(
NTAPI IO_CSQ_COMPLETE_CANCELED_IRP)(
2932 PVOID ReservePointer;
2957(
NTAPI *PGPE_CONNECT_VECTOR)(
2969(
NTAPI *PGPE_DISCONNECT_VECTOR)(
2975(
NTAPI *PGPE_ENABLE_EVENT)(
2982(
NTAPI *PGPE_DISABLE_EVENT)(
2989(
NTAPI *PGPE_CLEAR_STATUS)(
3001(
NTAPI *PREGISTER_FOR_DEVICE_NOTIFICATIONS)(
3008(
NTAPI *PUNREGISTER_FOR_DEVICE_NOTIFICATIONS)(
3035(
NTAPI *PGPE_CONNECT_VECTOR2)(
3047(
NTAPI *PGPE_DISCONNECT_VECTOR2)(
3054(
NTAPI *PGPE_ENABLE_EVENT2)(
3061(
NTAPI *PGPE_DISABLE_EVENT2)(
3068(
NTAPI *PGPE_CLEAR_STATUS2)(
3074(
NTAPI *PDEVICE_NOTIFY_CALLBACK2)(
3081(
NTAPI *PREGISTER_FOR_DEVICE_NOTIFICATIONS2)(
3088(
NTAPI *PUNREGISTER_FOR_DEVICE_NOTIFICATIONS2)(
3106#if !defined(_AMD64_) && !defined(_ARM_)
3107#include <pshpack4.h>
3161 } NotifyDirectoryEx;
3201 } FileSystemControl;
3211 PVOID Type3InputBuffer;
3243 } QueryDeviceRelations;
3256 } FilterResourceRequirements;
3277 } UsageNotification;
3287#if (NTDDI_VERSION >= NTDDI_VISTA)
3318#if !defined(_AMD64_) && !defined(_ARM_)
3325#define SL_PENDING_RETURNED 0x01
3326#define SL_ERROR_RETURNED 0x02
3327#define SL_INVOKE_ON_CANCEL 0x20
3328#define SL_INVOKE_ON_SUCCESS 0x40
3329#define SL_INVOKE_ON_ERROR 0x80
3333#define METHOD_BUFFERED 0
3334#define METHOD_IN_DIRECT 1
3335#define METHOD_OUT_DIRECT 2
3336#define METHOD_NEITHER 3
3338#define METHOD_DIRECT_TO_HARDWARE METHOD_IN_DIRECT
3339#define METHOD_DIRECT_FROM_HARDWARE METHOD_OUT_DIRECT
3343#define FILE_SUPERSEDED 0x00000000
3344#define FILE_OPENED 0x00000001
3345#define FILE_CREATED 0x00000002
3346#define FILE_OVERWRITTEN 0x00000003
3347#define FILE_EXISTS 0x00000004
3348#define FILE_DOES_NOT_EXIST 0x00000005
3350#define FILE_USE_FILE_POINTER_POSITION 0xfffffffe
3351#define FILE_WRITE_TO_END_OF_FILE 0xffffffff
3354#define FILE_LIST_DIRECTORY 0x00000001
3355#define FILE_READ_DATA 0x00000001
3356#define FILE_ADD_FILE 0x00000002
3357#define FILE_WRITE_DATA 0x00000002
3358#define FILE_ADD_SUBDIRECTORY 0x00000004
3359#define FILE_APPEND_DATA 0x00000004
3360#define FILE_CREATE_PIPE_INSTANCE 0x00000004
3361#define FILE_READ_EA 0x00000008
3362#define FILE_WRITE_EA 0x00000010
3363#define FILE_EXECUTE 0x00000020
3364#define FILE_TRAVERSE 0x00000020
3365#define FILE_DELETE_CHILD 0x00000040
3366#define FILE_READ_ATTRIBUTES 0x00000080
3367#define FILE_WRITE_ATTRIBUTES 0x00000100
3369#define FILE_SHARE_READ 0x00000001
3370#define FILE_SHARE_WRITE 0x00000002
3371#define FILE_SHARE_DELETE 0x00000004
3372#define FILE_SHARE_VALID_FLAGS 0x00000007
3374#define FILE_ATTRIBUTE_READONLY 0x00000001
3375#define FILE_ATTRIBUTE_HIDDEN 0x00000002
3376#define FILE_ATTRIBUTE_SYSTEM 0x00000004
3377#define FILE_ATTRIBUTE_DIRECTORY 0x00000010
3378#define FILE_ATTRIBUTE_ARCHIVE 0x00000020
3379#define FILE_ATTRIBUTE_DEVICE 0x00000040
3380#define FILE_ATTRIBUTE_NORMAL 0x00000080
3381#define FILE_ATTRIBUTE_TEMPORARY 0x00000100
3382#define FILE_ATTRIBUTE_SPARSE_FILE 0x00000200
3383#define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400
3384#define FILE_ATTRIBUTE_COMPRESSED 0x00000800
3385#define FILE_ATTRIBUTE_OFFLINE 0x00001000
3386#define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 0x00002000
3387#define FILE_ATTRIBUTE_ENCRYPTED 0x00004000
3388#define FILE_ATTRIBUTE_INTEGRITY_STREAM 0x00008000
3389#define FILE_ATTRIBUTE_VIRTUAL 0x00010000
3391#define FILE_ATTRIBUTE_VALID_FLAGS 0x00007fb7
3392#define FILE_ATTRIBUTE_VALID_SET_FLAGS 0x000031a7
3394#define FILE_VALID_OPTION_FLAGS 0x00ffffff
3395#define FILE_VALID_PIPE_OPTION_FLAGS 0x00000032
3396#define FILE_VALID_MAILSLOT_OPTION_FLAGS 0x00000032
3397#define FILE_VALID_SET_FLAGS 0x00000036
3399#define FILE_SUPERSEDE 0x00000000
3400#define FILE_OPEN 0x00000001
3401#define FILE_CREATE 0x00000002
3402#define FILE_OPEN_IF 0x00000003
3403#define FILE_OVERWRITE 0x00000004
3404#define FILE_OVERWRITE_IF 0x00000005
3405#define FILE_MAXIMUM_DISPOSITION 0x00000005
3407#define FILE_DIRECTORY_FILE 0x00000001
3408#define FILE_WRITE_THROUGH 0x00000002
3409#define FILE_SEQUENTIAL_ONLY 0x00000004
3410#define FILE_NO_INTERMEDIATE_BUFFERING 0x00000008
3411#define FILE_SYNCHRONOUS_IO_ALERT 0x00000010
3412#define FILE_SYNCHRONOUS_IO_NONALERT 0x00000020
3413#define FILE_NON_DIRECTORY_FILE 0x00000040
3414#define FILE_CREATE_TREE_CONNECTION 0x00000080
3415#define FILE_COMPLETE_IF_OPLOCKED 0x00000100
3416#define FILE_NO_EA_KNOWLEDGE 0x00000200
3417#define FILE_OPEN_REMOTE_INSTANCE 0x00000400
3418#define FILE_RANDOM_ACCESS 0x00000800
3419#define FILE_DELETE_ON_CLOSE 0x00001000
3420#define FILE_OPEN_BY_FILE_ID 0x00002000
3421#define FILE_OPEN_FOR_BACKUP_INTENT 0x00004000
3422#define FILE_NO_COMPRESSION 0x00008000
3423#if (NTDDI_VERSION >= NTDDI_WIN7)
3424#define FILE_OPEN_REQUIRING_OPLOCK 0x00010000
3425#define FILE_DISALLOW_EXCLUSIVE 0x00020000
3427#define FILE_RESERVE_OPFILTER 0x00100000
3428#define FILE_OPEN_REPARSE_POINT 0x00200000
3429#define FILE_OPEN_NO_RECALL 0x00400000
3430#define FILE_OPEN_FOR_FREE_SPACE_QUERY 0x00800000
3434#define FILE_ANY_ACCESS 0x00000000
3435#define FILE_SPECIAL_ACCESS FILE_ANY_ACCESS
3436#define FILE_READ_ACCESS 0x00000001
3437#define FILE_WRITE_ACCESS 0x00000002
3441#define FILE_ALL_ACCESS \
3442 (STANDARD_RIGHTS_REQUIRED | \
3446#define FILE_GENERIC_EXECUTE \
3447 (STANDARD_RIGHTS_EXECUTE | \
3448 FILE_READ_ATTRIBUTES | \
3452#define FILE_GENERIC_READ \
3453 (STANDARD_RIGHTS_READ | \
3455 FILE_READ_ATTRIBUTES | \
3459#define FILE_GENERIC_WRITE \
3460 (STANDARD_RIGHTS_WRITE | \
3462 FILE_WRITE_ATTRIBUTES | \
3464 FILE_APPEND_DATA | \
3469#define WMIREG_ACTION_REGISTER 1
3470#define WMIREG_ACTION_DEREGISTER 2
3471#define WMIREG_ACTION_REREGISTER 3
3472#define WMIREG_ACTION_UPDATE_GUIDS 4
3473#define WMIREG_ACTION_BLOCK_IRPS 5
3475#define WMIREGISTER 0
3481(
NTAPI FWMI_NOTIFICATION_CALLBACK)(
3500#define PCI_TYPE0_ADDRESSES 6
3501#define PCI_TYPE1_ADDRESSES 2
3502#define PCI_TYPE2_ADDRESSES 5
3507#define PCI_COMMON_HEADER_LAYOUT \
3516 UCHAR CacheLineSize; \
3517 UCHAR LatencyTimer; \
3521 struct _PCI_HEADER_TYPE_0 { \
3522 ULONG BaseAddresses[PCI_TYPE0_ADDRESSES]; \
3524 USHORT SubVendorID; \
3525 USHORT SubSystemID; \
3526 ULONG ROMBaseAddress; \
3527 UCHAR CapabilitiesPtr; \
3528 UCHAR Reserved1[3]; \
3530 UCHAR InterruptLine; \
3531 UCHAR InterruptPin; \
3532 UCHAR MinimumGrant; \
3533 UCHAR MaximumLatency; \
3535 struct _PCI_HEADER_TYPE_1 { \
3536 ULONG BaseAddresses[PCI_TYPE1_ADDRESSES]; \
3538 UCHAR SecondaryBus; \
3539 UCHAR SubordinateBus; \
3540 UCHAR SecondaryLatency; \
3543 USHORT SecondaryStatus; \
3544 USHORT MemoryBase; \
3545 USHORT MemoryLimit; \
3546 USHORT PrefetchBase; \
3547 USHORT PrefetchLimit; \
3548 ULONG PrefetchBaseUpper32; \
3549 ULONG PrefetchLimitUpper32; \
3550 USHORT IOBaseUpper16; \
3551 USHORT IOLimitUpper16; \
3552 UCHAR CapabilitiesPtr; \
3553 UCHAR Reserved1[3]; \
3554 ULONG ROMBaseAddress; \
3555 UCHAR InterruptLine; \
3556 UCHAR InterruptPin; \
3557 USHORT BridgeControl; \
3559 struct _PCI_HEADER_TYPE_2 { \
3560 ULONG SocketRegistersBaseAddress; \
3561 UCHAR CapabilitiesPtr; \
3563 USHORT SecondaryStatus; \
3565 UCHAR SecondaryBus; \
3566 UCHAR SubordinateBus; \
3567 UCHAR SecondaryLatency; \
3571 } Range[PCI_TYPE2_ADDRESSES-1]; \
3572 UCHAR InterruptLine; \
3573 UCHAR InterruptPin; \
3574 USHORT BridgeControl; \
3585 UCHAR DeviceSpecific[192];
3594#define PCI_COMMON_HDR_LENGTH (FIELD_OFFSET(PCI_COMMON_CONFIG, DeviceSpecific))
3596#define PCI_EXTENDED_CONFIG_LENGTH 0x1000
3598#define PCI_MAX_DEVICES 32
3599#define PCI_MAX_FUNCTION 8
3600#define PCI_MAX_BRIDGE_NUMBER 0xFF
3601#define PCI_INVALID_VENDORID 0xFFFF
3604#define PCI_MULTIFUNCTION 0x80
3605#define PCI_DEVICE_TYPE 0x00
3606#define PCI_BRIDGE_TYPE 0x01
3607#define PCI_CARDBUS_BRIDGE_TYPE 0x02
3609#define PCI_CONFIGURATION_TYPE(PciData) \
3610 (((PPCI_COMMON_CONFIG) (PciData))->HeaderType & ~PCI_MULTIFUNCTION)
3612#define PCI_MULTIFUNCTION_DEVICE(PciData) \
3613 ((((PPCI_COMMON_CONFIG) (PciData))->HeaderType & PCI_MULTIFUNCTION) != 0)
3616#define PCI_ENABLE_IO_SPACE 0x0001
3617#define PCI_ENABLE_MEMORY_SPACE 0x0002
3618#define PCI_ENABLE_BUS_MASTER 0x0004
3619#define PCI_ENABLE_SPECIAL_CYCLES 0x0008
3620#define PCI_ENABLE_WRITE_AND_INVALIDATE 0x0010
3621#define PCI_ENABLE_VGA_COMPATIBLE_PALETTE 0x0020
3622#define PCI_ENABLE_PARITY 0x0040
3623#define PCI_ENABLE_WAIT_CYCLE 0x0080
3624#define PCI_ENABLE_SERR 0x0100
3625#define PCI_ENABLE_FAST_BACK_TO_BACK 0x0200
3626#define PCI_DISABLE_LEVEL_INTERRUPT 0x0400
3629#define PCI_STATUS_INTERRUPT_PENDING 0x0008
3630#define PCI_STATUS_CAPABILITIES_LIST 0x0010
3631#define PCI_STATUS_66MHZ_CAPABLE 0x0020
3632#define PCI_STATUS_UDF_SUPPORTED 0x0040
3633#define PCI_STATUS_FAST_BACK_TO_BACK 0x0080
3634#define PCI_STATUS_DATA_PARITY_DETECTED 0x0100
3635#define PCI_STATUS_DEVSEL 0x0600
3636#define PCI_STATUS_SIGNALED_TARGET_ABORT 0x0800
3637#define PCI_STATUS_RECEIVED_TARGET_ABORT 0x1000
3638#define PCI_STATUS_RECEIVED_MASTER_ABORT 0x2000
3639#define PCI_STATUS_SIGNALED_SYSTEM_ERROR 0x4000
3640#define PCI_STATUS_DETECTED_PARITY_ERROR 0x8000
3644#define PCI_WHICHSPACE_CONFIG 0x0
3645#define PCI_WHICHSPACE_ROM 0x52696350
3647#define PCI_CAPABILITY_ID_POWER_MANAGEMENT 0x01
3648#define PCI_CAPABILITY_ID_AGP 0x02
3649#define PCI_CAPABILITY_ID_VPD 0x03
3650#define PCI_CAPABILITY_ID_SLOT_ID 0x04
3651#define PCI_CAPABILITY_ID_MSI 0x05
3652#define PCI_CAPABILITY_ID_CPCI_HOTSWAP 0x06
3653#define PCI_CAPABILITY_ID_PCIX 0x07
3654#define PCI_CAPABILITY_ID_HYPERTRANSPORT 0x08
3655#define PCI_CAPABILITY_ID_VENDOR_SPECIFIC 0x09
3656#define PCI_CAPABILITY_ID_DEBUG_PORT 0x0A
3657#define PCI_CAPABILITY_ID_CPCI_RES_CTRL 0x0B
3658#define PCI_CAPABILITY_ID_SHPC 0x0C
3659#define PCI_CAPABILITY_ID_P2P_SSID 0x0D
3660#define PCI_CAPABILITY_ID_AGP_TARGET 0x0E
3661#define PCI_CAPABILITY_ID_SECURE 0x0F
3662#define PCI_CAPABILITY_ID_PCI_EXPRESS 0x10
3663#define PCI_CAPABILITY_ID_MSIX 0x11
3753#define PCI_EXPRESS_ADVANCED_ERROR_REPORTING_CAP_ID 0x0001
3754#define PCI_EXPRESS_VIRTUAL_CHANNEL_CAP_ID 0x0002
3755#define PCI_EXPRESS_DEVICE_SERIAL_NUMBER_CAP_ID 0x0003
3756#define PCI_EXPRESS_POWER_BUDGETING_CAP_ID 0x0004
3757#define PCI_EXPRESS_RC_LINK_DECLARATION_CAP_ID 0x0005
3758#define PCI_EXPRESS_RC_INTERNAL_LINK_CONTROL_CAP_ID 0x0006
3759#define PCI_EXPRESS_RC_EVENT_COLLECTOR_ENDPOINT_ASSOCIATION_CAP_ID 0x0007
3760#define PCI_EXPRESS_MFVC_CAP_ID 0x0008
3761#define PCI_EXPRESS_VC_AND_MFVC_CAP_ID 0x0009
3762#define PCI_EXPRESS_RCRB_HEADER_CAP_ID 0x000A
3763#define PCI_EXPRESS_SINGLE_ROOT_IO_VIRTUALIZATION_CAP_ID 0x0010
3990#define ROOT_CMD_ENABLE_CORRECTABLE_ERROR_REPORTING 0x00000001
3991#define ROOT_CMD_ENABLE_NONFATAL_ERROR_REPORTING 0x00000002
3992#define ROOT_CMD_ENABLE_FATAL_ERROR_REPORTING 0x00000004
3994#define ROOT_CMD_ERROR_REPORTING_ENABLE_MASK \
3995 (ROOT_CMD_ENABLE_FATAL_ERROR_REPORTING | \
3996 ROOT_CMD_ENABLE_NONFATAL_ERROR_REPORTING | \
3997 ROOT_CMD_ENABLE_CORRECTABLE_ERROR_REPORTING)
4103#define PCI_CLASS_PRE_20 0x00
4104#define PCI_CLASS_MASS_STORAGE_CTLR 0x01
4105#define PCI_CLASS_NETWORK_CTLR 0x02
4106#define PCI_CLASS_DISPLAY_CTLR 0x03
4107#define PCI_CLASS_MULTIMEDIA_DEV 0x04
4108#define PCI_CLASS_MEMORY_CTLR 0x05
4109#define PCI_CLASS_BRIDGE_DEV 0x06
4110#define PCI_CLASS_SIMPLE_COMMS_CTLR 0x07
4111#define PCI_CLASS_BASE_SYSTEM_DEV 0x08
4112#define PCI_CLASS_INPUT_DEV 0x09
4113#define PCI_CLASS_DOCKING_STATION 0x0a
4114#define PCI_CLASS_PROCESSOR 0x0b
4115#define PCI_CLASS_SERIAL_BUS_CTLR 0x0c
4116#define PCI_CLASS_WIRELESS_CTLR 0x0d
4117#define PCI_CLASS_INTELLIGENT_IO_CTLR 0x0e
4118#define PCI_CLASS_SATELLITE_COMMS_CTLR 0x0f
4119#define PCI_CLASS_ENCRYPTION_DECRYPTION 0x10
4120#define PCI_CLASS_DATA_ACQ_SIGNAL_PROC 0x11
4121#define PCI_CLASS_NOT_DEFINED 0xff
4124#define PCI_SUBCLASS_PRE_20_NON_VGA 0x00
4125#define PCI_SUBCLASS_PRE_20_VGA 0x01
4128#define PCI_SUBCLASS_MSC_SCSI_BUS_CTLR 0x00
4129#define PCI_SUBCLASS_MSC_IDE_CTLR 0x01
4130#define PCI_SUBCLASS_MSC_FLOPPY_CTLR 0x02
4131#define PCI_SUBCLASS_MSC_IPI_CTLR 0x03
4132#define PCI_SUBCLASS_MSC_RAID_CTLR 0x04
4133#define PCI_SUBCLASS_MSC_OTHER 0x80
4136#define PCI_SUBCLASS_NET_ETHERNET_CTLR 0x00
4137#define PCI_SUBCLASS_NET_TOKEN_RING_CTLR 0x01
4138#define PCI_SUBCLASS_NET_FDDI_CTLR 0x02
4139#define PCI_SUBCLASS_NET_ATM_CTLR 0x03
4140#define PCI_SUBCLASS_NET_ISDN_CTLR 0x04
4141#define PCI_SUBCLASS_NET_OTHER 0x80
4144#define PCI_SUBCLASS_VID_VGA_CTLR 0x00
4145#define PCI_SUBCLASS_VID_XGA_CTLR 0x01
4146#define PCI_SUBCLASS_VID_3D_CTLR 0x02
4147#define PCI_SUBCLASS_VID_OTHER 0x80
4150#define PCI_SUBCLASS_MM_VIDEO_DEV 0x00
4151#define PCI_SUBCLASS_MM_AUDIO_DEV 0x01
4152#define PCI_SUBCLASS_MM_TELEPHONY_DEV 0x02
4153#define PCI_SUBCLASS_MM_OTHER 0x80
4156#define PCI_SUBCLASS_MEM_RAM 0x00
4157#define PCI_SUBCLASS_MEM_FLASH 0x01
4158#define PCI_SUBCLASS_MEM_OTHER 0x80
4161#define PCI_SUBCLASS_BR_HOST 0x00
4162#define PCI_SUBCLASS_BR_ISA 0x01
4163#define PCI_SUBCLASS_BR_EISA 0x02
4164#define PCI_SUBCLASS_BR_MCA 0x03
4165#define PCI_SUBCLASS_BR_PCI_TO_PCI 0x04
4166#define PCI_SUBCLASS_BR_PCMCIA 0x05
4167#define PCI_SUBCLASS_BR_NUBUS 0x06
4168#define PCI_SUBCLASS_BR_CARDBUS 0x07
4169#define PCI_SUBCLASS_BR_RACEWAY 0x08
4170#define PCI_SUBCLASS_BR_OTHER 0x80
4172#define PCI_SUBCLASS_COM_SERIAL 0x00
4173#define PCI_SUBCLASS_COM_PARALLEL 0x01
4174#define PCI_SUBCLASS_COM_MULTIPORT 0x02
4175#define PCI_SUBCLASS_COM_MODEM 0x03
4176#define PCI_SUBCLASS_COM_OTHER 0x80
4178#define PCI_SUBCLASS_SYS_INTERRUPT_CTLR 0x00
4179#define PCI_SUBCLASS_SYS_DMA_CTLR 0x01
4180#define PCI_SUBCLASS_SYS_SYSTEM_TIMER 0x02
4181#define PCI_SUBCLASS_SYS_REAL_TIME_CLOCK 0x03
4182#define PCI_SUBCLASS_SYS_GEN_HOTPLUG_CTLR 0x04
4183#define PCI_SUBCLASS_SYS_SDIO_CTRL 0x05
4184#define PCI_SUBCLASS_SYS_OTHER 0x80
4186#define PCI_SUBCLASS_INP_KEYBOARD 0x00
4187#define PCI_SUBCLASS_INP_DIGITIZER 0x01
4188#define PCI_SUBCLASS_INP_MOUSE 0x02
4189#define PCI_SUBCLASS_INP_SCANNER 0x03
4190#define PCI_SUBCLASS_INP_GAMEPORT 0x04
4191#define PCI_SUBCLASS_INP_OTHER 0x80
4193#define PCI_SUBCLASS_DOC_GENERIC 0x00
4194#define PCI_SUBCLASS_DOC_OTHER 0x80
4196#define PCI_SUBCLASS_PROC_386 0x00
4197#define PCI_SUBCLASS_PROC_486 0x01
4198#define PCI_SUBCLASS_PROC_PENTIUM 0x02
4199#define PCI_SUBCLASS_PROC_ALPHA 0x10
4200#define PCI_SUBCLASS_PROC_POWERPC 0x20
4201#define PCI_SUBCLASS_PROC_COPROCESSOR 0x40
4204#define PCI_SUBCLASS_SB_IEEE1394 0x00
4205#define PCI_SUBCLASS_SB_ACCESS 0x01
4206#define PCI_SUBCLASS_SB_SSA 0x02
4207#define PCI_SUBCLASS_SB_USB 0x03
4208#define PCI_SUBCLASS_SB_FIBRE_CHANNEL 0x04
4209#define PCI_SUBCLASS_SB_SMBUS 0x05
4211#define PCI_SUBCLASS_WIRELESS_IRDA 0x00
4212#define PCI_SUBCLASS_WIRELESS_CON_IR 0x01
4213#define PCI_SUBCLASS_WIRELESS_RF 0x10
4214#define PCI_SUBCLASS_WIRELESS_OTHER 0x80
4216#define PCI_SUBCLASS_INTIO_I2O 0x00
4218#define PCI_SUBCLASS_SAT_TV 0x01
4219#define PCI_SUBCLASS_SAT_AUDIO 0x02
4220#define PCI_SUBCLASS_SAT_VOICE 0x03
4221#define PCI_SUBCLASS_SAT_DATA 0x04
4223#define PCI_SUBCLASS_CRYPTO_NET_COMP 0x00
4224#define PCI_SUBCLASS_CRYPTO_ENTERTAINMENT 0x10
4225#define PCI_SUBCLASS_CRYPTO_OTHER 0x80
4227#define PCI_SUBCLASS_DASP_DPIO 0x00
4228#define PCI_SUBCLASS_DASP_OTHER 0x80
4230#define PCI_ADDRESS_IO_SPACE 0x00000001
4231#define PCI_ADDRESS_MEMORY_TYPE_MASK 0x00000006
4232#define PCI_ADDRESS_MEMORY_PREFETCHABLE 0x00000008
4233#define PCI_ADDRESS_IO_ADDRESS_MASK 0xfffffffc
4234#define PCI_ADDRESS_MEMORY_ADDRESS_MASK 0xfffffff0
4235#define PCI_ADDRESS_ROM_ADDRESS_MASK 0xfffff800
4237#define PCI_TYPE_32BIT 0
4238#define PCI_TYPE_20BIT 2
4239#define PCI_TYPE_64BIT 4
4241#define PCI_ROMADDRESS_ENABLED 0x00000001
4245#define PCI_EXPRESS_LINK_QUIESCENT_INTERFACE_VERSION 1
4250(
NTAPI PCI_EXPRESS_ENTER_LINK_QUIESCENT_MODE)(
4257(
NTAPI PCI_EXPRESS_EXIT_LINK_QUIESCENT_MODE)(
4271#define PCI_EXPRESS_ROOT_PORT_INTERFACE_VERSION 1
4297#define PCI_MSIX_TABLE_CONFIG_INTERFACE_VERSION 1
4301(
NTAPI PCI_MSIX_SET_ENTRY)(
4309(
NTAPI PCI_MSIX_MASKUNMASK_ENTRY)(
4316(
NTAPI PCI_MSIX_GET_ENTRY)(
4325(
NTAPI PCI_MSIX_GET_TABLE_SIZE)(
4343#define PCI_MSIX_TABLE_CONFIG_MINIMUM_SIZE \
4344 RTL_SIZEOF_THROUGH_FIELD(PCI_MSIX_TABLE_CONFIG_INTERFACE, UnmaskTableEntry)
4400#define IRP_MN_QUERY_DIRECTORY 0x01
4401#define IRP_MN_NOTIFY_CHANGE_DIRECTORY 0x02
4403#define IRP_MN_USER_FS_REQUEST 0x00
4404#define IRP_MN_MOUNT_VOLUME 0x01
4405#define IRP_MN_VERIFY_VOLUME 0x02
4406#define IRP_MN_LOAD_FILE_SYSTEM 0x03
4407#define IRP_MN_TRACK_LINK 0x04
4408#define IRP_MN_KERNEL_CALL 0x04
4410#define IRP_MN_LOCK 0x01
4411#define IRP_MN_UNLOCK_SINGLE 0x02
4412#define IRP_MN_UNLOCK_ALL 0x03
4413#define IRP_MN_UNLOCK_ALL_BY_KEY 0x04
4415#define IRP_MN_FLUSH_AND_PURGE 0x01
4417#define IRP_MN_NORMAL 0x00
4418#define IRP_MN_DPC 0x01
4419#define IRP_MN_MDL 0x02
4420#define IRP_MN_COMPLETE 0x04
4421#define IRP_MN_COMPRESSED 0x08
4423#define IRP_MN_MDL_DPC (IRP_MN_MDL | IRP_MN_DPC)
4424#define IRP_MN_COMPLETE_MDL (IRP_MN_COMPLETE | IRP_MN_MDL)
4425#define IRP_MN_COMPLETE_MDL_DPC (IRP_MN_COMPLETE_MDL | IRP_MN_DPC)
4427#define IRP_MN_QUERY_LEGACY_BUS_INFORMATION 0x18
4429#define IO_CHECK_CREATE_PARAMETERS 0x0200
4430#define IO_ATTACH_DEVICE 0x0400
4431#define IO_IGNORE_SHARE_ACCESS_CHECK 0x0800
4469#define DRVO_REINIT_REGISTERED 0x00000008
4470#define DRVO_INITIALIZED 0x00000010
4471#define DRVO_BOOTREINIT_REGISTERED 0x00000020
4472#define DRVO_LEGACY_RESOURCES 0x00000040
4507#define TXF_MINIVERSION_DEFAULT_VIEW (0xFFFE)
4530(
NTAPI *PGET_LOCATION_STRING)(
4628#define ARBITER_FLAG_BOOT_CONFIG 0x00000001
4652#define ARBITER_PARTIAL 0x00000001
4783#define PCI_AGP_RATE_1X 0x1
4784#define PCI_AGP_RATE_2X 0x2
4785#define PCI_AGP_RATE_4X 0x4
4787#define PCIX_MODE_CONVENTIONAL_PCI 0x0
4788#define PCIX_MODE1_66MHZ 0x1
4789#define PCIX_MODE1_100MHZ 0x2
4790#define PCIX_MODE1_133MHZ 0x3
4791#define PCIX_MODE2_266_66MHZ 0x9
4792#define PCIX_MODE2_266_100MHZ 0xA
4793#define PCIX_MODE2_266_133MHZ 0xB
4794#define PCIX_MODE2_533_66MHZ 0xD
4795#define PCIX_MODE2_533_100MHZ 0xE
4796#define PCIX_MODE2_533_133MHZ 0xF
4798#define PCIX_VERSION_MODE1_ONLY 0x0
4799#define PCIX_VERSION_MODE2_ECC 0x1
4800#define PCIX_VERSION_DUAL_MODE_ECC 0x2
4873#define OSC_FIRMWARE_FAILURE 0x02
4874#define OSC_UNRECOGNIZED_UUID 0x04
4875#define OSC_UNRECOGNIZED_REVISION 0x08
4876#define OSC_CAPABILITIES_MASKED 0x10
4878#define PCI_ROOT_BUS_OSC_METHOD_CAPABILITY_REVISION 0x01
4963#define PCI_EXPRESS_AER_DEVICE_CONTROL_MASK 0x07;
4983#define PCI_EXPRESS_AER_DEVICE_STATUS_MASK 0x0F;
5275#define PCI_DATA_TAG ' ICP'
5276#define PCI_DATA_VERSION 1
5336#define PCI_BUS_INTERFACE_STANDARD_VERSION 1
5340#if (NTDDI_VERSION >= NTDDI_WIN7)
5342#define FILE_CHARACTERISTICS_EXPECT_ORDERLY_REMOVAL_EX 0x00004000
5343#define FILE_CHARACTERISTICS_EXPECT_SURPRISE_REMOVAL_EX 0x00008000
5344#define FILE_CHARACTERISTICS_REMOVAL_POLICY_MASK_EX \
5345 (FILE_CHARACTERISTICS_EXPECT_ORDERLY_REMOVAL_EX | \
5346 FILE_CHARACTERISTICS_EXPECT_SURPRISE_REMOVAL_EX)
5348#define FILE_CHARACTERISTICS_EXPECT_ORDERLY_REMOVAL_DEPRECATED 0x00000200
5349#define FILE_CHARACTERISTICS_EXPECT_SURPRISE_REMOVAL_DEPRECATED 0x00000300
5350#define FILE_CHARACTERISTICS_REMOVAL_POLICY_MASK_DEPRECATED 0x00000300
5354#define FILE_CHARACTERISTICS_EXPECT_ORDERLY_REMOVAL 0x00000200
5355#define FILE_CHARACTERISTICS_EXPECT_SURPRISE_REMOVAL 0x00000300
5356#define FILE_CHARACTERISTICS_REMOVAL_POLICY_MASK 0x00000300
5358#define FILE_CHARACTERISTICS_EXPECT_ORDERLY_REMOVAL_EX FILE_CHARACTERISTICS_EXPECT_ORDERLY_REMOVAL
5359#define FILE_CHARACTERISTICS_EXPECT_SURPRISE_REMOVAL_EX FILE_CHARACTERISTICS_EXPECT_SURPRISE_REMOVAL
5360#define FILE_CHARACTERISTICS_REMOVAL_POLICY_MASK_EX FILE_CHARACTERISTICS_REMOVAL_POLICY_MASK
5364#define FILE_CHARACTERISTICS_PROPAGATED (FILE_REMOVABLE_MEDIA | \
5365 FILE_READ_ONLY_DEVICE | \
5366 FILE_FLOPPY_DISKETTE | \
5367 FILE_WRITE_ONCE_MEDIA | \
5368 FILE_DEVICE_SECURE_OPEN)
5404 ULONG VolumeSerialNumber;
5405 ULONG VolumeLabelLength;
5407 WCHAR VolumeLabel[1];
5413 ULONG SectorsPerAllocationUnit;
5414 ULONG BytesPerSector;
5421 ULONG SectorsPerAllocationUnit;
5422 ULONG BytesPerSector;
5435#define IOCTL_AVIO_ALLOCATE_STREAM CTL_CODE(FILE_DEVICE_AVIO, 1, METHOD_BUFFERED, FILE_SPECIAL_ACCESS)
5436#define IOCTL_AVIO_FREE_STREAM CTL_CODE(FILE_DEVICE_AVIO, 2, METHOD_BUFFERED, FILE_SPECIAL_ACCESS)
5437#define IOCTL_AVIO_MODIFY_STREAM CTL_CODE(FILE_DEVICE_AVIO, 3, METHOD_BUFFERED, FILE_SPECIAL_ACCESS)
5457#define PCI_INT_ROUTE_INTRF_STANDARD_VER 1
5518#define PCI_CB_INTRF_VERSION 1
5519#define PCI_PME_INTRF_STANDARD_VER 1
5520#define PNP_LOCATION_INTERFACE_VERSION 1
5522DEFINE_GUID(GUID_PCI_CARDBUS_INTERFACE_PRIVATE, 0xcca82f31, 0x54d6, 0x11d1, 0x82, 0x24, 0x00, 0xa0, 0xc9, 0x32, 0x43, 0x85);
5523DEFINE_GUID(GUID_PCI_PME_INTERFACE, 0xaac7e6ac, 0xbb0b, 0x11d2, 0xb4, 0x84, 0x00, 0xc0, 0x4f, 0x72, 0xde, 0x8b);
5581#define FILE_OPLOCK_BROKEN_TO_LEVEL_2 0x00000007
5582#define FILE_OPLOCK_BROKEN_TO_NONE 0x00000008
5583#define FILE_OPBATCH_BREAK_UNDERWAY 0x00000009
5586#define FILE_NOTIFY_CHANGE_FILE_NAME 0x00000001
5587#define FILE_NOTIFY_CHANGE_DIR_NAME 0x00000002
5588#define FILE_NOTIFY_CHANGE_NAME 0x00000003
5589#define FILE_NOTIFY_CHANGE_ATTRIBUTES 0x00000004
5590#define FILE_NOTIFY_CHANGE_SIZE 0x00000008
5591#define FILE_NOTIFY_CHANGE_LAST_WRITE 0x00000010
5592#define FILE_NOTIFY_CHANGE_LAST_ACCESS 0x00000020
5593#define FILE_NOTIFY_CHANGE_CREATION 0x00000040
5594#define FILE_NOTIFY_CHANGE_EA 0x00000080
5595#define FILE_NOTIFY_CHANGE_SECURITY 0x00000100
5596#define FILE_NOTIFY_CHANGE_STREAM_NAME 0x00000200
5597#define FILE_NOTIFY_CHANGE_STREAM_SIZE 0x00000400
5598#define FILE_NOTIFY_CHANGE_STREAM_WRITE 0x00000800
5599#define FILE_NOTIFY_VALID_MASK 0x00000fff
5601#define FILE_ACTION_ADDED 0x00000001
5602#define FILE_ACTION_REMOVED 0x00000002
5603#define FILE_ACTION_MODIFIED 0x00000003
5604#define FILE_ACTION_RENAMED_OLD_NAME 0x00000004
5605#define FILE_ACTION_RENAMED_NEW_NAME 0x00000005
5606#define FILE_ACTION_ADDED_STREAM 0x00000006
5607#define FILE_ACTION_REMOVED_STREAM 0x00000007
5608#define FILE_ACTION_MODIFIED_STREAM 0x00000008
5609#define FILE_ACTION_REMOVED_BY_DELETE 0x00000009
5610#define FILE_ACTION_ID_NOT_TUNNELLED 0x0000000A
5611#define FILE_ACTION_TUNNELLED_ID_COLLISION 0x0000000B
5614#define FILE_PIPE_BYTE_STREAM_TYPE 0x00000000
5615#define FILE_PIPE_MESSAGE_TYPE 0x00000001
5617#define FILE_PIPE_ACCEPT_REMOTE_CLIENTS 0x00000000
5618#define FILE_PIPE_REJECT_REMOTE_CLIENTS 0x00000002
5620#define FILE_PIPE_ACCEPT_REMOTE_CLIENTS 0x00000000
5621#define FILE_PIPE_REJECT_REMOTE_CLIENTS 0x00000002
5622#define FILE_PIPE_TYPE_VALID_MASK 0x00000003
5624#define FILE_PIPE_BYTE_STREAM_MODE 0x00000000
5625#define FILE_PIPE_MESSAGE_MODE 0x00000001
5627#define FILE_PIPE_QUEUE_OPERATION 0x00000000
5628#define FILE_PIPE_COMPLETE_OPERATION 0x00000001
5630#define FILE_PIPE_INBOUND 0x00000000
5631#define FILE_PIPE_OUTBOUND 0x00000001
5632#define FILE_PIPE_FULL_DUPLEX 0x00000002
5634#define FILE_PIPE_DISCONNECTED_STATE 0x00000001
5635#define FILE_PIPE_LISTENING_STATE 0x00000002
5636#define FILE_PIPE_CONNECTED_STATE 0x00000003
5637#define FILE_PIPE_CLOSING_STATE 0x00000004
5639#define FILE_PIPE_CLIENT_END 0x00000000
5640#define FILE_PIPE_SERVER_END 0x00000001
5642#define FILE_CASE_SENSITIVE_SEARCH 0x00000001
5643#define FILE_CASE_PRESERVED_NAMES 0x00000002
5644#define FILE_UNICODE_ON_DISK 0x00000004
5645#define FILE_PERSISTENT_ACLS 0x00000008
5646#define FILE_FILE_COMPRESSION 0x00000010
5647#define FILE_VOLUME_QUOTAS 0x00000020
5648#define FILE_SUPPORTS_SPARSE_FILES 0x00000040
5649#define FILE_SUPPORTS_REPARSE_POINTS 0x00000080
5650#define FILE_SUPPORTS_REMOTE_STORAGE 0x00000100
5651#define FILE_VOLUME_IS_COMPRESSED 0x00008000
5652#define FILE_SUPPORTS_OBJECT_IDS 0x00010000
5653#define FILE_SUPPORTS_ENCRYPTION 0x00020000
5654#define FILE_NAMED_STREAMS 0x00040000
5655#define FILE_READ_ONLY_VOLUME 0x00080000
5656#define FILE_SEQUENTIAL_WRITE_ONCE 0x00100000
5657#define FILE_SUPPORTS_TRANSACTIONS 0x00200000
5658#define FILE_SUPPORTS_HARD_LINKS 0x00400000
5659#define FILE_SUPPORTS_EXTENDED_ATTRIBUTES 0x00800000
5660#define FILE_SUPPORTS_OPEN_BY_FILE_ID 0x01000000
5661#define FILE_SUPPORTS_USN_JOURNAL 0x02000000
5662#define FILE_SUPPORTS_INTEGRITY_STREAMS 0x04000000
5663#define FILE_SUPPORTS_BLOCK_REFCOUNTING 0x08000000
5664#define FILE_SUPPORTS_SPARSE_VDL 0x10000000
5665#define FILE_DAX_VOLUME 0x20000000
5667#define FILE_NEED_EA 0x00000080
5669#define FILE_EA_TYPE_BINARY 0xfffe
5670#define FILE_EA_TYPE_ASCII 0xfffd
5671#define FILE_EA_TYPE_BITMAP 0xfffb
5672#define FILE_EA_TYPE_METAFILE 0xfffa
5673#define FILE_EA_TYPE_ICON 0xfff9
5674#define FILE_EA_TYPE_EA 0xffee
5675#define FILE_EA_TYPE_MVMT 0xffdf
5676#define FILE_EA_TYPE_MVST 0xffde
5677#define FILE_EA_TYPE_ASN1 0xffdd
5678#define FILE_EA_TYPE_FAMILY_IDS 0xff01
5681 ULONG NextEntryOffset;
5688 ULONG NextEntryOffset;
5733 ULONG NextEntryOffset;
5744 CCHAR ShortNameLength;
5768 ULONG NextEntryOffset;
5775 ULONG NextEntryOffset;
5786 GUID LockingTransactionId;
5791#define FILE_ID_GLOBAL_TX_DIR_INFO_FLAG_WRITELOCKED 0x00000001
5792#define FILE_ID_GLOBAL_TX_DIR_INFO_FLAG_VISIBLE_TO_TX 0x00000002
5793#define FILE_ID_GLOBAL_TX_DIR_INFO_FLAG_VISIBLE_OUTSIDE_TX 0x00000004
5800 UCHAR BirthVolumeId[16];
5801 UCHAR BirthObjectId[16];
5804 UCHAR ExtendedInfo[48];
5808#define ANSI_DOS_STAR ('<')
5809#define ANSI_DOS_QM ('>')
5810#define ANSI_DOS_DOT ('"')
5812#define DOS_STAR (L'<')
5813#define DOS_QM (L'>')
5814#define DOS_DOT (L'"')
5879 ULONG NextEntryOffset;
5880 ULONG StreamNameLength;
5899 ULONG CompletionMode;
5903 ULONG NamedPipeType;
5904 ULONG NamedPipeConfiguration;
5905 ULONG MaximumInstances;
5906 ULONG CurrentInstances;
5908 ULONG ReadDataAvailable;
5909 ULONG OutboundQuota;
5910 ULONG WriteQuotaAvailable;
5911 ULONG NamedPipeState;
5921 ULONG MaximumMessageSize;
5922 ULONG MailslotQuota;
5923 ULONG NextMessageSize;
5924 ULONG MessagesAvailable;
5963 ULONG NextEntryOffset;
5968#define REMOTE_PROTOCOL_FLAG_LOOPBACK 0x00000001
5969#define REMOTE_PROTOCOL_FLAG_OFFLINE 0x00000002
5985 } ProtocolSpecificReserved;
5995 ULONG NextEntryOffset;
6005 ULONG FileSystemAttributes;
6007 ULONG FileSystemNameLength;
6008 WCHAR FileSystemName[1];
6021#define FILE_VC_QUOTA_NONE 0x00000000
6022#define FILE_VC_QUOTA_TRACK 0x00000001
6023#define FILE_VC_QUOTA_ENFORCE 0x00000002
6024#define FILE_VC_QUOTA_MASK 0x00000003
6025#define FILE_VC_CONTENT_INDEX_DISABLED 0x00000008
6026#define FILE_VC_LOG_QUOTA_THRESHOLD 0x00000010
6027#define FILE_VC_LOG_QUOTA_LIMIT 0x00000020
6028#define FILE_VC_LOG_VOLUME_THRESHOLD 0x00000040
6029#define FILE_VC_LOG_VOLUME_LIMIT 0x00000080
6030#define FILE_VC_QUOTAS_INCOMPLETE 0x00000100
6031#define FILE_VC_QUOTAS_REBUILDING 0x00000200
6032#define FILE_VC_VALID_MASK 0x000003ff
6043#ifndef _FILESYSTEMFSCTL_
6044#define _FILESYSTEMFSCTL_
6046#define FSCTL_REQUEST_OPLOCK_LEVEL_1 CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
6047#define FSCTL_REQUEST_OPLOCK_LEVEL_2 CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
6048#define FSCTL_REQUEST_BATCH_OPLOCK CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
6049#define FSCTL_OPLOCK_BREAK_ACKNOWLEDGE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 3, METHOD_BUFFERED, FILE_ANY_ACCESS)
6050#define FSCTL_OPBATCH_ACK_CLOSE_PENDING CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
6051#define FSCTL_OPLOCK_BREAK_NOTIFY CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 5, METHOD_BUFFERED, FILE_ANY_ACCESS)
6052#define FSCTL_LOCK_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 6, METHOD_BUFFERED, FILE_ANY_ACCESS)
6053#define FSCTL_UNLOCK_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 7, METHOD_BUFFERED, FILE_ANY_ACCESS)
6054#define FSCTL_DISMOUNT_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 8, METHOD_BUFFERED, FILE_ANY_ACCESS)
6055#define FSCTL_IS_VOLUME_MOUNTED CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 10, METHOD_BUFFERED, FILE_ANY_ACCESS)
6056#define FSCTL_IS_PATHNAME_VALID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 11, METHOD_BUFFERED, FILE_ANY_ACCESS)
6057#define FSCTL_MARK_VOLUME_DIRTY CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 12, METHOD_BUFFERED, FILE_ANY_ACCESS)
6058#define FSCTL_QUERY_RETRIEVAL_POINTERS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 14, METHOD_NEITHER, FILE_ANY_ACCESS)
6059#define FSCTL_GET_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 15, METHOD_BUFFERED, FILE_ANY_ACCESS)
6060#define FSCTL_SET_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 16, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
6061#define FSCTL_SET_BOOTLOADER_ACCESSED CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 19, METHOD_NEITHER, FILE_ANY_ACCESS)
6063#define FSCTL_OPLOCK_BREAK_ACK_NO_2 CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 20, METHOD_BUFFERED, FILE_ANY_ACCESS)
6064#define FSCTL_INVALIDATE_VOLUMES CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 21, METHOD_BUFFERED, FILE_ANY_ACCESS)
6065#define FSCTL_QUERY_FAT_BPB CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 22, METHOD_BUFFERED, FILE_ANY_ACCESS)
6066#define FSCTL_REQUEST_FILTER_OPLOCK CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 23, METHOD_BUFFERED, FILE_ANY_ACCESS)
6067#define FSCTL_FILESYSTEM_GET_STATISTICS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 24, METHOD_BUFFERED, FILE_ANY_ACCESS)
6069#if (_WIN32_WINNT >= 0x0400)
6071#define FSCTL_GET_NTFS_VOLUME_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 25, METHOD_BUFFERED, FILE_ANY_ACCESS)
6072#define FSCTL_GET_NTFS_FILE_RECORD CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 26, METHOD_BUFFERED, FILE_ANY_ACCESS)
6073#define FSCTL_GET_VOLUME_BITMAP CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 27, METHOD_NEITHER, FILE_ANY_ACCESS)
6074#define FSCTL_GET_RETRIEVAL_POINTERS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 28, METHOD_NEITHER, FILE_ANY_ACCESS)
6075#define FSCTL_MOVE_FILE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 29, METHOD_BUFFERED, FILE_SPECIAL_ACCESS)
6076#define FSCTL_IS_VOLUME_DIRTY CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 30, METHOD_BUFFERED, FILE_ANY_ACCESS)
6077#define FSCTL_ALLOW_EXTENDED_DASD_IO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 32, METHOD_NEITHER, FILE_ANY_ACCESS)
6081#if (_WIN32_WINNT >= 0x0500)
6083#define FSCTL_FIND_FILES_BY_SID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 35, METHOD_NEITHER, FILE_ANY_ACCESS)
6084#define FSCTL_SET_OBJECT_ID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 38, METHOD_BUFFERED, FILE_SPECIAL_ACCESS)
6085#define FSCTL_GET_OBJECT_ID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 39, METHOD_BUFFERED, FILE_ANY_ACCESS)
6086#define FSCTL_DELETE_OBJECT_ID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 40, METHOD_BUFFERED, FILE_SPECIAL_ACCESS)
6087#define FSCTL_SET_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 41, METHOD_BUFFERED, FILE_SPECIAL_ACCESS)
6088#define FSCTL_GET_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 42, METHOD_BUFFERED, FILE_ANY_ACCESS)
6089#define FSCTL_DELETE_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 43, METHOD_BUFFERED, FILE_SPECIAL_ACCESS)
6090#define FSCTL_ENUM_USN_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 44, METHOD_NEITHER, FILE_ANY_ACCESS)
6091#define FSCTL_SECURITY_ID_CHECK CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 45, METHOD_NEITHER, FILE_READ_DATA)
6092#define FSCTL_READ_USN_JOURNAL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 46, METHOD_NEITHER, FILE_ANY_ACCESS)
6093#define FSCTL_SET_OBJECT_ID_EXTENDED CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 47, METHOD_BUFFERED, FILE_SPECIAL_ACCESS)
6094#define FSCTL_CREATE_OR_GET_OBJECT_ID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 48, METHOD_BUFFERED, FILE_ANY_ACCESS)
6095#define FSCTL_SET_SPARSE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 49, METHOD_BUFFERED, FILE_SPECIAL_ACCESS)
6096#define FSCTL_SET_ZERO_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 50, METHOD_BUFFERED, FILE_WRITE_DATA)
6097#define FSCTL_QUERY_ALLOCATED_RANGES CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 51, METHOD_NEITHER, FILE_READ_DATA)
6098#define FSCTL_ENABLE_UPGRADE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 52, METHOD_BUFFERED, FILE_WRITE_DATA)
6099#define FSCTL_SET_ENCRYPTION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 53, METHOD_NEITHER, FILE_ANY_ACCESS)
6100#define FSCTL_ENCRYPTION_FSCTL_IO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 54, METHOD_NEITHER, FILE_ANY_ACCESS)
6101#define FSCTL_WRITE_RAW_ENCRYPTED CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 55, METHOD_NEITHER, FILE_SPECIAL_ACCESS)
6102#define FSCTL_READ_RAW_ENCRYPTED CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 56, METHOD_NEITHER, FILE_SPECIAL_ACCESS)
6103#define FSCTL_CREATE_USN_JOURNAL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 57, METHOD_NEITHER, FILE_ANY_ACCESS)
6104#define FSCTL_READ_FILE_USN_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 58, METHOD_NEITHER, FILE_ANY_ACCESS)
6105#define FSCTL_WRITE_USN_CLOSE_RECORD CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 59, METHOD_NEITHER, FILE_ANY_ACCESS)
6106#define FSCTL_EXTEND_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 60, METHOD_BUFFERED, FILE_ANY_ACCESS)
6107#define FSCTL_QUERY_USN_JOURNAL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 61, METHOD_BUFFERED, FILE_ANY_ACCESS)
6108#define FSCTL_DELETE_USN_JOURNAL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 62, METHOD_BUFFERED, FILE_ANY_ACCESS)
6109#define FSCTL_MARK_HANDLE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 63, METHOD_BUFFERED, FILE_ANY_ACCESS)
6110#define FSCTL_SIS_COPYFILE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 64, METHOD_BUFFERED, FILE_ANY_ACCESS)
6111#define FSCTL_SIS_LINK_FILES CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 65, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
6112#define FSCTL_RECALL_FILE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 69, METHOD_NEITHER, FILE_ANY_ACCESS)
6113#define FSCTL_READ_FROM_PLEX CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 71, METHOD_OUT_DIRECT, FILE_READ_DATA)
6114#define FSCTL_FILE_PREFETCH CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 72, METHOD_BUFFERED, FILE_SPECIAL_ACCESS)
6118#if (_WIN32_WINNT >= 0x0600)
6120#define FSCTL_MAKE_MEDIA_COMPATIBLE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 76, METHOD_BUFFERED, FILE_WRITE_DATA)
6121#define FSCTL_SET_DEFECT_MANAGEMENT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 77, METHOD_BUFFERED, FILE_WRITE_DATA)
6122#define FSCTL_QUERY_SPARING_INFO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 78, METHOD_BUFFERED, FILE_ANY_ACCESS)
6123#define FSCTL_QUERY_ON_DISK_VOLUME_INFO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 79, METHOD_BUFFERED, FILE_ANY_ACCESS)
6124#define FSCTL_SET_VOLUME_COMPRESSION_STATE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 80, METHOD_BUFFERED, FILE_SPECIAL_ACCESS)
6125#define FSCTL_TXFS_MODIFY_RM CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 81, METHOD_BUFFERED, FILE_WRITE_DATA)
6126#define FSCTL_TXFS_QUERY_RM_INFORMATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 82, METHOD_BUFFERED, FILE_READ_DATA)
6127#define FSCTL_TXFS_ROLLFORWARD_REDO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 84, METHOD_BUFFERED, FILE_WRITE_DATA)
6128#define FSCTL_TXFS_ROLLFORWARD_UNDO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 85, METHOD_BUFFERED, FILE_WRITE_DATA)
6129#define FSCTL_TXFS_START_RM CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 86, METHOD_BUFFERED, FILE_WRITE_DATA)
6130#define FSCTL_TXFS_SHUTDOWN_RM CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 87, METHOD_BUFFERED, FILE_WRITE_DATA)
6131#define FSCTL_TXFS_READ_BACKUP_INFORMATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 88, METHOD_BUFFERED, FILE_READ_DATA)
6132#define FSCTL_TXFS_WRITE_BACKUP_INFORMATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 89, METHOD_BUFFERED, FILE_WRITE_DATA)
6133#define FSCTL_TXFS_CREATE_SECONDARY_RM CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 90, METHOD_BUFFERED, FILE_WRITE_DATA)
6134#define FSCTL_TXFS_GET_METADATA_INFO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 91, METHOD_BUFFERED, FILE_READ_DATA)
6135#define FSCTL_TXFS_GET_TRANSACTED_VERSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 92, METHOD_BUFFERED, FILE_READ_DATA)
6136#define FSCTL_TXFS_SAVEPOINT_INFORMATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 94, METHOD_BUFFERED, FILE_WRITE_DATA)
6137#define FSCTL_TXFS_CREATE_MINIVERSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 95, METHOD_BUFFERED, FILE_WRITE_DATA)
6138#define FSCTL_TXFS_TRANSACTION_ACTIVE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 99, METHOD_BUFFERED, FILE_READ_DATA)
6139#define FSCTL_SET_ZERO_ON_DEALLOCATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 101, METHOD_BUFFERED, FILE_SPECIAL_ACCESS)
6140#define FSCTL_SET_REPAIR CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 102, METHOD_BUFFERED, FILE_ANY_ACCESS)
6141#define FSCTL_GET_REPAIR CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 103, METHOD_BUFFERED, FILE_ANY_ACCESS)
6142#define FSCTL_WAIT_FOR_REPAIR CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 104, METHOD_BUFFERED, FILE_ANY_ACCESS)
6143#define FSCTL_INITIATE_REPAIR CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 106, METHOD_BUFFERED, FILE_ANY_ACCESS)
6144#define FSCTL_CSC_INTERNAL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 107, METHOD_NEITHER, FILE_ANY_ACCESS)
6145#define FSCTL_SHRINK_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 108, METHOD_BUFFERED, FILE_SPECIAL_ACCESS)
6146#define FSCTL_SET_SHORT_NAME_BEHAVIOR CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 109, METHOD_BUFFERED, FILE_ANY_ACCESS)
6147#define FSCTL_DFSR_SET_GHOST_HANDLE_STATE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 110, METHOD_BUFFERED, FILE_ANY_ACCESS)
6148#define FSCTL_TXFS_LIST_TRANSACTION_LOCKED_FILES \
6149 CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 120, METHOD_BUFFERED, FILE_READ_DATA)
6150#define FSCTL_TXFS_LIST_TRANSACTIONS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 121, METHOD_BUFFERED, FILE_READ_DATA)
6151#define FSCTL_QUERY_PAGEFILE_ENCRYPTION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 122, METHOD_BUFFERED, FILE_ANY_ACCESS)
6152#define FSCTL_RESET_VOLUME_ALLOCATION_HINTS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 123, METHOD_BUFFERED, FILE_ANY_ACCESS)
6153#define FSCTL_TXFS_READ_BACKUP_INFORMATION2 CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 126, METHOD_BUFFERED, FILE_ANY_ACCESS)
6157#if (_WIN32_WINNT >= 0x0601)
6159#define FSCTL_QUERY_DEPENDENT_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 124, METHOD_BUFFERED, FILE_ANY_ACCESS)
6160#define FSCTL_SD_GLOBAL_CHANGE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 125, METHOD_BUFFERED, FILE_ANY_ACCESS)
6161#define FSCTL_LOOKUP_STREAM_FROM_CLUSTER CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 127, METHOD_BUFFERED, FILE_ANY_ACCESS)
6162#define FSCTL_TXFS_WRITE_BACKUP_INFORMATION2 CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 128, METHOD_BUFFERED, FILE_ANY_ACCESS)
6163#define FSCTL_FILE_TYPE_NOTIFICATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 129, METHOD_BUFFERED, FILE_ANY_ACCESS)
6164#define FSCTL_GET_BOOT_AREA_INFO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 140, METHOD_BUFFERED, FILE_ANY_ACCESS)
6165#define FSCTL_GET_RETRIEVAL_POINTER_BASE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 141, METHOD_BUFFERED, FILE_ANY_ACCESS)
6166#define FSCTL_SET_PERSISTENT_VOLUME_STATE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 142, METHOD_BUFFERED, FILE_ANY_ACCESS)
6167#define FSCTL_QUERY_PERSISTENT_VOLUME_STATE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 143, METHOD_BUFFERED, FILE_ANY_ACCESS)
6168#define FSCTL_REQUEST_OPLOCK CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 144, METHOD_BUFFERED, FILE_ANY_ACCESS)
6169#define FSCTL_CSV_TUNNEL_REQUEST CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 145, METHOD_BUFFERED, FILE_ANY_ACCESS)
6170#define FSCTL_IS_CSV_FILE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 146, METHOD_BUFFERED, FILE_ANY_ACCESS)
6171#define FSCTL_QUERY_FILE_SYSTEM_RECOGNITION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 147, METHOD_BUFFERED, FILE_ANY_ACCESS)
6172#define FSCTL_CSV_GET_VOLUME_PATH_NAME CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 148, METHOD_BUFFERED, FILE_ANY_ACCESS)
6173#define FSCTL_CSV_GET_VOLUME_NAME_FOR_VOLUME_MOUNT_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 149, METHOD_BUFFERED, FILE_ANY_ACCESS)
6174#define FSCTL_CSV_GET_VOLUME_PATH_NAMES_FOR_VOLUME_NAME CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 150, METHOD_BUFFERED, FILE_ANY_ACCESS)
6175#define FSCTL_IS_FILE_ON_CSV_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 151, METHOD_BUFFERED, FILE_ANY_ACCESS)
6176#define FSCTL_CSV_INTERNAL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 155, METHOD_BUFFERED, FILE_ANY_ACCESS)
6178typedef struct _CSV_NAMESPACE_INFO {
6183} CSV_NAMESPACE_INFO, *PCSV_NAMESPACE_INFO;
6185#define CSV_NAMESPACE_INFO_V1 (sizeof(CSV_NAMESPACE_INFO))
6186#define CSV_INVALID_DEVICE_NUMBER 0xFFFFFFFF
6190#if (_WIN32_WINNT >= 0x0602)
6192#define FSCTL_FILE_LEVEL_TRIM CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 130, METHOD_BUFFERED, FILE_WRITE_DATA)
6193#define FSCTL_CORRUPTION_HANDLING CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 152, METHOD_BUFFERED, FILE_ANY_ACCESS)
6194#define FSCTL_OFFLOAD_READ CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 153, METHOD_BUFFERED, FILE_READ_ACCESS)
6195#define FSCTL_OFFLOAD_WRITE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 154, METHOD_BUFFERED, FILE_WRITE_ACCESS)
6196#define FSCTL_SET_PURGE_FAILURE_MODE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 156, METHOD_BUFFERED, FILE_ANY_ACCESS)
6197#define FSCTL_QUERY_FILE_LAYOUT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 157, METHOD_NEITHER, FILE_ANY_ACCESS)
6198#define FSCTL_IS_VOLUME_OWNED_BYCSVFS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 158, METHOD_BUFFERED, FILE_ANY_ACCESS)
6199#define FSCTL_GET_INTEGRITY_INFORMATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 159, METHOD_BUFFERED, FILE_ANY_ACCESS)
6200#define FSCTL_SET_INTEGRITY_INFORMATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 160, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
6201#define FSCTL_QUERY_FILE_REGIONS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 161, METHOD_BUFFERED, FILE_ANY_ACCESS)
6202#define FSCTL_DEDUP_FILE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 165, METHOD_BUFFERED, FILE_ANY_ACCESS)
6203#define FSCTL_DEDUP_QUERY_FILE_HASHES CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 166, METHOD_NEITHER, FILE_READ_DATA)
6204#define FSCTL_RKF_INTERNAL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 171, METHOD_NEITHER, FILE_ANY_ACCESS)
6205#define FSCTL_SCRUB_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 172, METHOD_BUFFERED, FILE_ANY_ACCESS)
6206#define FSCTL_REPAIR_COPIES CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 173, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
6207#define FSCTL_DISABLE_LOCAL_BUFFERING CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 174, METHOD_BUFFERED, FILE_ANY_ACCESS)
6208#define FSCTL_CSV_MGMT_LOCK CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 175, METHOD_BUFFERED, FILE_ANY_ACCESS)
6209#define FSCTL_CSV_QUERY_DOWN_LEVEL_FILE_SYSTEM_CHARACTERISTICS \
6210 CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 176, METHOD_BUFFERED, FILE_ANY_ACCESS)
6211#define FSCTL_ADVANCE_FILE_ID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 177, METHOD_BUFFERED, FILE_ANY_ACCESS)
6212#define FSCTL_CSV_SYNC_TUNNEL_REQUEST CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 178, METHOD_BUFFERED, FILE_ANY_ACCESS)
6213#define FSCTL_CSV_QUERY_VETO_FILE_DIRECT_IO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 179, METHOD_BUFFERED, FILE_ANY_ACCESS)
6214#define FSCTL_WRITE_USN_REASON CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 180, METHOD_BUFFERED, FILE_ANY_ACCESS)
6215#define FSCTL_CSV_CONTROL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 181, METHOD_BUFFERED, FILE_ANY_ACCESS)
6216#define FSCTL_GET_REFS_VOLUME_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 182, METHOD_BUFFERED, FILE_ANY_ACCESS)
6220#if (_WIN32_WINNT >= 0x0603)
6222#define FSCTL_DUPLICATE_EXTENTS_TO_FILE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 209, METHOD_BUFFERED, FILE_WRITE_DATA)
6226#define FSCTL_MARK_AS_SYSTEM_HIVE FSCTL_SET_BOOTLOADER_ACCESSED
6237#if (_WIN32_WINNT >= 0x0400)
6239typedef struct _NTFS_VOLUME_DATA_BUFFER {
6245 ULONG BytesPerSector;
6246 ULONG BytesPerCluster;
6247 ULONG BytesPerFileRecordSegment;
6248 ULONG ClustersPerFileRecordSegment;
6256typedef struct _NTFS_EXTENDED_VOLUME_DATA {
6262typedef struct _STARTING_LCN_INPUT_BUFFER {
6266typedef struct _VOLUME_BITMAP_BUFFER {
6272typedef struct _STARTING_VCN_INPUT_BUFFER {
6276typedef struct _RETRIEVAL_POINTERS_BUFFER {
6285typedef struct _NTFS_FILE_RECORD_INPUT_BUFFER {
6289typedef struct _NTFS_FILE_RECORD_OUTPUT_BUFFER {
6291 ULONG FileRecordLength;
6292 UCHAR FileRecordBuffer[1];
6295typedef struct _MOVE_FILE_DATA {
6302typedef struct _MOVE_FILE_RECORD_DATA {
6306} MOVE_FILE_RECORD_DATA, *PMOVE_FILE_RECORD_DATA;
6309typedef struct _MOVE_FILE_DATA32 {
6314} MOVE_FILE_DATA32, *PMOVE_FILE_DATA32;
6319#if (_WIN32_WINNT >= 0x0500)
6321typedef struct _FIND_BY_SID_DATA {
6324} FIND_BY_SID_DATA, *PFIND_BY_SID_DATA;
6326typedef struct _FIND_BY_SID_OUTPUT {
6327 ULONG NextEntryOffset;
6331} FIND_BY_SID_OUTPUT, *PFIND_BY_SID_OUTPUT;
6333typedef struct _MFT_ENUM_DATA {
6337} MFT_ENUM_DATA, *PMFT_ENUM_DATA;
6339typedef struct _CREATE_USN_JOURNAL_DATA {
6342} CREATE_USN_JOURNAL_DATA, *PCREATE_USN_JOURNAL_DATA;
6344typedef struct _READ_USN_JOURNAL_DATA {
6347 ULONG ReturnOnlyOnClose;
6351} READ_USN_JOURNAL_DATA, *PREAD_USN_JOURNAL_DATA;
6353typedef struct _USN_RECORD {
6368} USN_RECORD, *PUSN_RECORD;
6370#define USN_PAGE_SIZE (0x1000)
6372#define USN_REASON_DATA_OVERWRITE (0x00000001)
6373#define USN_REASON_DATA_EXTEND (0x00000002)
6374#define USN_REASON_DATA_TRUNCATION (0x00000004)
6375#define USN_REASON_NAMED_DATA_OVERWRITE (0x00000010)
6376#define USN_REASON_NAMED_DATA_EXTEND (0x00000020)
6377#define USN_REASON_NAMED_DATA_TRUNCATION (0x00000040)
6378#define USN_REASON_FILE_CREATE (0x00000100)
6379#define USN_REASON_FILE_DELETE (0x00000200)
6380#define USN_REASON_EA_CHANGE (0x00000400)
6381#define USN_REASON_SECURITY_CHANGE (0x00000800)
6382#define USN_REASON_RENAME_OLD_NAME (0x00001000)
6383#define USN_REASON_RENAME_NEW_NAME (0x00002000)
6384#define USN_REASON_INDEXABLE_CHANGE (0x00004000)
6385#define USN_REASON_BASIC_INFO_CHANGE (0x00008000)
6386#define USN_REASON_HARD_LINK_CHANGE (0x00010000)
6387#define USN_REASON_COMPRESSION_CHANGE (0x00020000)
6388#define USN_REASON_ENCRYPTION_CHANGE (0x00040000)
6389#define USN_REASON_OBJECT_ID_CHANGE (0x00080000)
6390#define USN_REASON_REPARSE_POINT_CHANGE (0x00100000)
6391#define USN_REASON_STREAM_CHANGE (0x00200000)
6392#define USN_REASON_TRANSACTED_CHANGE (0x00400000)
6393#define USN_REASON_CLOSE (0x80000000)
6395typedef struct _USN_JOURNAL_DATA {
6403} USN_JOURNAL_DATA, *PUSN_JOURNAL_DATA;
6405typedef struct _DELETE_USN_JOURNAL_DATA {
6408} DELETE_USN_JOURNAL_DATA, *PDELETE_USN_JOURNAL_DATA;
6410#define USN_DELETE_FLAG_DELETE (0x00000001)
6411#define USN_DELETE_FLAG_NOTIFY (0x00000002)
6412#define USN_DELETE_VALID_FLAGS (0x00000003)
6414typedef struct _MARK_HANDLE_INFO {
6415 ULONG UsnSourceInfo;
6418} MARK_HANDLE_INFO, *PMARK_HANDLE_INFO;
6421typedef struct _MARK_HANDLE_INFO32 {
6422 ULONG UsnSourceInfo;
6425} MARK_HANDLE_INFO32, *PMARK_HANDLE_INFO32;
6428#define USN_SOURCE_DATA_MANAGEMENT (0x00000001)
6429#define USN_SOURCE_AUXILIARY_DATA (0x00000002)
6430#define USN_SOURCE_REPLICATION_MANAGEMENT (0x00000004)
6432#define MARK_HANDLE_PROTECT_CLUSTERS (0x00000001)
6433#define MARK_HANDLE_TXF_SYSTEM_LOG (0x00000004)
6434#define MARK_HANDLE_NOT_TXF_SYSTEM_LOG (0x00000008)
6436typedef struct _BULK_SECURITY_TEST_DATA {
6438 ULONG SecurityIds[1];
6439} BULK_SECURITY_TEST_DATA, *PBULK_SECURITY_TEST_DATA;
6441#define VOLUME_IS_DIRTY (0x00000001)
6442#define VOLUME_UPGRADE_SCHEDULED (0x00000002)
6443#define VOLUME_SESSION_OPEN (0x00000004)
6445typedef struct _FILE_PREFETCH {
6449} FILE_PREFETCH, *PFILE_PREFETCH;
6451typedef struct _FILE_PREFETCH_EX {
6456} FILE_PREFETCH_EX, *PFILE_PREFETCH_EX;
6458#define FILE_PREFETCH_TYPE_FOR_CREATE 0x1
6459#define FILE_PREFETCH_TYPE_FOR_DIRENUM 0x2
6460#define FILE_PREFETCH_TYPE_FOR_CREATE_EX 0x3
6461#define FILE_PREFETCH_TYPE_FOR_DIRENUM_EX 0x4
6463#define FILE_PREFETCH_TYPE_MAX 0x4
6465typedef struct _FILE_OBJECTID_BUFFER {
6469 UCHAR BirthVolumeId[16];
6470 UCHAR BirthObjectId[16];
6473 UCHAR ExtendedInfo[48];
6475} FILE_OBJECTID_BUFFER, *PFILE_OBJECTID_BUFFER;
6477typedef struct _FILE_SET_SPARSE_BUFFER {
6479} FILE_SET_SPARSE_BUFFER, *PFILE_SET_SPARSE_BUFFER;
6481typedef struct _FILE_ZERO_DATA_INFORMATION {
6484} FILE_ZERO_DATA_INFORMATION, *PFILE_ZERO_DATA_INFORMATION;
6486typedef struct _FILE_ALLOCATED_RANGE_BUFFER {
6489} FILE_ALLOCATED_RANGE_BUFFER, *PFILE_ALLOCATED_RANGE_BUFFER;
6491typedef struct _ENCRYPTION_BUFFER {
6492 ULONG EncryptionOperation;
6494} ENCRYPTION_BUFFER, *PENCRYPTION_BUFFER;
6496#define FILE_SET_ENCRYPTION 0x00000001
6497#define FILE_CLEAR_ENCRYPTION 0x00000002
6498#define STREAM_SET_ENCRYPTION 0x00000003
6499#define STREAM_CLEAR_ENCRYPTION 0x00000004
6501#define MAXIMUM_ENCRYPTION_VALUE 0x00000004
6503typedef struct _DECRYPTION_STATUS_BUFFER {
6505} DECRYPTION_STATUS_BUFFER, *PDECRYPTION_STATUS_BUFFER;
6507#define ENCRYPTION_FORMAT_DEFAULT (0x01)
6509#define COMPRESSION_FORMAT_SPARSE (0x4000)
6511typedef struct _REQUEST_RAW_ENCRYPTED_DATA {
6514} REQUEST_RAW_ENCRYPTED_DATA, *PREQUEST_RAW_ENCRYPTED_DATA;
6516typedef struct _ENCRYPTED_DATA_INFO {
6519 ULONG BytesWithinFileSize;
6520 ULONG BytesWithinValidDataLength;
6521 USHORT CompressionFormat;
6522 UCHAR DataUnitShift;
6525 UCHAR EncryptionFormat;
6526 USHORT NumberOfDataBlocks;
6528} ENCRYPTED_DATA_INFO, *PENCRYPTED_DATA_INFO;
6530typedef struct _PLEX_READ_DATA_REQUEST {
6534} PLEX_READ_DATA_REQUEST, *PPLEX_READ_DATA_REQUEST;
6536typedef struct _SI_COPYFILE {
6537 ULONG SourceFileNameLength;
6538 ULONG DestinationFileNameLength;
6541} SI_COPYFILE, *PSI_COPYFILE;
6543#define COPYFILE_SIS_LINK 0x0001
6544#define COPYFILE_SIS_REPLACE 0x0002
6545#define COPYFILE_SIS_FLAGS 0x0003
6549#if (_WIN32_WINNT >= 0x0600)
6551typedef struct _FILE_MAKE_COMPATIBLE_BUFFER {
6553} FILE_MAKE_COMPATIBLE_BUFFER, *PFILE_MAKE_COMPATIBLE_BUFFER;
6555typedef struct _FILE_SET_DEFECT_MGMT_BUFFER {
6557} FILE_SET_DEFECT_MGMT_BUFFER, *PFILE_SET_DEFECT_MGMT_BUFFER;
6559typedef struct _FILE_QUERY_SPARING_BUFFER {
6560 ULONG SparingUnitBytes;
6562 ULONG TotalSpareBlocks;
6563 ULONG FreeSpareBlocks;
6564} FILE_QUERY_SPARING_BUFFER, *PFILE_QUERY_SPARING_BUFFER;
6566typedef struct _FILE_QUERY_ON_DISK_VOL_INFO_BUFFER {
6569 USHORT FsFormatMajVersion;
6570 USHORT FsFormatMinVersion;
6571 WCHAR FsFormatName[12];
6574 WCHAR CopyrightInfo[34];
6575 WCHAR AbstractInfo[34];
6576 WCHAR FormattingImplementationInfo[34];
6577 WCHAR LastModifyingImplementationInfo[34];
6578} FILE_QUERY_ON_DISK_VOL_INFO_BUFFER, *PFILE_QUERY_ON_DISK_VOL_INFO_BUFFER;
6580#define SET_REPAIR_ENABLED (0x00000001)
6581#define SET_REPAIR_VOLUME_BITMAP_SCAN (0x00000002)
6582#define SET_REPAIR_DELETE_CROSSLINK (0x00000004)
6583#define SET_REPAIR_WARN_ABOUT_DATA_LOSS (0x00000008)
6584#define SET_REPAIR_DISABLED_AND_BUGCHECK_ON_CORRUPT (0x00000010)
6585#define SET_REPAIR_VALID_MASK (0x0000001F)
6587typedef enum _SHRINK_VOLUME_REQUEST_TYPES {
6591} SHRINK_VOLUME_REQUEST_TYPES, *PSHRINK_VOLUME_REQUEST_TYPES;
6593typedef struct _SHRINK_VOLUME_INFORMATION {
6594 SHRINK_VOLUME_REQUEST_TYPES ShrinkRequestType;
6597} SHRINK_VOLUME_INFORMATION, *PSHRINK_VOLUME_INFORMATION;
6599#define TXFS_RM_FLAG_LOGGING_MODE 0x00000001
6600#define TXFS_RM_FLAG_RENAME_RM 0x00000002
6601#define TXFS_RM_FLAG_LOG_CONTAINER_COUNT_MAX 0x00000004
6602#define TXFS_RM_FLAG_LOG_CONTAINER_COUNT_MIN 0x00000008
6603#define TXFS_RM_FLAG_LOG_GROWTH_INCREMENT_NUM_CONTAINERS 0x00000010
6604#define TXFS_RM_FLAG_LOG_GROWTH_INCREMENT_PERCENT 0x00000020
6605#define TXFS_RM_FLAG_LOG_AUTO_SHRINK_PERCENTAGE 0x00000040
6606#define TXFS_RM_FLAG_LOG_NO_CONTAINER_COUNT_MAX 0x00000080
6607#define TXFS_RM_FLAG_LOG_NO_CONTAINER_COUNT_MIN 0x00000100
6608#define TXFS_RM_FLAG_GROW_LOG 0x00000400
6609#define TXFS_RM_FLAG_SHRINK_LOG 0x00000800
6610#define TXFS_RM_FLAG_ENFORCE_MINIMUM_SIZE 0x00001000
6611#define TXFS_RM_FLAG_PRESERVE_CHANGES 0x00002000
6612#define TXFS_RM_FLAG_RESET_RM_AT_NEXT_START 0x00004000
6613#define TXFS_RM_FLAG_DO_NOT_RESET_RM_AT_NEXT_START 0x00008000
6614#define TXFS_RM_FLAG_PREFER_CONSISTENCY 0x00010000
6615#define TXFS_RM_FLAG_PREFER_AVAILABILITY 0x00020000
6617#define TXFS_LOGGING_MODE_SIMPLE (0x0001)
6618#define TXFS_LOGGING_MODE_FULL (0x0002)
6620#define TXFS_TRANSACTION_STATE_NONE 0x00
6621#define TXFS_TRANSACTION_STATE_ACTIVE 0x01
6622#define TXFS_TRANSACTION_STATE_PREPARED 0x02
6623#define TXFS_TRANSACTION_STATE_NOTACTIVE 0x03
6625#define TXFS_MODIFY_RM_VALID_FLAGS (TXFS_RM_FLAG_LOGGING_MODE | \
6626 TXFS_RM_FLAG_RENAME_RM | \
6627 TXFS_RM_FLAG_LOG_CONTAINER_COUNT_MAX | \
6628 TXFS_RM_FLAG_LOG_CONTAINER_COUNT_MIN | \
6629 TXFS_RM_FLAG_LOG_GROWTH_INCREMENT_NUM_CONTAINERS | \
6630 TXFS_RM_FLAG_LOG_GROWTH_INCREMENT_PERCENT | \
6631 TXFS_RM_FLAG_LOG_AUTO_SHRINK_PERCENTAGE | \
6632 TXFS_RM_FLAG_LOG_NO_CONTAINER_COUNT_MAX | \
6633 TXFS_RM_FLAG_LOG_NO_CONTAINER_COUNT_MIN | \
6634 TXFS_RM_FLAG_SHRINK_LOG | \
6635 TXFS_RM_FLAG_GROW_LOG | \
6636 TXFS_RM_FLAG_ENFORCE_MINIMUM_SIZE | \
6637 TXFS_RM_FLAG_PRESERVE_CHANGES | \
6638 TXFS_RM_FLAG_RESET_RM_AT_NEXT_START | \
6639 TXFS_RM_FLAG_DO_NOT_RESET_RM_AT_NEXT_START | \
6640 TXFS_RM_FLAG_PREFER_CONSISTENCY | \
6641 TXFS_RM_FLAG_PREFER_AVAILABILITY)
6643typedef struct _TXFS_MODIFY_RM {
6645 ULONG LogContainerCountMax;
6646 ULONG LogContainerCountMin;
6647 ULONG LogContainerCount;
6648 ULONG LogGrowthIncrement;
6649 ULONG LogAutoShrinkPercentage;
6652} TXFS_MODIFY_RM, *PTXFS_MODIFY_RM;
6654#define TXFS_RM_STATE_NOT_STARTED 0
6655#define TXFS_RM_STATE_STARTING 1
6656#define TXFS_RM_STATE_ACTIVE 2
6657#define TXFS_RM_STATE_SHUTTING_DOWN 3
6659#define TXFS_QUERY_RM_INFORMATION_VALID_FLAGS \
6660 (TXFS_RM_FLAG_LOG_GROWTH_INCREMENT_NUM_CONTAINERS | \
6661 TXFS_RM_FLAG_LOG_GROWTH_INCREMENT_PERCENT | \
6662 TXFS_RM_FLAG_LOG_NO_CONTAINER_COUNT_MAX | \
6663 TXFS_RM_FLAG_LOG_NO_CONTAINER_COUNT_MIN | \
6664 TXFS_RM_FLAG_RESET_RM_AT_NEXT_START | \
6665 TXFS_RM_FLAG_DO_NOT_RESET_RM_AT_NEXT_START | \
6666 TXFS_RM_FLAG_PREFER_CONSISTENCY | \
6667 TXFS_RM_FLAG_PREFER_AVAILABILITY)
6669typedef struct _TXFS_QUERY_RM_INFORMATION {
6670 ULONG BytesRequired;
6676 ULONG LogContainerCount;
6677 ULONG LogContainerCountMax;
6678 ULONG LogContainerCountMin;
6679 ULONG LogGrowthIncrement;
6680 ULONG LogAutoShrinkPercentage;
6695 ULONG TmLogPathOffset;
6696} TXFS_QUERY_RM_INFORMATION, *PTXFS_QUERY_RM_INFORMATION;
6698#define TXFS_ROLLFORWARD_REDO_FLAG_USE_LAST_REDO_LSN 0x01
6699#define TXFS_ROLLFORWARD_REDO_FLAG_USE_LAST_VIRTUAL_CLOCK 0x02
6701#define TXFS_ROLLFORWARD_REDO_VALID_FLAGS \
6702 (TXFS_ROLLFORWARD_REDO_FLAG_USE_LAST_REDO_LSN | \
6703 TXFS_ROLLFORWARD_REDO_FLAG_USE_LAST_VIRTUAL_CLOCK)
6705typedef struct _TXFS_ROLLFORWARD_REDO_INFORMATION {
6710} TXFS_ROLLFORWARD_REDO_INFORMATION, *PTXFS_ROLLFORWARD_REDO_INFORMATION;
6712#define TXFS_START_RM_FLAG_LOG_CONTAINER_COUNT_MAX 0x00000001
6713#define TXFS_START_RM_FLAG_LOG_CONTAINER_COUNT_MIN 0x00000002
6714#define TXFS_START_RM_FLAG_LOG_CONTAINER_SIZE 0x00000004
6715#define TXFS_START_RM_FLAG_LOG_GROWTH_INCREMENT_NUM_CONTAINERS 0x00000008
6716#define TXFS_START_RM_FLAG_LOG_GROWTH_INCREMENT_PERCENT 0x00000010
6717#define TXFS_START_RM_FLAG_LOG_AUTO_SHRINK_PERCENTAGE 0x00000020
6718#define TXFS_START_RM_FLAG_LOG_NO_CONTAINER_COUNT_MAX 0x00000040
6719#define TXFS_START_RM_FLAG_LOG_NO_CONTAINER_COUNT_MIN 0x00000080
6721#define TXFS_START_RM_FLAG_RECOVER_BEST_EFFORT 0x00000200
6722#define TXFS_START_RM_FLAG_LOGGING_MODE 0x00000400
6723#define TXFS_START_RM_FLAG_PRESERVE_CHANGES 0x00000800
6725#define TXFS_START_RM_FLAG_PREFER_CONSISTENCY 0x00001000
6726#define TXFS_START_RM_FLAG_PREFER_AVAILABILITY 0x00002000
6728#define TXFS_START_RM_VALID_FLAGS \
6729 (TXFS_START_RM_FLAG_LOG_CONTAINER_COUNT_MAX | \
6730 TXFS_START_RM_FLAG_LOG_CONTAINER_COUNT_MIN | \
6731 TXFS_START_RM_FLAG_LOG_CONTAINER_SIZE | \
6732 TXFS_START_RM_FLAG_LOG_GROWTH_INCREMENT_NUM_CONTAINERS | \
6733 TXFS_START_RM_FLAG_LOG_GROWTH_INCREMENT_PERCENT | \
6734 TXFS_START_RM_FLAG_LOG_AUTO_SHRINK_PERCENTAGE | \
6735 TXFS_START_RM_FLAG_RECOVER_BEST_EFFORT | \
6736 TXFS_START_RM_FLAG_LOG_NO_CONTAINER_COUNT_MAX | \
6737 TXFS_START_RM_FLAG_LOGGING_MODE | \
6738 TXFS_START_RM_FLAG_PRESERVE_CHANGES | \
6739 TXFS_START_RM_FLAG_PREFER_CONSISTENCY | \
6740 TXFS_START_RM_FLAG_PREFER_AVAILABILITY)
6742typedef struct _TXFS_START_RM_INFORMATION {
6745 ULONG LogContainerCountMin;
6746 ULONG LogContainerCountMax;
6747 ULONG LogGrowthIncrement;
6748 ULONG LogAutoShrinkPercentage;
6749 ULONG TmLogPathOffset;
6755} TXFS_START_RM_INFORMATION, *PTXFS_START_RM_INFORMATION;
6757typedef struct _TXFS_GET_METADATA_INFO_OUT {
6762 GUID LockingTransaction;
6764 ULONG TransactionState;
6765} TXFS_GET_METADATA_INFO_OUT, *PTXFS_GET_METADATA_INFO_OUT;
6767#define TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY_FLAG_CREATED 0x00000001
6768#define TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY_FLAG_DELETED 0x00000002
6770typedef struct _TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY {
6778} TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY, *PTXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY;
6780typedef struct _TXFS_LIST_TRANSACTION_LOCKED_FILES {
6781 GUID KtmTransaction;
6785} TXFS_LIST_TRANSACTION_LOCKED_FILES, *PTXFS_LIST_TRANSACTION_LOCKED_FILES;
6787typedef struct _TXFS_LIST_TRANSACTIONS_ENTRY {
6789 ULONG TransactionState;
6793} TXFS_LIST_TRANSACTIONS_ENTRY, *PTXFS_LIST_TRANSACTIONS_ENTRY;
6795typedef struct _TXFS_LIST_TRANSACTIONS {
6798} TXFS_LIST_TRANSACTIONS, *PTXFS_LIST_TRANSACTIONS;
6800typedef struct _TXFS_READ_BACKUP_INFORMATION_OUT {
6805} TXFS_READ_BACKUP_INFORMATION_OUT, *PTXFS_READ_BACKUP_INFORMATION_OUT;
6807typedef struct _TXFS_WRITE_BACKUP_INFORMATION {
6809} TXFS_WRITE_BACKUP_INFORMATION, *PTXFS_WRITE_BACKUP_INFORMATION;
6811#define TXFS_TRANSACTED_VERSION_NONTRANSACTED 0xFFFFFFFE
6812#define TXFS_TRANSACTED_VERSION_UNCOMMITTED 0xFFFFFFFF
6814typedef struct _TXFS_GET_TRANSACTED_VERSION {
6815 ULONG ThisBaseVersion;
6816 ULONG LatestVersion;
6819 USHORT LatestMiniVersion;
6820} TXFS_GET_TRANSACTED_VERSION, *PTXFS_GET_TRANSACTED_VERSION;
6822#define TXFS_SAVEPOINT_SET 0x00000001
6823#define TXFS_SAVEPOINT_ROLLBACK 0x00000002
6824#define TXFS_SAVEPOINT_CLEAR 0x00000004
6825#define TXFS_SAVEPOINT_CLEAR_ALL 0x00000010
6827typedef struct _TXFS_SAVEPOINT_INFORMATION {
6831} TXFS_SAVEPOINT_INFORMATION, *PTXFS_SAVEPOINT_INFORMATION;
6833typedef struct _TXFS_CREATE_MINIVERSION_INFO {
6838} TXFS_CREATE_MINIVERSION_INFO, *PTXFS_CREATE_MINIVERSION_INFO;
6840typedef struct _TXFS_TRANSACTION_ACTIVE_INFO {
6841 BOOLEAN TransactionsActiveAtSnapshot;
6842} TXFS_TRANSACTION_ACTIVE_INFO, *PTXFS_TRANSACTION_ACTIVE_INFO;
6846#if (_WIN32_WINNT >= 0x0601)
6848#define MARK_HANDLE_REALTIME (0x00000020)
6849#define MARK_HANDLE_NOT_REALTIME (0x00000040)
6851#define NO_8DOT3_NAME_PRESENT (0x00000001)
6852#define REMOVED_8DOT3_NAME (0x00000002)
6854#define PERSISTENT_VOLUME_STATE_SHORT_NAME_CREATION_DISABLED (0x00000001)
6856typedef struct _BOOT_AREA_INFO {
6857 ULONG BootSectorCount;
6861} BOOT_AREA_INFO, *PBOOT_AREA_INFO;
6863typedef struct _RETRIEVAL_POINTER_BASE {
6865} RETRIEVAL_POINTER_BASE, *PRETRIEVAL_POINTER_BASE;
6867typedef struct _FILE_FS_PERSISTENT_VOLUME_INFORMATION {
6872} FILE_FS_PERSISTENT_VOLUME_INFORMATION, *PFILE_FS_PERSISTENT_VOLUME_INFORMATION;
6874typedef struct _FILE_SYSTEM_RECOGNITION_INFORMATION {
6876} FILE_SYSTEM_RECOGNITION_INFORMATION, *PFILE_SYSTEM_RECOGNITION_INFORMATION;
6878#define OPLOCK_LEVEL_CACHE_READ (0x00000001)
6879#define OPLOCK_LEVEL_CACHE_HANDLE (0x00000002)
6880#define OPLOCK_LEVEL_CACHE_WRITE (0x00000004)
6882#define REQUEST_OPLOCK_INPUT_FLAG_REQUEST (0x00000001)
6883#define REQUEST_OPLOCK_INPUT_FLAG_ACK (0x00000002)
6884#define REQUEST_OPLOCK_INPUT_FLAG_COMPLETE_ACK_ON_CLOSE (0x00000004)
6886#define REQUEST_OPLOCK_CURRENT_VERSION 1
6888typedef struct _REQUEST_OPLOCK_INPUT_BUFFER {
6891 ULONG RequestedOplockLevel;
6893} REQUEST_OPLOCK_INPUT_BUFFER, *PREQUEST_OPLOCK_INPUT_BUFFER;
6895#define REQUEST_OPLOCK_OUTPUT_FLAG_ACK_REQUIRED (0x00000001)
6896#define REQUEST_OPLOCK_OUTPUT_FLAG_MODES_PROVIDED (0x00000002)
6898typedef struct _REQUEST_OPLOCK_OUTPUT_BUFFER {
6901 ULONG OriginalOplockLevel;
6902 ULONG NewOplockLevel;
6906} REQUEST_OPLOCK_OUTPUT_BUFFER, *PREQUEST_OPLOCK_OUTPUT_BUFFER;
6908#define SD_GLOBAL_CHANGE_TYPE_MACHINE_SID 1
6910typedef struct _SD_CHANGE_MACHINE_SID_INPUT {
6911 USHORT CurrentMachineSIDOffset;
6912 USHORT CurrentMachineSIDLength;
6913 USHORT NewMachineSIDOffset;
6914 USHORT NewMachineSIDLength;
6915} SD_CHANGE_MACHINE_SID_INPUT, *PSD_CHANGE_MACHINE_SID_INPUT;
6917typedef struct _SD_CHANGE_MACHINE_SID_OUTPUT {
6925} SD_CHANGE_MACHINE_SID_OUTPUT, *PSD_CHANGE_MACHINE_SID_OUTPUT;
6927typedef struct _SD_GLOBAL_CHANGE_INPUT {
6931 SD_CHANGE_MACHINE_SID_INPUT SdChange;
6933} SD_GLOBAL_CHANGE_INPUT, *PSD_GLOBAL_CHANGE_INPUT;
6935typedef struct _SD_GLOBAL_CHANGE_OUTPUT {
6939 SD_CHANGE_MACHINE_SID_OUTPUT SdChange;
6941} SD_GLOBAL_CHANGE_OUTPUT, *PSD_GLOBAL_CHANGE_OUTPUT;
6943#define ENCRYPTED_DATA_INFO_SPARSE_FILE 1
6945typedef struct _EXTENDED_ENCRYPTED_DATA_INFO {
6950} EXTENDED_ENCRYPTED_DATA_INFO, *PEXTENDED_ENCRYPTED_DATA_INFO;
6952typedef struct _LOOKUP_STREAM_FROM_CLUSTER_INPUT {
6954 ULONG NumberOfClusters;
6956} LOOKUP_STREAM_FROM_CLUSTER_INPUT, *PLOOKUP_STREAM_FROM_CLUSTER_INPUT;
6958typedef struct _LOOKUP_STREAM_FROM_CLUSTER_OUTPUT {
6960 ULONG NumberOfMatches;
6961 ULONG BufferSizeRequired;
6962} LOOKUP_STREAM_FROM_CLUSTER_OUTPUT, *PLOOKUP_STREAM_FROM_CLUSTER_OUTPUT;
6964#define LOOKUP_STREAM_FROM_CLUSTER_ENTRY_FLAG_PAGE_FILE 0x00000001
6965#define LOOKUP_STREAM_FROM_CLUSTER_ENTRY_FLAG_DENY_DEFRAG_SET 0x00000002
6966#define LOOKUP_STREAM_FROM_CLUSTER_ENTRY_FLAG_FS_SYSTEM_FILE 0x00000004
6967#define LOOKUP_STREAM_FROM_CLUSTER_ENTRY_FLAG_TXF_SYSTEM_FILE 0x00000008
6969#define LOOKUP_STREAM_FROM_CLUSTER_ENTRY_ATTRIBUTE_MASK 0xff000000
6970#define LOOKUP_STREAM_FROM_CLUSTER_ENTRY_ATTRIBUTE_DATA 0x01000000
6971#define LOOKUP_STREAM_FROM_CLUSTER_ENTRY_ATTRIBUTE_INDEX 0x02000000
6972#define LOOKUP_STREAM_FROM_CLUSTER_ENTRY_ATTRIBUTE_SYSTEM 0x03000000
6974typedef struct _LOOKUP_STREAM_FROM_CLUSTER_ENTRY {
6980} LOOKUP_STREAM_FROM_CLUSTER_ENTRY, *PLOOKUP_STREAM_FROM_CLUSTER_ENTRY;
6982typedef struct _FILE_TYPE_NOTIFICATION_INPUT {
6984 ULONG NumFileTypeIDs;
6986} FILE_TYPE_NOTIFICATION_INPUT, *PFILE_TYPE_NOTIFICATION_INPUT;
6988#define FILE_TYPE_NOTIFICATION_FLAG_USAGE_BEGIN 0x00000001
6989#define FILE_TYPE_NOTIFICATION_FLAG_USAGE_END 0x00000002
6991DEFINE_GUID(FILE_TYPE_NOTIFICATION_GUID_PAGE_FILE, 0x0d0a64a1, 0x38fc, 0x4db8, 0x9f, 0xe7, 0x3f, 0x43, 0x52, 0xcd, 0x7c, 0x5c);
6992DEFINE_GUID(FILE_TYPE_NOTIFICATION_GUID_HIBERNATION_FILE, 0xb7624d64, 0xb9a3, 0x4cf8, 0x80, 0x11, 0x5b, 0x86, 0xc9, 0x40, 0xe7, 0xb7);
6993DEFINE_GUID(FILE_TYPE_NOTIFICATION_GUID_CRASHDUMP_FILE, 0x9d453eb7, 0xd2a6, 0x4dbd, 0xa2, 0xe3, 0xfb, 0xd0, 0xed, 0x91, 0x09, 0xa9);
6995#ifndef _VIRTUAL_STORAGE_TYPE_DEFINED
6996#define _VIRTUAL_STORAGE_TYPE_DEFINED
6997typedef struct _VIRTUAL_STORAGE_TYPE {
7000} VIRTUAL_STORAGE_TYPE, *PVIRTUAL_STORAGE_TYPE;
7003typedef struct _STORAGE_QUERY_DEPENDENT_VOLUME_REQUEST {
7006} STORAGE_QUERY_DEPENDENT_VOLUME_REQUEST, *PSTORAGE_QUERY_DEPENDENT_VOLUME_REQUEST;
7008#define QUERY_DEPENDENT_VOLUME_REQUEST_FLAG_HOST_VOLUMES 0x1
7009#define QUERY_DEPENDENT_VOLUME_REQUEST_FLAG_GUEST_VOLUMES 0x2
7011typedef struct _STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY {
7013 ULONG DependencyTypeFlags;
7014 ULONG ProviderSpecificFlags;
7015 VIRTUAL_STORAGE_TYPE VirtualStorageType;
7016} STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY, *PSTORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY;
7018typedef struct _STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY {
7020 ULONG DependencyTypeFlags;
7021 ULONG ProviderSpecificFlags;
7022 VIRTUAL_STORAGE_TYPE VirtualStorageType;
7023 ULONG AncestorLevel;
7024 ULONG HostVolumeNameOffset;
7025 ULONG HostVolumeNameSize;
7026 ULONG DependentVolumeNameOffset;
7027 ULONG DependentVolumeNameSize;
7028 ULONG RelativePathOffset;
7029 ULONG RelativePathSize;
7030 ULONG DependentDeviceNameOffset;
7031 ULONG DependentDeviceNameSize;
7032} STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY, *PSTORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY;
7034typedef struct _STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE {
7035 ULONG ResponseLevel;
7036 ULONG NumberEntries;
7038 STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY Lev1Depends[0];
7039 STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY Lev2Depends[0];
7041} STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE, *PSTORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE;
7048 ULONG SizeOfCompleteStructure;
7049 ULONG UserFileReads;
7050 ULONG UserFileReadBytes;
7051 ULONG UserDiskReads;
7052 ULONG UserFileWrites;
7053 ULONG UserFileWriteBytes;
7054 ULONG UserDiskWrites;
7055 ULONG MetaDataReads;
7056 ULONG MetaDataReadBytes;
7057 ULONG MetaDataDiskReads;
7058 ULONG MetaDataWrites;
7059 ULONG MetaDataWriteBytes;
7060 ULONG MetaDataDiskWrites;
7063#define FILESYSTEM_STATISTICS_TYPE_NTFS 1
7064#define FILESYSTEM_STATISTICS_TYPE_FAT 2
7065#define FILESYSTEM_STATISTICS_TYPE_EXFAT 3
7069 ULONG SuccessfulCreates;
7070 ULONG FailedCreates;
7071 ULONG NonCachedReads;
7072 ULONG NonCachedReadBytes;
7073 ULONG NonCachedWrites;
7074 ULONG NonCachedWriteBytes;
7075 ULONG NonCachedDiskReads;
7076 ULONG NonCachedDiskWrites;
7081 ULONG SuccessfulCreates;
7082 ULONG FailedCreates;
7083 ULONG NonCachedReads;
7084 ULONG NonCachedReadBytes;
7085 ULONG NonCachedWrites;
7086 ULONG NonCachedWriteBytes;
7087 ULONG NonCachedDiskReads;
7088 ULONG NonCachedDiskWrites;
7092 ULONG LogFileFullExceptions;
7093 ULONG OtherExceptions;
7097 ULONG MftWriteBytes;
7103 } MftWritesUserLevel;
7104 USHORT MftWritesFlushForLogFileFull;
7105 USHORT MftWritesLazyWriter;
7106 USHORT MftWritesUserRequest;
7108 ULONG Mft2WriteBytes;
7114 } Mft2WritesUserLevel;
7115 USHORT Mft2WritesFlushForLogFileFull;
7116 USHORT Mft2WritesLazyWriter;
7117 USHORT Mft2WritesUserRequest;
7118 ULONG RootIndexReads;
7119 ULONG RootIndexReadBytes;
7120 ULONG RootIndexWrites;
7121 ULONG RootIndexWriteBytes;
7123 ULONG BitmapReadBytes;
7125 ULONG BitmapWriteBytes;
7126 USHORT BitmapWritesFlushForLogFileFull;
7127 USHORT BitmapWritesLazyWriter;
7128 USHORT BitmapWritesUserRequest;
7133 } BitmapWritesUserLevel;
7134 ULONG MftBitmapReads;
7135 ULONG MftBitmapReadBytes;
7136 ULONG MftBitmapWrites;
7137 ULONG MftBitmapWriteBytes;
7138 USHORT MftBitmapWritesFlushForLogFileFull;
7139 USHORT MftBitmapWritesLazyWriter;
7140 USHORT MftBitmapWritesUserRequest;
7146 } MftBitmapWritesUserLevel;
7147 ULONG UserIndexReads;
7148 ULONG UserIndexReadBytes;
7149 ULONG UserIndexWrites;
7150 ULONG UserIndexWriteBytes;
7152 ULONG LogFileReadBytes;
7153 ULONG LogFileWrites;
7154 ULONG LogFileWriteBytes;
7161 ULONG HintsClusters;
7163 ULONG CacheClusters;
7165 ULONG CacheMissClusters;
7171#define SYMLINK_FLAG_RELATIVE 1
7175 USHORT ReparseDataLength;
7179 USHORT SubstituteNameOffset;
7180 USHORT SubstituteNameLength;
7184 WCHAR PathBuffer[1];
7185 } SymbolicLinkReparseBuffer;
7187 USHORT SubstituteNameOffset;
7188 USHORT SubstituteNameLength;
7191 WCHAR PathBuffer[1];
7192 } MountPointReparseBuffer;
7194 UCHAR DataBuffer[1];
7195 } GenericReparseBuffer;
7199#define REPARSE_DATA_BUFFER_HEADER_SIZE FIELD_OFFSET(REPARSE_DATA_BUFFER, GenericReparseBuffer)
7208 } GenericReparseBuffer;
7211#define REPARSE_GUID_DATA_BUFFER_HEADER_SIZE FIELD_OFFSET(REPARSE_GUID_DATA_BUFFER, GenericReparseBuffer)
7213#define MAXIMUM_REPARSE_DATA_BUFFER_SIZE ( 16 * 1024 )
7216#define IO_REPARSE_TAG_RESERVED_ZERO (0)
7217#define IO_REPARSE_TAG_RESERVED_ONE (1)
7218#define IO_REPARSE_TAG_RESERVED_RANGE IO_REPARSE_TAG_RESERVED_ONE
7220#define IsReparseTagMicrosoft(_tag) (((_tag) & 0x80000000))
7221#define IsReparseTagNameSurrogate(_tag) (((_tag) & 0x20000000))
7223#define IO_REPARSE_TAG_VALID_VALUES (0xF000FFFF)
7225#define IsReparseTagValid(tag) ( \
7226 !((tag) & ~IO_REPARSE_TAG_VALID_VALUES) && \
7227 ((tag) > IO_REPARSE_TAG_RESERVED_RANGE) \
7231#define IO_REPARSE_TAG_MOUNT_POINT (0xA0000003L)
7232#define IO_REPARSE_TAG_HSM (0xC0000004L)
7233#define IO_REPARSE_TAG_DRIVE_EXTENDER (0x80000005L)
7234#define IO_REPARSE_TAG_HSM2 (0x80000006L)
7235#define IO_REPARSE_TAG_SIS (0x80000007L)
7236#define IO_REPARSE_TAG_WIM (0x80000008L)
7237#define IO_REPARSE_TAG_CSV (0x80000009L)
7238#define IO_REPARSE_TAG_DFS (0x8000000AL)
7239#define IO_REPARSE_TAG_FILTER_MANAGER (0x8000000BL)
7240#define IO_REPARSE_TAG_SYMLINK (0xA000000CL)
7241#define IO_REPARSE_TAG_IIS_CACHE (0xA0000010L)
7242#define IO_REPARSE_TAG_DFSR (0x80000012L)
7251#define FSCTL_LMR_GET_LINK_TRACKING_INFORMATION CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM,58,METHOD_BUFFERED,FILE_ANY_ACCESS)
7252#define FSCTL_LMR_SET_LINK_TRACKING_INFORMATION CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM,59,METHOD_BUFFERED,FILE_ANY_ACCESS)
7253#define IOCTL_LMR_ARE_FILE_OBJECTS_ON_SAME_SERVER CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM,60,METHOD_BUFFERED,FILE_ANY_ACCESS)
7255#define FSCTL_PIPE_ASSIGN_EVENT CTL_CODE(FILE_DEVICE_NAMED_PIPE, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
7256#define FSCTL_PIPE_DISCONNECT CTL_CODE(FILE_DEVICE_NAMED_PIPE, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
7257#define FSCTL_PIPE_LISTEN CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
7258#define FSCTL_PIPE_PEEK CTL_CODE(FILE_DEVICE_NAMED_PIPE, 3, METHOD_BUFFERED, FILE_READ_DATA)
7259#define FSCTL_PIPE_QUERY_EVENT CTL_CODE(FILE_DEVICE_NAMED_PIPE, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
7260#define FSCTL_PIPE_TRANSCEIVE CTL_CODE(FILE_DEVICE_NAMED_PIPE, 5, METHOD_NEITHER, FILE_READ_DATA | FILE_WRITE_DATA)
7261#define FSCTL_PIPE_WAIT CTL_CODE(FILE_DEVICE_NAMED_PIPE, 6, METHOD_BUFFERED, FILE_ANY_ACCESS)
7262#define FSCTL_PIPE_IMPERSONATE CTL_CODE(FILE_DEVICE_NAMED_PIPE, 7, METHOD_BUFFERED, FILE_ANY_ACCESS)
7263#define FSCTL_PIPE_SET_CLIENT_PROCESS CTL_CODE(FILE_DEVICE_NAMED_PIPE, 8, METHOD_BUFFERED, FILE_ANY_ACCESS)
7264#define FSCTL_PIPE_QUERY_CLIENT_PROCESS CTL_CODE(FILE_DEVICE_NAMED_PIPE, 9, METHOD_BUFFERED, FILE_ANY_ACCESS)
7265#define FSCTL_PIPE_GET_PIPE_ATTRIBUTE CTL_CODE(FILE_DEVICE_NAMED_PIPE, 10, METHOD_BUFFERED, FILE_ANY_ACCESS)
7266#define FSCTL_PIPE_SET_PIPE_ATTRIBUTE CTL_CODE(FILE_DEVICE_NAMED_PIPE, 11, METHOD_BUFFERED, FILE_ANY_ACCESS)
7267#define FSCTL_PIPE_GET_CONNECTION_ATTRIBUTE CTL_CODE(FILE_DEVICE_NAMED_PIPE, 12, METHOD_BUFFERED, FILE_ANY_ACCESS)
7268#define FSCTL_PIPE_SET_CONNECTION_ATTRIBUTE CTL_CODE(FILE_DEVICE_NAMED_PIPE, 13, METHOD_BUFFERED, FILE_ANY_ACCESS)
7269#define FSCTL_PIPE_GET_HANDLE_ATTRIBUTE CTL_CODE(FILE_DEVICE_NAMED_PIPE, 14, METHOD_BUFFERED, FILE_ANY_ACCESS)
7270#define FSCTL_PIPE_SET_HANDLE_ATTRIBUTE CTL_CODE(FILE_DEVICE_NAMED_PIPE, 15, METHOD_BUFFERED, FILE_ANY_ACCESS)
7271#define FSCTL_PIPE_FLUSH CTL_CODE(FILE_DEVICE_NAMED_PIPE, 16, METHOD_BUFFERED, FILE_WRITE_DATA)
7273#define FSCTL_PIPE_INTERNAL_READ CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2045, METHOD_BUFFERED, FILE_READ_DATA)
7274#define FSCTL_PIPE_INTERNAL_WRITE CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2046, METHOD_BUFFERED, FILE_WRITE_DATA)
7275#define FSCTL_PIPE_INTERNAL_TRANSCEIVE CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2047, METHOD_NEITHER, FILE_READ_DATA | FILE_WRITE_DATA)
7276#define FSCTL_PIPE_INTERNAL_READ_OVFLOW CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2048, METHOD_BUFFERED, FILE_READ_DATA)
7278#define FILE_PIPE_READ_DATA 0x00000000
7279#define FILE_PIPE_WRITE_SPACE 0x00000001
7295 ULONG NamedPipeState;
7296 ULONG ReadDataAvailable;
7297 ULONG NumberOfMessages;
7298 ULONG MessageLength;
7310#if !defined(BUILD_WOW6432)
7319#define FILE_PIPE_COMPUTER_NAME_LENGTH 15
7322#if !defined(BUILD_WOW6432)
7333#define FSCTL_MAILSLOT_PEEK CTL_CODE(FILE_DEVICE_MAILSLOT, 0, METHOD_NEITHER, FILE_READ_DATA)
7348 UCHAR TargetLinkTrackingInformationBuffer[1];
7351#define IO_OPEN_PAGING_FILE 0x0002
7352#define IO_OPEN_TARGET_DIRECTORY 0x0004
7353#define IO_STOP_ON_SYMLINK 0x0008
7354#define IO_MM_PAGING_FILE 0x0010
7358(
NTAPI DRIVER_FS_NOTIFICATION)(
7377 } AcquireForModifiedPageWriter;
7380 } ReleaseForModifiedPageWriter;
7384 } AcquireForSectionSynchronization;
7388 } NotifyStreamFileObject;
7398#define FS_FILTER_ACQUIRE_FOR_SECTION_SYNCHRONIZATION (UCHAR)-1
7399#define FS_FILTER_RELEASE_FOR_SECTION_SYNCHRONIZATION (UCHAR)-2
7400#define FS_FILTER_ACQUIRE_FOR_MOD_WRITE (UCHAR)-3
7401#define FS_FILTER_RELEASE_FOR_MOD_WRITE (UCHAR)-4
7402#define FS_FILTER_ACQUIRE_FOR_CC_FLUSH (UCHAR)-5
7403#define FS_FILTER_RELEASE_FOR_CC_FLUSH (UCHAR)-6
7450#define IO_FILE_OBJECT_NON_PAGED_POOL_CHARGE 64
7451#define IO_FILE_OBJECT_PAGED_POOL_CHARGE 1024
7453#if (NTDDI_VERSION >= NTDDI_VISTA)
7465#define D3COLD_SUPPORT_INTERFACE_VERSION 1
7509 return dstateMap[WakeDepth];
7528GET_D3COLD_CAPABILITY(
7545GET_D3COLD_LAST_TRANSITION_STATUS(
7569D3COLD_REQUEST_CORE_POWER_RAIL(
7579D3COLD_REQUEST_AUX_POWER(
7590D3COLD_REQUEST_PERST_DELAY(
struct _IO_STACK_LOCATION * PIO_STACK_LOCATION
struct _IO_STACK_LOCATION IO_STACK_LOCATION
static UCHAR NotificationContext
static const ENTRY Entries[]
ACPI_GPE_EVENT_INFO UINT32 GpeNumber
WCHAR FileNameBuffer[MAX_PATH]
INT FormatTime(TCHAR *, LPSYSTEMTIME)
PDEVICE_OBJECT PhysicalDeviceObject
static VOID NTAPI InterfaceReference(IN PVOID Context)
static VOID NTAPI InterfaceDereference(IN PVOID Context)
_In_ PFCB _In_ LONGLONG FileOffset
_In_ PFCB _In_ LONGLONG StartingOffset
_In_ PSCSI_REQUEST_BLOCK _In_opt_ PVOID _In_ ULONG _In_ BOOLEAN WriteToDevice
_In_ PVOID _In_ PCLASS_INIT_DATA InitializationData
_In_ PCHAR _In_ ULONG DeviceNumber
#define _Requires_lock_held_(lock)
#define _Releases_lock_(lock)
IN CINT OUT PVOID ObjectInformation
struct _IO_CSQ_IRP_CONTEXT * PIO_CSQ_IRP_CONTEXT
IO_CSQ_ACQUIRE_LOCK * PIO_CSQ_ACQUIRE_LOCK
IO_CSQ_RELEASE_LOCK * PIO_CSQ_RELEASE_LOCK
IO_CSQ_INSERT_IRP * PIO_CSQ_INSERT_IRP
_In_ PIRP _In_ PVOID InsertContext
IO_CSQ_PEEK_NEXT_IRP * PIO_CSQ_PEEK_NEXT_IRP
_In_opt_ PIRP _In_opt_ PVOID PeekContext
IO_CSQ_COMPLETE_CANCELED_IRP * PIO_CSQ_COMPLETE_CANCELED_IRP
struct _IO_CSQ_IRP_CONTEXT IO_CSQ_IRP_CONTEXT
IO_CSQ_INSERT_IRP_EX * PIO_CSQ_INSERT_IRP_EX
IO_CSQ_REMOVE_IRP * PIO_CSQ_REMOVE_IRP
BOOL WINAPI DeviceIoControl(IN HANDLE hDevice, IN DWORD dwIoControlCode, IN LPVOID lpInBuffer OPTIONAL, IN DWORD nInBufferSize OPTIONAL, OUT LPVOID lpOutBuffer OPTIONAL, IN DWORD nOutBufferSize OPTIONAL, OUT LPDWORD lpBytesReturned OPTIONAL, IN LPOVERLAPPED lpOverlapped OPTIONAL)
VOID(WINAPI * PINTERFACE_DEREFERENCE)(PVOID Context)
VOID(WINAPI * PINTERFACE_REFERENCE)(PVOID Context)
_In_ PIO_STACK_LOCATION _Inout_ PFILE_OBJECT _Inout_ PVCB _Outptr_result_maybenull_ PDCB _In_ PDCB _In_ PDIRENT _In_ ULONG _In_ ULONG _In_ PUNICODE_STRING _In_ PACCESS_MASK _In_ USHORT ShareAccess
NTSTATUS FreeClusters(PNTFS_VCB Vcb, PNTFS_ATTR_CONTEXT AttrContext, ULONG AttrOffset, PFILE_RECORD_HEADER FileRecord, ULONG ClustersToFree)
#define _Kernel_clear_do_init_(yesNo)
#define _IRQL_requires_same_
#define _IRQL_requires_min_(irql)
#define _IRQL_uses_cancel_
#define _IRQL_requires_max_(irql)
#define __drv_allocatesMem(kind)
#define _IRQL_requires_(irql)
#define _IRQL_always_function_min_(irql)
struct _DEVICE_OBJECT DEVICE_OBJECT
struct _IO_STATUS_BLOCK IO_STATUS_BLOCK
struct _DEVICE_OBJECT * PDEVICE_OBJECT
SECTION_OBJECT_POINTERS * PSECTION_OBJECT_POINTERS
struct _IO_STATUS_BLOCK * PIO_STATUS_BLOCK
struct _SECTION_OBJECT_POINTERS SECTION_OBJECT_POINTERS
IN PLARGE_INTEGER IN ULONG IN BOOLEAN IN ULONG LockKey
IN PLARGE_INTEGER IN PLARGE_INTEGER PEPROCESS ULONG BOOLEAN BOOLEAN ExclusiveLock
IN OUT PVCB IN PDEVICE_OBJECT IN PVPB Vpb
IN PLARGE_INTEGER IN ULONG IN BOOLEAN IN ULONG IN BOOLEAN CheckForReadOperation
IN PDCB IN POEM_STRING IN PUNICODE_STRING IN OUT POEM_STRING ShortName
IN PLARGE_INTEGER IN PLARGE_INTEGER PEPROCESS ULONG BOOLEAN FailImmediately
IN PDCB IN PCCB IN VBO IN OUT PULONG OUT PDIRENT OUT PBCB OUT PVBO ByteOffset
IN PFCB IN PFILE_OBJECT FileObject IN ULONG AllocationSize
IN PLARGE_INTEGER IN PLARGE_INTEGER PEPROCESS ProcessId
struct _FileName FileName
_Must_inspect_result_ _In_ PFILE_OBJECT _In_ ULONG _In_ FS_INFORMATION_CLASS FsInformationClass
_Must_inspect_result_ _In_opt_ PFLT_INSTANCE _Out_ PHANDLE _In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES _Out_ PIO_STATUS_BLOCK _In_opt_ PLARGE_INTEGER _In_ ULONG FileAttributes
_Must_inspect_result_ _In_opt_ PFLT_INSTANCE _Out_ PHANDLE FileHandle
_Must_inspect_result_ _In_ PFILE_OBJECT _In_opt_ HANDLE _In_ ULONG FileNameLength
_Inout_ PLIST_ENTRY _In_ PVOID _In_ PSTRING _In_ BOOLEAN _In_ BOOLEAN _In_ ULONG CompletionFilter
_In_opt_ PFILE_OBJECT _In_opt_ PETHREAD Thread
_Must_inspect_result_ _Out_ PHANDLE VolumeHandle
_Must_inspect_result_ _In_ PFILE_OBJECT _In_ SECURITY_INFORMATION SecurityInformation
_Out_ PFLT_FILESYSTEM_TYPE FileSystemType
_Inout_ PLIST_ENTRY _In_ PVOID FsContext
struct _FILE_FULL_EA_INFORMATION * PFILE_FULL_EA_INFORMATION
struct _FILE_BOTH_DIR_INFORMATION * PFILE_BOTH_DIR_INFORMATION
@ FilePositionInformation
@ FileMoveClusterInformation
@ FilePipeLocalInformation
@ FileEndOfFileInformation
@ FileIdGlobalTxDirectoryInformation
@ FileCompressionInformation
@ FilePipeRemoteInformation
@ FileTrackingInformation
@ FileSfioVolumeInformation
@ FileIoPriorityHintInformation
@ FileInternalInformation
@ FileAttributeTagInformation
@ FileDirectoryInformation
@ FileAlignmentInformation
@ FileReparsePointInformation
@ FileNormalizedNameInformation
@ FileObjectIdInformation
@ FileIdBothDirectoryInformation
@ FileAlternateNameInformation
@ FileIoCompletionNotificationInformation
@ FileMailslotSetInformation
@ FileValidDataLengthInformation
@ FileMailslotQueryInformation
@ FileAllocationInformation
@ FileCompletionInformation
@ FileFullDirectoryInformation
@ FileSfioReserveInformation
@ FileNetworkOpenInformation
@ FileDispositionInformation
@ FileShortNameInformation
@ FileNetworkPhysicalNameInformation
@ FileProcessIdsUsingFileInformation
@ FileBothDirectoryInformation
@ FileIoStatusBlockRangeInformation
@ FileHardLinkInformation
@ FileIdFullDirectoryInformation
enum _FSINFOCLASS * PFS_INFORMATION_CLASS
struct _FILE_GET_EA_INFORMATION FILE_GET_EA_INFORMATION
struct _FILE_NETWORK_OPEN_INFORMATION FILE_NETWORK_OPEN_INFORMATION
enum _FILE_INFORMATION_CLASS * PFILE_INFORMATION_CLASS
enum _FILE_INFORMATION_CLASS FILE_INFORMATION_CLASS
struct _FILE_NETWORK_OPEN_INFORMATION * PFILE_NETWORK_OPEN_INFORMATION
struct _FILE_LINK_INFORMATION FILE_LINK_INFORMATION
struct _FILE_LINK_INFORMATION * PFILE_LINK_INFORMATION
struct _FILE_FS_ATTRIBUTE_INFORMATION FILE_FS_ATTRIBUTE_INFORMATION
struct _FILE_NAMES_INFORMATION * PFILE_NAMES_INFORMATION
@ FileFsVolumeFlagsInformation
@ FileFsControlInformation
@ FileFsDeviceInformation
@ FileFsAttributeInformation
@ FileFsVolumeInformation
@ FileFsMaximumInformation
struct _FILE_GET_EA_INFORMATION * PFILE_GET_EA_INFORMATION
struct _FILE_INTERNAL_INFORMATION FILE_INTERNAL_INFORMATION
struct _FILE_FS_ATTRIBUTE_INFORMATION * PFILE_FS_ATTRIBUTE_INFORMATION
struct _FILE_FS_SIZE_INFORMATION FILE_FS_SIZE_INFORMATION
enum _FSINFOCLASS FS_INFORMATION_CLASS
struct _FILE_BOTH_DIR_INFORMATION FILE_BOTH_DIR_INFORMATION
struct _FILE_FULL_EA_INFORMATION FILE_FULL_EA_INFORMATION
struct _FILE_INTERNAL_INFORMATION * PFILE_INTERNAL_INFORMATION
struct _FILE_FS_FULL_SIZE_INFORMATION FILE_FS_FULL_SIZE_INFORMATION
struct _FILE_FS_FULL_SIZE_INFORMATION * PFILE_FS_FULL_SIZE_INFORMATION
struct _FILE_NAMES_INFORMATION FILE_NAMES_INFORMATION
struct _FILE_FS_SIZE_INFORMATION * PFILE_FS_SIZE_INFORMATION
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ ULONG _In_ ULONG _Outptr_ PMDL * MdlChain
_Must_inspect_result_ _In_ PDEVICE_OBJECT _In_ PSECTION_OBJECT_POINTERS SectionObjectPointer
_In_ PLIST_ENTRY _In_ PSTRING _In_ USHORT _In_opt_ PSTRING StreamName
union Alignment_ Alignment
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble * u
enum _INTERFACE_TYPE INTERFACE_TYPE
struct _FILE_IO_COMPLETION_NOTIFICATION_INFORMATION * PFILE_IO_COMPLETION_NOTIFICATION_INFORMATION
@ FileRemoteProtocolInformation
@ FileStandardLinkInformation
@ FileIsRemoteDeviceInformation
@ FileAttributeCacheInformation
@ FileNumaNodeInformation
struct _FILE_ATTRIBUTE_TAG_INFORMATION FILE_ATTRIBUTE_TAG_INFORMATION
struct _FILE_IO_COMPLETION_NOTIFICATION_INFORMATION FILE_IO_COMPLETION_NOTIFICATION_INFORMATION
struct _FILE_OBJECTID_INFORMATION FILE_OBJECTID_INFORMATION
struct _FILE_MODE_INFORMATION FILE_MODE_INFORMATION
struct _FILE_ALLOCATION_INFORMATION * PFILE_ALLOCATION_INFORMATION
struct _FILE_FULL_DIRECTORY_INFORMATION * PFILE_FULL_DIR_INFORMATION
struct _FILE_RENAME_INFORMATION * PFILE_RENAME_INFORMATION
struct _FILE_QUOTA_INFORMATION FILE_QUOTA_INFORMATION
struct _FILE_REPARSE_POINT_INFORMATION * PFILE_REPARSE_POINT_INFORMATION
struct _FILE_QUOTA_INFORMATION * PFILE_QUOTA_INFORMATION
struct _FILE_ALL_INFORMATION * PFILE_ALL_INFORMATION
struct _FILE_FULL_DIRECTORY_INFORMATION FILE_FULL_DIR_INFORMATION
struct _FILE_NAME_INFORMATION FILE_NAME_INFORMATION
struct _FILE_STREAM_INFORMATION * PFILE_STREAM_INFORMATION
struct _FILE_NAME_INFORMATION * PFILE_NAME_INFORMATION
struct _FILE_RENAME_INFORMATION FILE_RENAME_INFORMATION
struct _FILE_EA_INFORMATION * PFILE_EA_INFORMATION
struct _FILE_REPARSE_POINT_INFORMATION FILE_REPARSE_POINT_INFORMATION
struct _FILE_COMPLETION_INFORMATION * PFILE_COMPLETION_INFORMATION
struct _FILE_ID_GLOBAL_TX_DIR_INFORMATION FILE_ID_GLOBAL_TX_DIR_INFORMATION
struct _FILE_ALLOCATION_INFORMATION FILE_ALLOCATION_INFORMATION
struct _FILE_MAILSLOT_QUERY_INFORMATION FILE_MAILSLOT_QUERY_INFORMATION
struct _FILE_ATTRIBUTE_TAG_INFORMATION * PFILE_ATTRIBUTE_TAG_INFORMATION
struct _FILE_MAILSLOT_SET_INFORMATION * PFILE_MAILSLOT_SET_INFORMATION
struct _FILE_OBJECTID_INFORMATION * PFILE_OBJECTID_INFORMATION
struct _FILE_COMPLETION_INFORMATION FILE_COMPLETION_INFORMATION
struct _FILE_EA_INFORMATION FILE_EA_INFORMATION
struct _FILE_MAILSLOT_QUERY_INFORMATION * PFILE_MAILSLOT_QUERY_INFORMATION
struct _FILE_DIRECTORY_INFORMATION * PFILE_DIRECTORY_INFORMATION
struct _FILE_PIPE_INFORMATION * PFILE_PIPE_INFORMATION
struct _FILE_MODE_INFORMATION * PFILE_MODE_INFORMATION
struct _FILE_STREAM_INFORMATION FILE_STREAM_INFORMATION
struct _FILE_ID_GLOBAL_TX_DIR_INFORMATION * PFILE_ID_GLOBAL_TX_DIR_INFORMATION
struct _FILE_ALL_INFORMATION FILE_ALL_INFORMATION
struct _FILE_PIPE_LOCAL_INFORMATION * PFILE_PIPE_LOCAL_INFORMATION
struct _FILE_MAILSLOT_SET_INFORMATION FILE_MAILSLOT_SET_INFORMATION
struct _FILE_DIRECTORY_INFORMATION FILE_DIRECTORY_INFORMATION
ULONG IoWriteOperationCount
LARGE_INTEGER IoReadTransferCount
KSPIN_LOCK IoStatisticsLock
LARGE_INTEGER IoWriteTransferCount
ULONG IoOtherOperationCount
LARGE_INTEGER IoOtherTransferCount
ULONG IoReadOperationCount
#define FILE_STANDARD_INFORMATION
#define FILE_BASIC_INFORMATION
PVOID PVOID PWCHAR PVOID USHORT PULONG Reason
static HRESULT QueryInterface(REFIID, void **)
static OUT PIO_STATUS_BLOCK IoStatusBlock
static OUT PIO_STATUS_BLOCK OUT PVOID IN ULONG IN FILE_INFORMATION_CLASS FileInformationClass
DWORD SECURITY_INFORMATION
__in UCHAR __in POWER_STATE __in_opt PVOID __in PIO_STATUS_BLOCK IoStatus
_In_ PNDIS_STRING _In_opt_ NDIS_HANDLE DeviceContext
_In_ UINT _In_ UINT _In_ PNDIS_PACKET Source
_In_opt_ HANDLE _In_opt_ PIO_APC_ROUTINE _In_opt_ PVOID ApcContext
_In_ ACCESS_MASK _In_opt_ POBJECT_ATTRIBUTES _In_opt_ PLARGE_INTEGER MaximumSize
_In_ ULONG _In_ ACCESS_MASK _In_ PSID Sid
static BOOL StartDevice(IN HDEVINFO DeviceInfoSet, IN PSP_DEVINFO_DATA DevInfoData OPTIONAL, IN BOOL bEnable, IN DWORD HardwareProfile OPTIONAL, OUT BOOL *bNeedReboot OPTIONAL)
DRIVER_DISPATCH(nfs41_FsdDispatch)
#define _In_reads_bytes_(s)
#define _Struct_size_bytes_(s)
#define _Out_writes_bytes_opt_(s)
#define _Must_inspect_result_
#define _In_reads_opt_(s)
#define _Field_range_(l, h)
#define _Function_class_(n)
#define _Inout_updates_bytes_(s)
#define _Out_writes_bytes_(s)
#define _In_reads_bytes_opt_(s)
BOOL WINAPI CreatePipe(PHANDLE hReadPipe, PHANDLE hWritePipe, LPSECURITY_ATTRIBUTES lpPipeAttributes, DWORD nSize)
struct _FILE_FS_DEVICE_INFORMATION * PFILE_FS_DEVICE_INFORMATION
struct _FILE_FS_DEVICE_INFORMATION FILE_FS_DEVICE_INFORMATION
struct _FILE_POSITION_INFORMATION FILE_POSITION_INFORMATION
struct _FILE_END_OF_FILE_INFORMATION * PFILE_END_OF_FILE_INFORMATION
struct _FILE_BASIC_INFORMATION * PFILE_BASIC_INFORMATION
struct _FILE_DISPOSITION_INFORMATION FILE_DISPOSITION_INFORMATION
struct _FILE_ALIGNMENT_INFORMATION FILE_ALIGNMENT_INFORMATION
struct _FILE_ALIGNMENT_INFORMATION * PFILE_ALIGNMENT_INFORMATION
struct _FILE_DISPOSITION_INFORMATION * PFILE_DISPOSITION_INFORMATION
struct _FILE_POSITION_INFORMATION * PFILE_POSITION_INFORMATION
VOID(* PIO_APC_ROUTINE)(IN PVOID ApcContext, IN PIO_STATUS_BLOCK IoStatusBlock, IN ULONG Reserved)
struct _FILE_END_OF_FILE_INFORMATION FILE_END_OF_FILE_INFORMATION
_NullNull_terminated_ WCHAR * PZZWSTR
#define _ANONYMOUS_STRUCT
_In_ ULONG _In_ ULONG Offset
_In_ ULONG _In_ ULONG _In_ ULONG Length
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
#define FileFsDriverPathInformation
#define FileFsFullSizeInformation
#define FileFsObjectIdInformation
enum _POWER_STATE_TYPE POWER_STATE_TYPE
enum _DEVICE_POWER_STATE DEVICE_POWER_STATE
enum _SYSTEM_POWER_STATE SYSTEM_POWER_STATE
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
SECURITY_INTEGER TimeStamp
struct NTFS_VOLUME_DATA_BUFFER * PNTFS_VOLUME_DATA_BUFFER
struct _FAT_STATISTICS * PFAT_STATISTICS
struct STARTING_LCN_INPUT_BUFFER * PSTARTING_LCN_INPUT_BUFFER
struct VOLUME_BITMAP_BUFFER * PVOLUME_BITMAP_BUFFER
struct STARTING_VCN_INPUT_BUFFER * PSTARTING_VCN_INPUT_BUFFER
struct NTFS_EXTENDED_VOLUME_DATA * PNTFS_EXTENDED_VOLUME_DATA
struct MOVE_FILE_DATA * PMOVE_FILE_DATA
struct RETRIEVAL_POINTERS_BUFFER * PRETRIEVAL_POINTERS_BUFFER
struct _FILESYSTEM_STATISTICS * PFILESYSTEM_STATISTICS
struct _EXFAT_STATISTICS EXFAT_STATISTICS
struct _EXFAT_STATISTICS * PEXFAT_STATISTICS
struct _FILESYSTEM_STATISTICS FILESYSTEM_STATISTICS
struct NTFS_FILE_RECORD_OUTPUT_BUFFER * PNTFS_FILE_RECORD_OUTPUT_BUFFER
struct _NTFS_STATISTICS NTFS_STATISTICS
struct _FAT_STATISTICS FAT_STATISTICS
struct NTFS_FILE_RECORD_INPUT_BUFFER * PNTFS_FILE_RECORD_INPUT_BUFFER
struct _NTFS_STATISTICS * PNTFS_STATISTICS
struct _FILE_FS_VOLUME_INFORMATION * PFILE_FS_VOLUME_INFORMATION
struct _FILE_PIPE_WAIT_FOR_BUFFER * PFILE_PIPE_WAIT_FOR_BUFFER
struct _FILE_PIPE_WAIT_FOR_BUFFER FILE_PIPE_WAIT_FOR_BUFFER
struct _FILE_FS_VOLUME_INFORMATION FILE_FS_VOLUME_INFORMATION
struct _FILE_PIPE_PEEK_BUFFER FILE_PIPE_PEEK_BUFFER
struct _FILE_PIPE_PEEK_BUFFER * PFILE_PIPE_PEEK_BUFFER
struct _IO_RESOURCE_DESCRIPTOR * PIO_RESOURCE_DESCRIPTOR
enum _DMA_WIDTH * PDMA_WIDTH
enum _BUS_DATA_TYPE * PBUS_DATA_TYPE
enum _KINTERRUPT_MODE KINTERRUPT_MODE
enum _IRQ_DEVICE_POLICY IRQ_DEVICE_POLICY
enum _IRQ_PRIORITY * PIRQ_PRIORITY
@ SgiInternalConfiguration
@ ConfigurationSpaceUndefined
enum _IRQ_DEVICE_POLICY * PIRQ_DEVICE_POLICY
enum _BUS_DATA_TYPE BUS_DATA_TYPE
enum _DMA_SPEED DMA_SPEED
enum _IRQ_PRIORITY IRQ_PRIORITY
struct _INTERFACE * PINTERFACE
struct _IO_RESOURCE_DESCRIPTOR IO_RESOURCE_DESCRIPTOR
enum _DMA_WIDTH DMA_WIDTH
@ IrqPolicyOneCloseProcessor
@ IrqPolicyAllCloseProcessors
@ IrqPolicyAllProcessorsInMachine
@ IrqPolicySpreadMessagesAcrossAllProcessors
@ IrqPolicyMachineDefault
@ IrqPolicySpecifiedProcessors
enum _DMA_SPEED * PDMA_SPEED
@ RealModeIrqRoutingTable
enum _CONFIGURATION_TYPE CONFIGURATION_TYPE
enum _CONFIGURATION_TYPE * PCONFIGURATION_TYPE
$if(_WDMDDK_) typedef struct _KFLOATING_SAVE
$endif(_WDMDDK_) $if(_NTDDK_) typedef struct _NEON128
struct _FILE_STANDARD_INFORMATION * PFILE_STANDARD_INFORMATION
struct _FILE_ACCESS_INFORMATION FILE_ACCESS_INFORMATION
#define FileAccessInformation
struct _FILE_ACCESS_INFORMATION * PFILE_ACCESS_INFORMATION
#define FileStandardInformation
#define STATUS_MORE_PROCESSING_REQUIRED
struct _REPARSE_DATA_BUFFER REPARSE_DATA_BUFFER
struct _REPARSE_DATA_BUFFER * PREPARSE_DATA_BUFFER
const KSDEVICE_DESCRIPTOR DeviceDescriptor
PULONG MinorVersion OPTIONAL
base for all directory entries
PCI_AGP_CONTROL AgpControl
PCI_AGP_ISOCH_COMMAND IsochCommand
PCI_AGP_APERTURE_PAGE_SIZE AperturePageSize
PCI_AGP_ISOCH_STATUS IsochStatus
USHORT MaxMemoryReadByteCount
USHORT DataParityErrorRecoveryEnable
ULONG DesignedMaxCumulativeReadSize
PCI_CAPABILITIES_HEADER Header
USHORT EnableRelaxedOrdering
ULONG UnexpectedSplitCompletion
ULONG DesignedMaxOutstandingSplitTransactions
ULONG SplitCompletionDiscarded
ULONG ReceivedSplitCompletionErrorMessage
ULONG DesignedMaxMemoryReadByteCount
USHORT MaxOutstandingSplitTransactions
PINTERFACE_DEREFERENCE InterfaceDereference
PGPE_CLEAR_STATUS2 GpeClearStatus
PGPE_DISCONNECT_VECTOR2 GpeDisconnectVector
PGPE_CONNECT_VECTOR2 GpeConnectVector
PGPE_DISABLE_EVENT2 GpeDisableEvent
PUNREGISTER_FOR_DEVICE_NOTIFICATIONS2 UnregisterForDeviceNotifications
PREGISTER_FOR_DEVICE_NOTIFICATIONS2 RegisterForDeviceNotifications
PINTERFACE_REFERENCE InterfaceReference
PGPE_ENABLE_EVENT2 GpeEnableEvent
PUNREGISTER_FOR_DEVICE_NOTIFICATIONS UnregisterForDeviceNotifications
PINTERFACE_DEREFERENCE InterfaceDereference
PGPE_CLEAR_STATUS GpeClearStatus
PGPE_ENABLE_EVENT GpeEnableEvent
PREGISTER_FOR_DEVICE_NOTIFICATIONS RegisterForDeviceNotifications
PINTERFACE_REFERENCE InterfaceReference
PGPE_DISCONNECT_VECTOR GpeDisconnectVector
PGPE_DISABLE_EVENT GpeDisableEvent
PGPE_CONNECT_VECTOR GpeConnectVector
PINTERFACE_REFERENCE InterfaceReference
PGET_SET_DEVICE_DATA GetBusData
PINTERFACE_DEREFERENCE InterfaceDereference
PGET_SET_DEVICE_DATA SetBusData
_In_ PDEVICE_OBJECT ReserveDevice
_Inout_ PLIST_ENTRY ArbitrationList
PDEVICE_OBJECT OwningObject
PINTERFACE_REFERENCE InterfaceReference
PARBITER_HANDLER ArbiterHandler
PINTERFACE_DEREFERENCE InterfaceDereference
PIO_RESOURCE_DESCRIPTOR SelectedAlternative
PDEVICE_OBJECT PhysicalDeviceObject
PIO_RESOURCE_DESCRIPTOR Alternatives
ARBITER_REQUEST_SOURCE RequestSource
INTERFACE_TYPE InterfaceType
PCM_PARTIAL_RESOURCE_DESCRIPTOR Assignment
ARBITER_QUERY_CONFLICT_PARAMETERS QueryConflict
ARBITER_ADD_RESERVED_PARAMETERS AddReserved
ARBITER_TEST_ALLOCATION_PARAMETERS TestAllocation
ARBITER_BOOT_ALLOCATION_PARAMETERS BootAllocation
ARBITER_RETEST_ALLOCATION_PARAMETERS RetestAllocation
ARBITER_QUERY_ALLOCATED_RESOURCES_PARAMETERS QueryAllocatedResources
ARBITER_QUERY_ARBITRATE_PARAMETERS QueryArbitrate
_Out_ PCM_PARTIAL_RESOURCE_LIST * AllocatedResources
_In_ PLIST_ENTRY ArbitrationList
_Out_ PULONG ConflictCount
_In_ PDEVICE_OBJECT PhysicalDeviceObject
_In_ PIO_RESOURCE_DESCRIPTOR ConflictingResource
_Out_ PARBITER_CONFLICT_INFO * Conflicts
_In_ PCM_PARTIAL_RESOURCE_DESCRIPTOR AllocateFrom
_Inout_ PLIST_ENTRY ArbitrationList
_In_ ULONG AllocateFromCount
_In_ PCM_PARTIAL_RESOURCE_DESCRIPTOR AllocateFrom
_In_ ULONG AllocateFromCount
_Inout_ PLIST_ENTRY ArbitrationList
PGET_SET_DEVICE_DATA SetBusData
PINTERFACE_REFERENCE InterfaceReference
PTRANSLATE_BUS_ADDRESS TranslateBusAddress
PGET_SET_DEVICE_DATA GetBusData
PINTERFACE_DEREFERENCE InterfaceDereference
PGET_DMA_ADAPTER GetDmaAdapter
KDEVICE_QUEUE DeviceWaitQueue
PVOID ControllerExtension
PINTERFACE_REFERENCE InterfaceReference
PD3COLD_REQUEST_CORE_POWER_RAIL RequestCorePowerRail
PD3COLD_REQUEST_AUX_POWER RequestAuxPower
PINTERFACE_DEREFERENCE InterfaceDereference
PD3COLD_REQUEST_PERST_DELAY RequestPerstDelay
PGET_D3COLD_CAPABILITY GetBusDriverD3ColdSupport
PSET_D3COLD_SUPPORT SetD3ColdSupport
PINTERFACE_DEREFERENCE InterfaceDereference
PGET_D3COLD_CAPABILITY GetD3ColdCapability
PGET_D3COLD_LAST_TRANSITION_STATUS GetLastTransitionStatus
PINTERFACE_REFERENCE InterfaceReference
PGET_IDLE_WAKE_INFO GetIdleWakeInfo
BOOLEAN Dma64BitAddresses
PHYSICAL_ADDRESS DeviceAddress
ULONG DmaControllerInstance
INTERFACE_TYPE InterfaceType
BOOLEAN Dma32BitAddresses
PUNICODE_STRING SymbolicLinkName
PDEVICE_OBJECT DeviceObject
ULONG MinimumTransferUnit
ULONG ReadDmaCounterAvailable
struct _DMA_OPERATIONS * DmaOperations
PINITIALIZE_DMA_TRANSFER_CONTEXT InitializeDmaTransferContext
PFLUSH_ADAPTER_BUFFERS_EX FlushAdapterBuffersEx
PCANCEL_ADAPTER_CHANNEL CancelAdapterChannel
PGET_DMA_ADAPTER_INFO GetDmaAdapterInfo
PFREE_ADAPTER_CHANNEL FreeAdapterChannel
PMAP_TRANSFER_EX MapTransferEx
PGET_DMA_TRANSFER_INFO GetDmaTransferInfo
PALLOCATE_ADAPTER_CHANNEL_EX AllocateAdapterChannelEx
PALLOCATE_COMMON_BUFFER AllocateCommonBuffer
PCANCEL_MAPPED_TRANSFER CancelMappedTransfer
PGET_DMA_ALIGNMENT GetDmaAlignment
PPUT_SCATTER_GATHER_LIST PutScatterGatherList
PBUILD_SCATTER_GATHER_LIST BuildScatterGatherList
PFLUSH_DMA_BUFFER FlushDmaBuffer
PCONFIGURE_ADAPTER_CHANNEL ConfigureAdapterChannel
PFREE_COMMON_BUFFER FreeCommonBuffer
PFREE_COMMON_BUFFER_FROM_VECTOR FreeCommonBufferFromVector
PALLOCATE_COMMON_BUFFER_EX AllocateCommonBufferEx
PFREE_COMMON_BUFFER_VECTOR FreeCommonBufferVector
PREAD_DMA_COUNTER ReadDmaCounter
PALLOCATE_ADAPTER_CHANNEL AllocateAdapterChannel
PBUILD_MDL_FROM_SCATTER_GATHER_LIST BuildMdlFromScatterGatherList
PFLUSH_ADAPTER_BUFFERS FlushAdapterBuffers
PALLOCATE_COMMON_BUFFER_WITH_BOUNDS AllocateCommonBufferWithBounds
PJOIN_DMA_DOMAIN JoinDmaDomain
PALLOCATE_DOMAIN_COMMON_BUFFER AllocateDomainCommonBuffer
PCALCULATE_SCATTER_GATHER_LIST_SIZE CalculateScatterGatherList
PGET_SCATTER_GATHER_LIST_EX GetScatterGatherListEx
PGET_COMMON_BUFFER_FROM_VECTOR_BY_INDEX GetCommonBufferFromVectorByIndex
PGET_SCATTER_GATHER_LIST GetScatterGatherList
PFREE_MAP_REGISTERS FreeMapRegisters
PMAP_TRANSFER MapTransfer
PGET_DMA_DOMAIN GetDmaDomain
PLEAVE_DMA_DOMAIN LeaveDmaDomain
PFREE_ADAPTER_OBJECT FreeAdapterObject
PBUILD_SCATTER_GATHER_LIST_EX BuildScatterGatherListEx
PALLOCATE_COMMON_BUFFER_VECTOR AllocateCommonBufferVector
PPUT_DMA_ADAPTER PutDmaAdapter
ULONG ScatterGatherListSize
ULONG ScatterGatherElementCount
ULONG ScatterGatherElementCount
ULONG ScatterGatherListSize
PDRIVER_ADD_DEVICE AddDevice
struct _DRIVER_OBJECT * DriverObject
UNICODE_STRING ServiceKeyName
PUNICODE_STRING HardwareDatabase
struct _FAST_IO_DISPATCH * FastIoDispatch
PDRIVER_STARTIO DriverStartIo
PDRIVER_INITIALIZE DriverInit
PDRIVER_EXTENSION DriverExtension
PDEVICE_OBJECT DeviceObject
PDRIVER_UNLOAD DriverUnload
UNICODE_STRING DriverName
DMA_CONFIGURATION_BYTE1 ConfigurationByte1
DMA_CONFIGURATION_BYTE0 ConfigurationByte0
EISA_IRQ_DESCRIPTOR ConfigurationByte
EISA_MEMORY_TYPE ConfigurationByte
EISA_PORT_DESCRIPTOR Configuration
PFAST_IO_ACQUIRE_FOR_MOD_WRITE AcquireForModWrite
PFAST_IO_QUERY_STANDARD_INFO FastIoQueryStandardInfo
PFAST_IO_UNLOCK_ALL_BY_KEY FastIoUnlockAllByKey
PFAST_IO_RELEASE_FOR_CCFLUSH ReleaseForCcFlush
PFAST_IO_MDL_READ_COMPLETE MdlReadComplete
PFAST_IO_MDL_WRITE_COMPLETE_COMPRESSED MdlWriteCompleteCompressed
PFAST_IO_MDL_READ MdlRead
PFAST_IO_WRITE FastIoWrite
PFAST_IO_UNLOCK_ALL FastIoUnlockAll
PFAST_IO_QUERY_NETWORK_OPEN_INFO FastIoQueryNetworkOpenInfo
PFAST_IO_ACQUIRE_FOR_CCFLUSH AcquireForCcFlush
PFAST_IO_MDL_WRITE_COMPLETE MdlWriteComplete
ULONG SizeOfFastIoDispatch
PFAST_IO_DEVICE_CONTROL FastIoDeviceControl
PFAST_IO_ACQUIRE_FILE AcquireFileForNtCreateSection
PFAST_IO_QUERY_BASIC_INFO FastIoQueryBasicInfo
PFAST_IO_WRITE_COMPRESSED FastIoWriteCompressed
PFAST_IO_MDL_READ_COMPLETE_COMPRESSED MdlReadCompleteCompressed
PFAST_IO_UNLOCK_SINGLE FastIoUnlockSingle
PFAST_IO_READ_COMPRESSED FastIoReadCompressed
PFAST_IO_RELEASE_FILE ReleaseFileForNtCreateSection
PFAST_IO_PREPARE_MDL_WRITE PrepareMdlWrite
PFAST_IO_RELEASE_FOR_MOD_WRITE ReleaseForModWrite
PFAST_IO_CHECK_IF_POSSIBLE FastIoCheckIfPossible
PFAST_IO_QUERY_OPEN FastIoQueryOpen
PFAST_IO_DETACH_DEVICE FastIoDetachDevice
USHORT ClientComputerNameLength
PFS_FILTER_COMPLETION_CALLBACK PostAcquireForModifiedPageWriter
PFS_FILTER_CALLBACK PreAcquireForCcFlush
PFS_FILTER_COMPLETION_CALLBACK PostAcquireForCcFlush
ULONG SizeOfFsFilterCallbacks
PFS_FILTER_COMPLETION_CALLBACK PostReleaseForCcFlush
PFS_FILTER_CALLBACK PreReleaseForModifiedPageWriter
PFS_FILTER_COMPLETION_CALLBACK PostAcquireForSectionSynchronization
PFS_FILTER_CALLBACK PreAcquireForSectionSynchronization
PFS_FILTER_CALLBACK PreReleaseForCcFlush
PFS_FILTER_CALLBACK PreAcquireForModifiedPageWriter
PFS_FILTER_CALLBACK PreReleaseForSectionSynchronization
PFS_FILTER_COMPLETION_CALLBACK PostReleaseForSectionSynchronization
PFS_FILTER_COMPLETION_CALLBACK PostReleaseForModifiedPageWriter
FS_FILTER_PARAMETERS Parameters
struct _DEVICE_OBJECT * DeviceObject
ULONG SizeOfFsFilterCallbackData
struct _FILE_OBJECT * FileObject
PINTERFACE_DEREFERENCE InterfaceDereference
PGET_INTERRUPT_ROUTING GetInterruptRouting
PUPDATE_INTERRUPT_LINE UpdateInterruptLine
PINTERFACE_REFERENCE InterfaceReference
PSET_INTERRUPT_ROUTING_TOKEN SetInterruptRoutingToken
_In_ PVOID ServiceContext
_In_ PDEVICE_OBJECT PhysicalDeviceObject
_In_ BOOLEAN FloatingSave
_In_ KINTERRUPT_MODE InterruptMode
_In_ KIRQL SynchronizeIrql
_In_ PKSERVICE_ROUTINE ServiceRoutine
_In_opt_ PKSPIN_LOCK SpinLock
_In_ KAFFINITY ProcessorEnableMask
_Out_ PKINTERRUPT * InterruptObject
_In_ BOOLEAN FloatingSave
_Out_ PKINTERRUPT * InterruptObject
_In_opt_ PKSPIN_LOCK SpinLock
_In_opt_ KIRQL SynchronizeIrql
_In_ PDEVICE_OBJECT PhysicalDeviceObject
_In_ PVOID ServiceContext
_In_ PKSERVICE_ROUTINE ServiceRoutine
_In_ PVOID ServiceContext
_In_opt_ PKSPIN_LOCK SpinLock
_In_ PKMESSAGE_SERVICE_ROUTINE MessageServiceRoutine
_In_opt_ KIRQL SynchronizeIrql
_In_ PDEVICE_OBJECT PhysicalDeviceObject
_In_ BOOLEAN FloatingSave
_Out_ PIO_INTERRUPT_MESSAGE_INFO * InterruptMessageTable
_In_opt_ PKSERVICE_ROUTINE FallBackServiceRoutine
_Out_ PKINTERRUPT * InterruptObject
IO_CONNECT_INTERRUPT_MESSAGE_BASED_PARAMETERS MessageBased
IO_CONNECT_INTERRUPT_FULLY_SPECIFIED_PARAMETERS FullySpecified
IO_CONNECT_INTERRUPT_LINE_BASED_PARAMETERS LineBased
_In_ PIO_INTERRUPT_MESSAGE_INFO InterruptMessageTable
_In_ PKINTERRUPT InterruptObject
PTXN_PARAMETER_BLOCK TxnParameters
struct _ECP_LIST * ExtraCreateParameter
IO_ERROR_LOG_PACKET EntryData
LARGE_INTEGER DeviceOffset
PKINTERRUPT InterruptObject
PHYSICAL_ADDRESS MessageAddress
KAFFINITY TargetProcessorSet
KINTERRUPT_POLARITY Polarity
IO_PRIORITY_HINT IoPriority
volatile LONG LowMemoryCount
PIO_REMOVE_LOCK_TRACKING_BLOCK Blocks
IO_REMOVE_LOCK_COMMON_BLOCK Common
PIO_INTERRUPT_MESSAGE_INFO InterruptMessageTable
PKINTERRUPT InterruptObject
INTERFACE_TYPE InterfaceType
PACCESS_STATE AccessState
PSECURITY_QUALITY_OF_SERVICE SecurityQos
ACCESS_MASK DesiredAccess
ULONG POINTER_ALIGNMENT FileIndex
DEVICE_TEXT_TYPE DeviceTextType
PSECURITY_DESCRIPTOR SecurityDescriptor
ULONG POINTER_ALIGNMENT IoControlCode
USHORT POINTER_ALIGNMENT FileAttributes
struct _MAILSLOT_CREATE_PARAMETERS * Parameters
PCM_RESOURCE_LIST AllocatedResourcesTranslated
POWER_ACTION POINTER_ALIGNMENT ShutdownType
ULONG POINTER_ALIGNMENT InputBufferLength
PIO_SECURITY_CONTEXT SecurityContext
ULONG POINTER_ALIGNMENT EaIndex
PIO_RESOURCE_REQUIREMENTS_LIST IoResourceRequirementList
USHORT POINTER_ALIGNMENT Reserved
LCID POINTER_ALIGNMENT LocaleId
DEVICE_USAGE_NOTIFICATION_TYPE POINTER_ALIGNMENT Type
ULONG POINTER_ALIGNMENT FsControlCode
FS_INFORMATION_CLASS POINTER_ALIGNMENT FsInformationClass
PDEVICE_OBJECT DeviceObject
PCM_RESOURCE_LIST AllocatedResources
FILE_INFORMATION_CLASS FileInformationClass
POWER_STATE_TYPE POINTER_ALIGNMENT Type
SECURITY_INFORMATION SecurityInformation
SYSTEM_POWER_STATE_CONTEXT SystemPowerStateContext
ULONG POINTER_ALIGNMENT EaLength
struct _IO_SECURITY_CONTEXT * SecurityContext
struct _NAMED_PIPE_CREATE_PARAMETERS * Parameters
SYSTEM_POWER_STATE PowerState
struct _SCSI_REQUEST_BLOCK * Srb
ULONG POINTER_ALIGNMENT CompletionFilter
PIO_COMPLETION_ROUTINE CompletionRoutine
FILE_INFORMATION_CLASS POINTER_ALIGNMENT FileInformationClass
struct _FILE_GET_QUOTA_INFORMATION * SidList
PDEVICE_CAPABILITIES Capabilities
ULONG POINTER_ALIGNMENT Length
PVOID InterfaceSpecificData
ULONG POINTER_ALIGNMENT Key
POWER_STATE POINTER_ALIGNMENT State
DIRECTORY_NOTIFY_INFORMATION_CLASS POINTER_ALIGNMENT DirectoryNotifyInformationClass
CONST GUID * InterfaceType
PPOWER_SEQUENCE PowerSequence
DEVICE_RELATION_TYPE Type
PINTERFACE_DEREFERENCE InterfaceDereference
PLEGACY_DEVICE_DETECTION_HANDLER LegacyDeviceDetection
PINTERFACE_REFERENCE InterfaceReference
PciReadWriteConfig WriteConfig
PciReadWriteConfig ReadConfig
PCI_SLOT_NUMBER ParentSlot
ULONG SplitCompletionOverrun
ULONG ErrorUpperAttributes
ULONG SplitRequestDelayed
ULONG Device533MHzCapable
ULONG AdditionalUncorrectableError
USHORT SplitCompletionOverrun
USHORT DownstreamSplitTransactionCapacity
USHORT SplitCompletionDiscarded
PCI_CAPABILITIES_HEADER Header
ULONG SplitCompletionDiscarded
USHORT UpstreamSplitTransactionLimit
ULONG SelectSecondaryRegisters
ULONG Device133MHzCapable
ULONG ErrorPresentInOtherBank
ULONG ControlUpdateEnable
ULONG UnexpectedSplitCompletion
USHORT UnexpectedSplitCompletion
ULONG AdditionalCorrectableError
ULONG Device266MHzCapable
USHORT SplitRequestDelayed
ULONG DisableSingleBitCorrection
USHORT DownstreamSplitTransactionLimit
USHORT UpstreamSplitTransactionCapacity
ULONG RequestQueueDepthMaximum
PCI_CAPABILITIES_HEADER Header
PCI_LINE_TO_PIN LineToPin
PCI_PIN_TO_LINE PinToLine
PINTERFACE_DEREFERENCE InterfaceDereference
PCI_ROOT_BUS_CAPABILITY RootBusCapability
PCI_EXPRESS_WAKE_CONTROL ExpressWakeControl
PCI_READ_WRITE_CONFIG ReadConfig
PINTERFACE_REFERENCE InterfaceReference
PCI_READ_WRITE_CONFIG WriteConfig
PCARDBUSDELETE DeleteCardBus
PCARDBUSPCIDISPATCH DispatchPnp
PDRIVER_OBJECT DriverObject
PINTERFACE_REFERENCE InterfaceReference
PINTERFACE_DEREFERENCE InterfaceDereference
PCI_COMMON_HEADER DUMMYSTRUCTNAME
PINTERFACE_REFERENCE InterfaceReference
PINTERFACE_DEREFERENCE InterfaceDereference
PPCI_IS_DEVICE_PRESENT_EX IsDevicePresentEx
PPCI_IS_DEVICE_PRESENT IsDevicePresent
PCI_EXPRESS_AER_CAPABILITIES CapabilitiesAndControl
PCI_EXPRESS_UNCORRECTABLE_ERROR_SEVERITY UncorrectableErrorSeverity
PCI_EXPRESS_CORRECTABLE_ERROR_STATUS CorrectableErrorStatus
PCI_EXPRESS_ENHANCED_CAPABILITY_HEADER Header
PCI_EXPRESS_CORRECTABLE_ERROR_MASK CorrectableErrorMask
PCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_SEVERITY SecUncorrectableErrorSeverity
PCI_EXPRESS_UNCORRECTABLE_ERROR_MASK UncorrectableErrorMask
PCI_EXPRESS_UNCORRECTABLE_ERROR_STATUS UncorrectableErrorStatus
PCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_STATUS SecUncorrectableErrorStatus
PCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_MASK SecUncorrectableErrorMask
PCI_EXPRESS_SEC_AER_CAPABILITIES SecCapabilitiesAndControl
PCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_SEVERITY SecUncorrectableErrorSeverity
PCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_MASK SecUncorrectableErrorMask
PCI_EXPRESS_UNCORRECTABLE_ERROR_SEVERITY UncorrectableErrorSeverity
PCI_EXPRESS_CORRECTABLE_ERROR_MASK CorrectableErrorMask
PCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_STATUS SecUncorrectableErrorStatus
PCI_EXPRESS_CORRECTABLE_ERROR_STATUS CorrectableErrorStatus
PCI_EXPRESS_SEC_AER_CAPABILITIES SecCapabilitiesAndControl
PCI_EXPRESS_UNCORRECTABLE_ERROR_STATUS UncorrectableErrorStatus
PCI_EXPRESS_AER_CAPABILITIES CapabilitiesAndControl
PCI_EXPRESS_UNCORRECTABLE_ERROR_MASK UncorrectableErrorMask
PCI_EXPRESS_ENHANCED_CAPABILITY_HEADER Header
PCI_EXPRESS_SLOT_STATUS_REGISTER SlotStatus
PCI_EXPRESS_LINK_CONTROL_REGISTER LinkControl
PCI_EXPRESS_DEVICE_STATUS_REGISTER DeviceStatus
PCI_CAPABILITIES_HEADER Header
PCI_EXPRESS_ROOT_CAPABILITIES_REGISTER RootCapabilities
PCI_EXPRESS_DEVICE_CAPABILITIES_REGISTER DeviceCapabilities
PCI_EXPRESS_ROOT_CONTROL_REGISTER RootControl
PCI_EXPRESS_LINK_CAPABILITIES_REGISTER LinkCapabilities
PCI_EXPRESS_ROOT_STATUS_REGISTER RootStatus
PCI_EXPRESS_CAPABILITIES_REGISTER ExpressCapabilities
PCI_EXPRESS_SLOT_CONTROL_REGISTER SlotControl
PCI_EXPRESS_LINK_STATUS_REGISTER LinkStatus
PCI_EXPRESS_SLOT_CAPABILITIES_REGISTER SlotCapabilities
PCI_EXPRESS_DEVICE_CONTROL_REGISTER DeviceControl
PPCI_EXPRESS_EXIT_LINK_QUIESCENT_MODE PciExpressExitLinkQuiescentMode
PPCI_EXPRESS_ENTER_LINK_QUIESCENT_MODE PciExpressEnterLinkQuiescentMode
PINTERFACE_DEREFERENCE InterfaceDereference
PINTERFACE_REFERENCE InterfaceReference
PCI_EXPRESS_ROOT_ERROR_STATUS RootErrorStatus
PCI_EXPRESS_CORRECTABLE_ERROR_MASK CorrectableErrorMask
PCI_EXPRESS_ENHANCED_CAPABILITY_HEADER Header
PCI_EXPRESS_CORRECTABLE_ERROR_STATUS CorrectableErrorStatus
PCI_EXPRESS_UNCORRECTABLE_ERROR_STATUS UncorrectableErrorStatus
PCI_EXPRESS_UNCORRECTABLE_ERROR_MASK UncorrectableErrorMask
PCI_EXPRESS_ERROR_SOURCE_ID ErrorSourceId
PCI_EXPRESS_ROOT_ERROR_COMMAND RootErrorCommand
PCI_EXPRESS_UNCORRECTABLE_ERROR_SEVERITY UncorrectableErrorSeverity
PCI_EXPRESS_AER_CAPABILITIES CapabilitiesAndControl
PPCI_EXPRESS_ROOT_PORT_READ_CONFIG_SPACE ReadConfigSpace
PINTERFACE_DEREFERENCE InterfaceDereference
PPCI_EXPRESS_ROOT_PORT_WRITE_CONFIG_SPACE WriteConfigSpace
PINTERFACE_REFERENCE InterfaceReference
PCI_EXPRESS_ENHANCED_CAPABILITY_HEADER Header
PCI_EXPRESS_SRIOV_MIGRATION_STATE_ARRAY VFMigrationStateArrayOffset
PCI_EXPRESS_SRIOV_CAPS SRIOVCapabilities
PCI_EXPRESS_SRIOV_STATUS SRIOVStatus
PCI_EXPRESS_ENHANCED_CAPABILITY_HEADER Header
PCI_EXPRESS_SRIOV_CONTROL SRIOVControl
UCHAR FunctionDependencyLink
PPCI_MSIX_GET_TABLE_SIZE GetTableSize
PPCI_MSIX_MASKUNMASK_ENTRY UnmaskTableEntry
PPCI_MSIX_SET_ENTRY SetTableEntry
PPCI_MSIX_MASKUNMASK_ENTRY MaskTableEntry
PINTERFACE_DEREFERENCE InterfaceDereference
PINTERFACE_REFERENCE InterfaceReference
PPCI_MSIX_GET_ENTRY GetTableEntry
UCHAR D3HotSupportsStopClock
UCHAR BusPowerClockControlEnabled
UCHAR DeviceSpecificInitialization
PPME_GET_INFORMATION GetPmeInformation
PPME_CLEAR_PME_STATUS ClearPmeStatus
PINTERFACE_DEREFERENCE InterfaceDereference
PINTERFACE_REFERENCE InterfaceReference
PPME_SET_PME_ENABLE UpdateEnable
PCI_PMCSR_BSE BridgeSupport
PCI_CAPABILITIES_HEADER Header
ULONG CurrentSpeedAndMode
BOOLEAN BusCapabilitiesFound
ULONG SupportedSpeedsAndModes
PCI_ROOT_BUS_OSC_SUPPORT_FIELD OscFeatureSupport
PCI_ROOT_BUS_OSC_CONTROL_FIELD OscControlRequest
PCI_HARDWARE_INTERFACE SecondaryInterface
PCI_BUS_WIDTH SecondaryBusWidth
PCI_ROOT_BUS_OSC_CONTROL_FIELD OscControlGranted
BOOLEAN DeviceIDMessagingCapable
ULONG ExpressNativeHotPlug
ULONG ExpressAdvancedErrorReporting
ULONG ExpressCapabilityStructure
ULONG ExtendedConfigOpRegions
ULONG ClockPowerManagement
ULONG ActiveStatePowerManagement
ULONG MessageSignaledInterrupts
ULONG WindowsHardwareErrorArchitecture
PCI_CAPABILITIES_HEADER Header
PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR_TYPE Type
ULONG ExtendedRegisterAddress
PGET_LOCATION_STRING GetLocationString
PINTERFACE_REFERENCE InterfaceReference
PINTERFACE_DEREFERENCE InterfaceDereference
PREPLACE_MIRROR_PHYSICAL_MEMORY MirrorPhysicalMemory
PREPLACE_INITIATE_HARDWARE_MIRROR InitiateHardwareMirror
PREPLACE_SET_PROCESSOR_ID SetProcessorId
PREPLACE_ENABLE_DISABLE_HARDWARE_QUIESCE EnableDisableHardwareQuiesce
PREPLACE_MIRROR_PLATFORM_MEMORY MirrorPlatformMemory
PREPLACE_BEGIN BeginReplace
PREPLACE_GET_MEMORY_DESTINATION GetMemoryDestination
PPNP_REPLACE_PROCESSOR_LIST SpareProcessors
PREPLACE_MAP_MEMORY MapMemory
PPNP_REPLACE_MEMORY_LIST TargetMemory
PPNP_REPLACE_PROCESSOR_LIST TargetProcessors
PPNP_REPLACE_MEMORY_LIST SpareMemory
_Field_range_(<=, MAXIMUM_GROUPS) ULONG GroupCount
PREENUMERATE_SELF SurpriseRemoveAndReenumerateSelf
PINTERFACE_REFERENCE InterfaceReference
PINTERFACE_DEREFERENCE InterfaceDereference
struct _FILE_OBJECT * FileObject
struct _FILE_OBJECT * FileObject
PINTERFACE_REFERENCE InterfaceReference
PINTERFACE_DEREFERENCE InterfaceDereference
PTRANSLATE_RESOURCE_REQUIREMENTS_HANDLER TranslateResourceRequirements
PTRANSLATE_RESOURCE_HANDLER TranslateResources
WCHAR VolumeLabel[MAXIMUM_VOLUME_LABEL_LENGTH/sizeof(WCHAR)]
struct _DEVICE_OBJECT * DeviceObject
struct _DEVICE_OBJECT * RealDevice
ULONG NumberOfMapRegisters
KDEVICE_QUEUE_ENTRY WaitQueueEntry
PDRIVER_CONTROL DeviceRoutine
FS_FILTER_SECTION_SYNC_TYPE SyncType
BOOLEAN POINTER_ALIGNMENT SafeToRecurse
PLARGE_INTEGER EndingOffset
FS_FILTER_STREAM_FO_NOTIFICATION_TYPE NotificationType
PERESOURCE ResourceToRelease
PERESOURCE * ResourceToRelease
ULONG ECRCGenerationEnable
ULONG ECRCGenerationCapable
USHORT InterruptMessageNumber
ULONG AdvisoryNonFatalError
ULONG AdvisoryNonFatalError
ULONG PhantomFunctionsSupported
ULONG RoleBasedErrorReporting
ULONG L1AcceptableLatency
ULONG L0sAcceptableLatency
ULONG CapturedSlotPowerLimit
ULONG CapturedSlotPowerLimitScale
ULONG MaxPayloadSizeSupported
ULONG ExtendedTagSupported
USHORT EnableRelaxedOrder
USHORT NonFatalErrorEnable
USHORT PhantomFunctionsEnable
USHORT BridgeConfigRetryEnable
USHORT UnsupportedRequestErrorEnable
USHORT MaxReadRequestSize
USHORT CorrectableErrorEnable
USHORT TransactionsPending
USHORT UnsupportedRequestDetected
USHORT CorrectableErrorDetected
USHORT FatalErrorDetected
USHORT NonFatalErrorDetected
USHORT CorrectableSourceIdFun
USHORT CorrectableSourceIdDev
USHORT UncorrectableSourceIdDev
USHORT CorrectableSourceIdBus
USHORT UncorrectableSourceIdFun
USHORT UncorrectableSourceIdBus
ULONG ActiveStatePMSupport
ULONG SurpriseDownErrorReportingCapable
ULONG DataLinkLayerActiveReportingCapable
ULONG ClockPowerManagement
USHORT EnableClockPowerManagement
USHORT ActiveStatePMControl
USHORT ReadCompletionBoundary
USHORT DataLinkLayerActive
USHORT CRSSoftwareVisibility
USHORT CRSSoftwareVisibilityEnable
USHORT NonFatalSerrEnable
USHORT PMEInterruptEnable
USHORT CorrectableSerrEnable
ULONG FatalErrorReportingEnable
ULONG NonFatalErrorReportingEnable
ULONG CorrectableErrorReportingEnable
ULONG CorrectableErrorReceived
ULONG UncorrectableErrorReceived
ULONG MultipleCorrectableErrorsReceived
ULONG MultipleUncorrectableErrorsReceived
ULONG FirstUncorrectableFatal
ULONG AdvancedErrorInterruptMessageNumber
ULONG FatalErrorMessagesReceived
ULONG NonFatalErrorMessagesReceived
ULONG SecondaryUncorrectableFirstErrorPtr
ULONG UncorrectableDataError
ULONG UncorrectableAttributeError
ULONG TargetAbortOnSplitCompletion
ULONG UncorrectableSplitCompletion
ULONG MasterAbortOnSplitCompletion
ULONG ReceivedMasterAbort
ULONG UnexpectedSplitCompletionError
ULONG InternalBridgeError
ULONG ReceivedTargetAbort
ULONG UncorrectableAddressError
ULONG DelayedTransactionDiscardTimerExpired
ULONG UncorrectableDataError
ULONG TargetAbortOnSplitCompletion
ULONG ReceivedMasterAbort
ULONG InternalBridgeError
ULONG UncorrectableAttributeError
ULONG UncorrectableSplitCompletion
ULONG UncorrectableAddressError
ULONG MasterAbortOnSplitCompletion
ULONG UnexpectedSplitCompletionError
ULONG DelayedTransactionDiscardTimerExpired
ULONG ReceivedTargetAbort
ULONG UncorrectableAddressError
ULONG ReceivedTargetAbort
ULONG TargetAbortOnSplitCompletion
ULONG ReceivedMasterAbort
ULONG UnexpectedSplitCompletionError
ULONG UncorrectableDataError
ULONG DelayedTransactionDiscardTimerExpired
ULONG MasterAbortOnSplitCompletion
ULONG InternalBridgeError
ULONG UncorrectableSplitCompletion
ULONG UncorrectableAttributeError
ULONG AttentionIndicatorPresent
ULONG SlotPowerLimitScale
ULONG PowerControllerPresent
ULONG PowerIndicatorPresent
ULONG AttentionButtonPresent
ULONG NoCommandCompletedSupport
ULONG ElectromechanicalLockPresent
USHORT PowerIndicatorControl
USHORT ElectromechanicalLockControl
USHORT HotPlugInterruptEnable
USHORT PresenceDetectEnable
USHORT CommandCompletedEnable
USHORT PowerControllerControl
USHORT AttentionButtonEnable
USHORT DataLinkStateChangeEnable
USHORT PowerFaultDetectEnable
USHORT AttentionIndicatorControl
USHORT PowerFaultDetected
USHORT DataLinkStateChanged
USHORT AttentionButtonPressed
USHORT ElectromechanicalLockEngaged
USHORT PresenceDetectChanged
USHORT PresenceDetectState
ULONG VFMigrationInterruptNumber
USHORT ARICapableHierarchy
USHORT VFMemorySpaceEnable
USHORT VFMigrationInterruptEnable
ULONG VFMigrationStateBIR
ULONG VFMigrationStateOffset
ULONG FlowControlProtocolError
ULONG UnexpectedCompletion
ULONG UnsupportedRequestError
ULONG DataLinkProtocolError
ULONG UnexpectedCompletion
ULONG UnsupportedRequestError
ULONG DataLinkProtocolError
ULONG FlowControlProtocolError
ULONG UnsupportedRequestError
ULONG DataLinkProtocolError
ULONG FlowControlProtocolError
ULONG UnexpectedCompletion
static BOOL Write(PBYTE Address, PBYTE Data, SIZE_T Size)
NTSTATUS MountVolume(_Inout_ PVOLINFO Volume, _In_opt_ UCHAR MbrPartitionType)
_In_ WDFCOLLECTION _In_ ULONG Index
_In_ PDEVICE_OBJECT DeviceObject
_In_ UCHAR _In_ UCHAR _In_ ULONG _In_ WDFCONTEXT DriverContext
_In_ WDFDEVICE _Out_ PWDF_DEVICE_STATE DeviceState
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID Tag
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
_In_ WDFDEVICE _In_ ULONG AlignmentRequirement
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
_Must_inspect_result_ _In_ WDFDEVICE _In_ PIRP _In_ WDFQUEUE Queue
_In_ PWDFDEVICE_INIT _In_ PWDF_REMOVE_LOCK_OPTIONS Options
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG BufferLength
_In_ WDFDEVICE _In_ PPNP_BUS_INFORMATION BusInformation
_Must_inspect_result_ _In_ WDFDMATRANSACTION _In_ PFN_WDF_PROGRAM_DMA _In_ WDF_DMA_DIRECTION _In_ PMDL _In_ PVOID VirtualAddress
_In_ WDFDEVICE _In_ PVOID _In_opt_ PMDL Mdl
_In_ WDFDMATRANSACTION _In_opt_ PFN_WDF_DMA_TRANSACTION_DMA_TRANSFER_COMPLETE DmaCompletionRoutine
WDF_EXTERN_C_START typedef _In_ WDFDEVICE _In_ WDFCONTEXT _In_ WDF_DMA_DIRECTION Direction
_Must_inspect_result_ _In_ PWDF_DPC_CONFIG _In_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFDPC * Dpc
_In_ WDFDPC _In_ BOOLEAN Wait
_Must_inspect_result_ _In_ PDRIVER_OBJECT _In_ PCUNICODE_STRING RegistryPath
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE Interface
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE _In_ USHORT _In_ USHORT Version
_In_ WDFINTERRUPT _In_ WDF_INTERRUPT_POLICY _In_ WDF_INTERRUPT_PRIORITY Priority
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_INTERRUPT_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFINTERRUPT * Interrupt
_In_ WDFREQUEST _In_ size_t _In_ size_t _In_ ULONG IoControlCode
_Must_inspect_result_ _In_ WDFQUEUE _In_opt_ WDFREQUEST _In_opt_ WDFFILEOBJECT _Inout_opt_ PWDF_REQUEST_PARAMETERS Parameters
_In_ WDFREQUEST _In_ size_t OutputBufferLength
_In_ WDFREQUEST _In_ size_t _In_ size_t InputBufferLength
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR OutputBuffer
_In_ WDFIOTARGET _In_ _Strict_type_match_ WDF_IO_TARGET_SENT_IO_ACTION Action
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG DeviceOffset
_Must_inspect_result_ _In_ WDFIOTARGET _In_ WDFREQUEST _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET OutputBufferOffset
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR InputBuffer
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ _Strict_type_match_ POOL_TYPE _In_opt_ ULONG _In_ _Out_ WDFMEMORY * Memory
WDF_EXTERN_C_START typedef _Must_inspect_result_ _In_ WDFDRIVER _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ PDEVICE_OBJECT _In_opt_ PDEVICE_OBJECT _In_opt_ PDEVICE_OBJECT Pdo
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ PCUNICODE_STRING DeviceID
_In_ WDFREQUEST _In_opt_ PFN_WDF_REQUEST_COMPLETION_ROUTINE _In_opt_ __drv_aliasesMem WDFCONTEXT CompletionContext
_In_ WDFREQUEST _In_ NTSTATUS _In_ ULONG_PTR Information
_Must_inspect_result_ _In_ WDFCMRESLIST List
_In_ WDFIORESREQLIST _In_ ULONG SlotNumber
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFWAITLOCK * Lock
#define POINTER_ALIGNMENT
_Reserved_ PVOID Reserved
#define DeviceCapabilities
struct _FILE_NOTIFY_INFORMATION FILE_NOTIFY_INFORMATION
struct _FILE_NOTIFY_INFORMATION * PFILE_NOTIFY_INFORMATION
_In_ USHORT _In_ ULONG _In_ PSOCKADDR _In_ PSOCKADDR _Reserved_ ULONG _In_opt_ PVOID _In_opt_ const WSK_CLIENT_CONNECTION_DISPATCH _In_opt_ PEPROCESS _In_opt_ PETHREAD _In_opt_ PSECURITY_DESCRIPTOR SecurityDescriptor
_Must_inspect_result_ _In_ ULONG Flags
_In_opt_ PALLOCATE_FUNCTION Allocate
_Out_ PULONG NumberOfMapRegisters
_In_opt_ PUNICODE_STRING _In_ PDRIVER_OBJECT _In_ PDEVICE_OBJECT _In_ INTERFACE_TYPE _In_ ULONG BusNumber
_In_opt_ PUNICODE_STRING _In_ PDRIVER_OBJECT _In_ PDEVICE_OBJECT _In_ INTERFACE_TYPE BusType
_Must_inspect_result_ __drv_aliasesMem PDEVICE_OBJECT SourceDevice
_In_ PIO_CSQ_INSERT_IRP _In_ PIO_CSQ_REMOVE_IRP _In_ PIO_CSQ_PEEK_NEXT_IRP _In_ PIO_CSQ_ACQUIRE_LOCK _In_ PIO_CSQ_RELEASE_LOCK _In_ PIO_CSQ_COMPLETE_CANCELED_IRP CsqCompleteCanceledIrp
_In_ PKSERVICE_ROUTINE ServiceRoutine
_In_ PIO_CSQ_INSERT_IRP CsqInsertIrp
_In_opt_ PDRIVER_CANCEL CancelRoutine
_In_ PDEVICE_OBJECT _In_ ULONG _In_ PDRIVER_CONTROL ExecutionRoutine
_In_ INTERFACE_TYPE LegacyBusType
_In_ ULONG _In_ PHYSICAL_ADDRESS BusAddress
_Must_inspect_result_ __drv_aliasesMem PDEVICE_OBJECT _In_ PDEVICE_OBJECT TargetDevice
_In_ ULONG _In_ PHYSICAL_ADDRESS _Inout_ PULONG _Out_ PPHYSICAL_ADDRESS TranslatedAddress
_In_ ULONG _In_ PHYSICAL_ADDRESS _Inout_ PULONG AddressSpace
_In_ PIO_CSQ_INSERT_IRP _In_ PIO_CSQ_REMOVE_IRP _In_ PIO_CSQ_PEEK_NEXT_IRP CsqPeekNextIrp
_In_ PIO_CSQ_INSERT_IRP _In_ PIO_CSQ_REMOVE_IRP _In_ PIO_CSQ_PEEK_NEXT_IRP _In_ PIO_CSQ_ACQUIRE_LOCK CsqAcquireLock
_In_ PKSERVICE_ROUTINE _In_opt_ PVOID ServiceContext
_In_ PIO_CSQ_INSERT_IRP _In_ PIO_CSQ_REMOVE_IRP CsqRemoveIrp
_In_ PVOID NotificationStructure
_In_ PIO_CSQ_INSERT_IRP _In_ PIO_CSQ_REMOVE_IRP _In_ PIO_CSQ_PEEK_NEXT_IRP _In_ PIO_CSQ_ACQUIRE_LOCK _In_ PIO_CSQ_RELEASE_LOCK CsqReleaseLock
union _PCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_SEVERITY * PPCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_SEVERITY
FAST_IO_DEVICE_CONTROL * PFAST_IO_DEVICE_CONTROL
struct _IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS
struct _PCI_ROOT_BUS_OSC_SUPPORT_FIELD PCI_ROOT_BUS_OSC_SUPPORT_FIELD
enum _IRQ_GROUP_POLICY IRQ_GROUP_POLICY
NTSTATUS(NTAPI * PJOIN_DMA_DOMAIN)(_In_ PDMA_ADAPTER DmaAdapter, _In_ HANDLE DomainHandle)
enum _DEVICE_WAKE_DEPTH DEVICE_WAKE_DEPTH
PCI_MSIX_GET_ENTRY * PPCI_MSIX_GET_ENTRY
FAST_IO_WRITE_COMPRESSED * PFAST_IO_WRITE_COMPRESSED
struct _ARBITER_QUERY_ARBITRATE_PARAMETERS ARBITER_QUERY_ARBITRATE_PARAMETERS
ULONG KINTERRUPT_MODE BOOLEAN PGPE_SERVICE_ROUTINE PVOID PVOID * ObjectContext
enum _FS_FILTER_SECTION_SYNC_TYPE FS_FILTER_SECTION_SYNC_TYPE
struct _BOOTDISK_INFORMATION_EX * PBOOTDISK_INFORMATION_EX
D3COLD_REQUEST_AUX_POWER * PD3COLD_REQUEST_AUX_POWER
union _PCI_EXPRESS_ROOT_STATUS_REGISTER PCI_EXPRESS_ROOT_STATUS_REGISTER
FAST_IO_CHECK_IF_POSSIBLE * PFAST_IO_CHECK_IF_POSSIBLE
_FS_FILTER_STREAM_FO_NOTIFICATION_TYPE
struct _FILE_COMPRESSION_INFORMATION FILE_COMPRESSION_INFORMATION
enum _D3COLD_LAST_TRANSITION_STATUS * PD3COLD_LAST_TRANSITION_STATUS
struct _FILE_VALID_DATA_LENGTH_INFORMATION FILE_VALID_DATA_LENGTH_INFORMATION
VOID(NTAPI * PPME_CLEAR_PME_STATUS)(IN PDEVICE_OBJECT Pdo)
struct _PCI_EXPRESS_ROOTPORT_AER_CAPABILITY PCI_EXPRESS_ROOTPORT_AER_CAPABILITY
_PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR_TYPE
@ ResourceTypeExtendedCounterConfiguration
struct _PCI_EXPRESS_SRIOV_CAPABILITY * PPCI_EXPRESS_SRIOV_CAPABILITY
_IO_CONTAINER_INFORMATION_CLASS
@ IoSessionStateInformation
@ IoMaxContainerInformationClass
struct _FILE_FS_VOLUME_FLAGS_INFORMATION FILE_FS_VOLUME_FLAGS_INFORMATION
union _PCI_EXPRESS_SRIOV_CONTROL PCI_EXPRESS_SRIOV_CONTROL
VOID(NTAPI * PFREE_ADAPTER_CHANNEL)(_In_ PDMA_ADAPTER DmaAdapter)
struct _INT_ROUTE_INTERFACE_STANDARD * PINT_ROUTE_INTERFACE_STANDARD
struct _PNP_REPLACE_MEMORY_LIST PNP_REPLACE_MEMORY_LIST
struct _ARBITER_QUERY_ALLOCATED_RESOURCES_PARAMETERS * PARBITER_QUERY_ALLOCATED_RESOURCES_PARAMETERS
union _PCI_EXPRESS_DEVICE_STATUS_REGISTER PCI_EXPRESS_DEVICE_STATUS_REGISTER
FAST_IO_ACQUIRE_FOR_MOD_WRITE * PFAST_IO_ACQUIRE_FOR_MOD_WRITE
FAST_IO_LOCK * PFAST_IO_LOCK
enum _DEVICE_INSTALL_STATE DEVICE_INSTALL_STATE
struct _ACPI_INTERFACE_STANDARD2 * PACPI_INTERFACE_STANDARD2
struct _FAST_IO_DISPATCH * PFAST_IO_DISPATCH
FAST_IO_MDL_WRITE_COMPLETE * PFAST_IO_MDL_WRITE_COMPLETE
#define STATUS_CONTINUE_COMPLETION
struct _IO_CONNECT_INTERRUPT_MESSAGE_BASED_PARAMETERS IO_CONNECT_INTERRUPT_MESSAGE_BASED_PARAMETERS
union _PCI_EXPRESS_UNCORRECTABLE_ERROR_STATUS * PPCI_EXPRESS_UNCORRECTABLE_ERROR_STATUS
struct _PNP_REPLACE_PROCESSOR_LIST * PPNP_REPLACE_PROCESSOR_LIST
_In_ PVOID _In_ ULONG _In_ PVOID Context
FAST_IO_UNLOCK_ALL_BY_KEY * PFAST_IO_UNLOCK_ALL_BY_KEY
struct _PHYSICAL_COUNTER_RESOURCE_LIST * PPHYSICAL_COUNTER_RESOURCE_LIST
union _PCI_EXPRESS_ROOT_ERROR_STATUS PCI_EXPRESS_ROOT_ERROR_STATUS
struct _FSCTL_QUERY_FAT_BPB_BUFFER * PFSCTL_QUERY_FAT_BPB_BUFFER
@ PciExpressUpstreamSwitchPort
@ PciExpressDownstreamSwitchPort
@ PciExpressRootComplexIntegratedEndpoint
@ PciExpressRootComplexEventCollector
@ PciExpressLegacyEndpoint
struct _DMA_ADAPTER_INFO * PDMA_ADAPTER_INFO
struct _TARGET_DEVICE_CUSTOM_NOTIFICATION * PTARGET_DEVICE_CUSTOM_NOTIFICATION
_Must_inspect_result_ typedef _In_ ULONG ApicId
struct _DRIVER_OBJECT * PDRIVER_OBJECT
struct _PCI_BUS_INTERFACE_STANDARD * PPCI_BUS_INTERFACE_STANDARD
struct _ROUTING_TOKEN ROUTING_TOKEN
struct _FILE_STANDARD_LINK_INFORMATION * PFILE_STANDARD_LINK_INFORMATION
struct _PCI_ROOT_BUS_OSC_CONTROL_FIELD PCI_ROOT_BUS_OSC_CONTROL_FIELD
struct _PCI_AGP_APERTURE_PAGE_SIZE * PPCI_AGP_APERTURE_PAGE_SIZE
struct _PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR
enum _IO_PAGING_PRIORITY IO_PAGING_PRIORITY
PCI_EXPRESS_L0s_EXIT_LATENCY
NTSTATUS(NTAPI * PTRANSLATE_RESOURCE_REQUIREMENTS_HANDLER)(_Inout_opt_ PVOID Context, _In_ PIO_RESOURCE_DESCRIPTOR Source, _In_ PDEVICE_OBJECT PhysicalDeviceObject, _Out_ PULONG TargetCount, _Out_writes_(*TargetCount) PIO_RESOURCE_DESCRIPTOR *Target)
struct _PCI_EXPRESS_SERIAL_NUMBER_CAPABILITY * PPCI_EXPRESS_SERIAL_NUMBER_CAPABILITY
struct _FILE_REMOTE_PROTOCOL_INFORMATION * PFILE_REMOTE_PROTOCOL_INFORMATION
NTSTATUS(NTAPI * PBUILD_SCATTER_GATHER_LIST)(_In_ PDMA_ADAPTER DmaAdapter, _In_ PDEVICE_OBJECT DeviceObject, _In_ PMDL Mdl, _In_ PVOID CurrentVa, _In_ ULONG Length, _In_ PDRIVER_LIST_CONTROL ExecutionRoutine, _In_ PVOID Context, _In_ BOOLEAN WriteToDevice, _In_ PVOID ScatterGatherBuffer, _In_ ULONG ScatterGatherLength)
PCI_IS_DEVICE_PRESENT_EX * PPCI_IS_DEVICE_PRESENT_EX
struct _PLUGPLAY_NOTIFICATION_HEADER * PPLUGPLAY_NOTIFICATION_HEADER
struct _PCI_AGP_ISOCH_STATUS * PPCI_AGP_ISOCH_STATUS
struct _DMA_OPERATIONS * PDMA_OPERATIONS
DRIVER_STARTIO * PDRIVER_STARTIO
struct _IO_DRIVER_CREATE_CONTEXT IO_DRIVER_CREATE_CONTEXT
struct _FILE_PIPE_REMOTE_INFORMATION * PFILE_PIPE_REMOTE_INFORMATION
union _PCI_EXPRESS_PME_REQUESTOR_ID PCI_EXPRESS_PME_REQUESTOR_ID
_In_ ULONG AuxPowerInMilliWatts
struct _IO_INTERRUPT_MESSAGE_INFO * PIO_INTERRUPT_MESSAGE_INFO
struct _FILE_PIPE_EVENT_BUFFER FILE_PIPE_EVENT_BUFFER
#define FILE_PIPE_COMPUTER_NAME_LENGTH
struct _ARBITER_PARAMETERS ARBITER_PARAMETERS
enum _IO_NOTIFICATION_EVENT_CATEGORY IO_NOTIFICATION_EVENT_CATEGORY
struct _ARBITER_PARAMETERS * PARBITER_PARAMETERS
struct _BOOTDISK_INFORMATION_LITE * PBOOTDISK_INFORMATION_LITE
FAST_IO_READ_COMPRESSED * PFAST_IO_READ_COMPRESSED
union _PCI_EXPRESS_LINK_STATUS_REGISTER PCI_EXPRESS_LINK_STATUS_REGISTER
union _FS_FILTER_PARAMETERS * PFS_FILTER_PARAMETERS
struct _FILE_PIPE_CLIENT_PROCESS_BUFFER * PFILE_PIPE_CLIENT_PROCESS_BUFFER
struct _PCI_PMCSR_BSE * PPCI_PMCSR_BSE
union _PCI_EXPRESS_AER_CAPABILITIES * PPCI_EXPRESS_AER_CAPABILITIES
_In_ PLARGE_INTEGER _Out_ struct _ERESOURCE ** ResourceToRelease
struct _OBJECT_HANDLE_INFORMATION * POBJECT_HANDLE_INFORMATION
struct _PCI_PMCSR * PPCI_PMCSR
VOID(NTAPI * PFREE_MAP_REGISTERS)(_In_ PDMA_ADAPTER DmaAdapter, PVOID MapRegisterBase, ULONG NumberOfMapRegisters)
struct _PLUGPLAY_NOTIFICATION_HEADER PLUGPLAY_NOTIFICATION_HEADER
union _PCI_EXPRESS_UNCORRECTABLE_ERROR_MASK PCI_EXPRESS_UNCORRECTABLE_ERROR_MASK
enum _IO_ACCESS_TYPE IO_ACCESS_TYPE
struct _ARBITER_RETEST_ALLOCATION_PARAMETERS * PARBITER_RETEST_ALLOCATION_PARAMETERS
union _PCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_MASK PCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_MASK
struct _ACPI_INTERFACE_STANDARD2 ACPI_INTERFACE_STANDARD2
struct _ARBITER_LIST_ENTRY * PARBITER_LIST_ENTRY
struct _PCIBUSDATA * PPCIBUSDATA
union _PCI_EXPRESS_SRIOV_CAPS PCI_EXPRESS_SRIOV_CAPS
struct _DMA_OPERATIONS DMA_OPERATIONS
struct _IO_COMPLETION_CONTEXT IO_COMPLETION_CONTEXT
NTSTATUS(NTAPI * PINITIALIZE_DMA_TRANSFER_CONTEXT)(_In_ PDMA_ADAPTER DmaAdapter, _Out_ PVOID DmaTransferContext)
struct _FILE_ID_FULL_DIR_INFORMATION FILE_ID_FULL_DIR_INFORMATION
union _PCI_EXPRESS_LINK_CONTROL_REGISTER * PPCI_EXPRESS_LINK_CONTROL_REGISTER
struct _WAIT_CONTEXT_BLOCK * PWAIT_CONTEXT_BLOCK
struct _FILE_LINK_ENTRY_INFORMATION FILE_LINK_ENTRY_INFORMATION
struct _SCATTER_GATHER_LIST SCATTER_GATHER_LIST
struct _PNP_REPLACE_DRIVER_INTERFACE * PPNP_REPLACE_DRIVER_INTERFACE
union _PCI_EXPRESS_SRIOV_CONTROL * PPCI_EXPRESS_SRIOV_CONTROL
union _PCI_EXPRESS_SEC_AER_CAPABILITIES * PPCI_EXPRESS_SEC_AER_CAPABILITIES
NTSTATUS(NTAPI * PMM_DLL_UNLOAD)(VOID)
struct _PCI_CAPABILITIES_HEADER PCI_CAPABILITIES_HEADER
struct _LEGACY_DEVICE_DETECTION_INTERFACE LEGACY_DEVICE_DETECTION_INTERFACE
struct _FILE_IS_REMOTE_DEVICE_INFORMATION * PFILE_IS_REMOTE_DEVICE_INFORMATION
struct _PNP_REPLACE_PARAMETERS PNP_REPLACE_PARAMETERS
_Must_inspect_result_ typedef _Out_ PULONG TableSize
union _PCI_EXPRESS_DEVICE_CONTROL_REGISTER PCI_EXPRESS_DEVICE_CONTROL_REGISTER
struct _EISA_IRQ_DESCRIPTOR * PEISA_IRQ_DESCRIPTOR
struct _IO_PRIORITY_INFO IO_PRIORITY_INFO
_RESOURCE_TRANSLATION_DIRECTION
IO_SESSION_NOTIFICATION_FUNCTION * PIO_SESSION_NOTIFICATION_FUNCTION
VOID(NTAPI * PFS_FILTER_COMPLETION_CALLBACK)(_In_ PFS_FILTER_CALLBACK_DATA Data, _In_ NTSTATUS OperationStatus, _In_ PVOID CompletionContext)
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS PhysicalAddress
DEVICE_CHANGE_COMPLETE_CALLBACK * PDEVICE_CHANGE_COMPLETE_CALLBACK
struct _ARBITER_QUERY_ALLOCATED_RESOURCES_PARAMETERS ARBITER_QUERY_ALLOCATED_RESOURCES_PARAMETERS
_FS_FILTER_SECTION_SYNC_TYPE
struct _LOADER_PARTITION_INFORMATION_EX * PLOADER_PARTITION_INFORMATION_EX
enum _BUS_QUERY_ID_TYPE * PBUS_QUERY_ID_TYPE
enum _IO_QUERY_DEVICE_DATA_FORMAT IO_QUERY_DEVICE_DATA_FORMAT
struct _EISA_MEMORY_CONFIGURATION * PEISA_MEMORY_CONFIGURATION
struct _PCIX_BRIDGE_CAPABILITY PCIX_BRIDGE_CAPABILITY
struct _FILE_IO_PRIORITY_HINT_INFORMATION * PFILE_IO_PRIORITY_HINT_INFORMATION
struct _PCI_ROOT_BUS_OSC_SUPPORT_FIELD * PPCI_ROOT_BUS_OSC_SUPPORT_FIELD
ULONG(NTAPI * PREAD_DMA_COUNTER)(_In_ PDMA_ADAPTER DmaAdapter)
GET_SET_DEVICE_DATA * PGET_SET_DEVICE_DATA
NTSTATUS(NTAPI * PBUILD_SCATTER_GATHER_LIST_EX)(_In_ PDMA_ADAPTER DmaAdapter, _In_ PDEVICE_OBJECT DeviceObject, _In_ PVOID DmaTransferContext, _In_ PMDL Mdl, _In_ ULONGLONG Offset, _In_ ULONG Length, _In_ ULONG Flags, _In_opt_ PDRIVER_LIST_CONTROL ExecutionRoutine, _In_opt_ PVOID Context, _In_ BOOLEAN WriteToDevice, _In_ PVOID ScatterGatherBuffer, _In_ ULONG ScatterGatherLength, _In_opt_ PDMA_COMPLETION_ROUTINE DmaCompletionRoutine, _In_opt_ PVOID CompletionContext, _Out_opt_ PVOID ScatterGatherList)
_Outptr_ _At_ * LocationStrings(return==0, __drv_allocatesMem(Mem))) PZZWSTR *LocationStrings
struct _FILE_NUMA_NODE_INFORMATION * PFILE_NUMA_NODE_INFORMATION
VOID(NTAPI * PFREE_COMMON_BUFFER_VECTOR)(_In_ PDMA_ADAPTER DmaAdapter, _In_ PDMA_COMMON_BUFFER_VECTOR Vector)
struct _TXN_PARAMETER_BLOCK * PTXN_PARAMETER_BLOCK
struct _DEVOBJ_EXTENSION * PDEVOBJ_EXTENSION
struct _PCI_ROOT_BUS_OSC_CONTROL_FIELD * PPCI_ROOT_BUS_OSC_CONTROL_FIELD
struct _PCI_AGP_CAPABILITY * PPCI_AGP_CAPABILITY
FAST_IO_MDL_WRITE_COMPLETE_COMPRESSED * PFAST_IO_MDL_WRITE_COMPLETE_COMPRESSED
enum _BUS_QUERY_ID_TYPE BUS_QUERY_ID_TYPE
union _PCI_EXPRESS_ROOT_ERROR_COMMAND * PPCI_EXPRESS_ROOT_ERROR_COMMAND
struct _PNP_REPLACE_PROCESSOR_LIST_V1 PNP_REPLACE_PROCESSOR_LIST_V1
FAST_IO_QUERY_BASIC_INFO * PFAST_IO_QUERY_BASIC_INFO
struct _PCI_PMCSR PCI_PMCSR
struct _SCATTER_GATHER_LIST * PSCATTER_GATHER_LIST
enum _DEVICE_TEXT_TYPE * PDEVICE_TEXT_TYPE
union _PCI_EXPRESS_DEVICE_CAPABILITIES_REGISTER * PPCI_EXPRESS_DEVICE_CAPABILITIES_REGISTER
enum _EXTENDED_AGP_REGISTER * PEXTENDED_AGP_REGISTER
#define __multiString_type
struct _FILE_NETWORK_PHYSICAL_NAME_INFORMATION * PFILE_NETWORK_PHYSICAL_NAME_INFORMATION
struct _PCI_BUS_INTERFACE_STANDARD PCI_BUS_INTERFACE_STANDARD
struct _PCI_PMC * PPCI_PMC
struct _PCI_CARDBUS_INTERFACE_PRIVATE * PPCI_CARDBUS_INTERFACE_PRIVATE
struct _EISA_MEMORY_CONFIGURATION EISA_MEMORY_CONFIGURATION
struct _EISA_MEMORY_TYPE * PEISA_MEMORY_TYPE
enum _FS_FILTER_STREAM_FO_NOTIFICATION_TYPE * PFS_FILTER_STREAM_FO_NOTIFICATION_TYPE
enum _IO_COMPLETION_ROUTINE_RESULT IO_COMPLETION_ROUTINE_RESULT
struct _ARBITER_BOOT_ALLOCATION_PARAMETERS * PARBITER_BOOT_ALLOCATION_PARAMETERS
struct _LINK_TRACKING_INFORMATION * PLINK_TRACKING_INFORMATION
ULONG(NTAPI * PCI_READ_WRITE_CONFIG)(_In_ PVOID Context, _In_ ULONG BusOffset, _In_ ULONG Slot, _In_reads_bytes_(Length) PVOID Buffer, _In_ ULONG Offset, _In_ ULONG Length)
struct _EISA_DMA_CONFIGURATION * PEISA_DMA_CONFIGURATION
VOID(NTAPI * PPME_SET_PME_ENABLE)(IN PDEVICE_OBJECT Pdo, IN BOOLEAN PmeEnable)
_Inout_ struct _IRP _In_ PVOID MapRegisterBase
enum _IO_ALLOCATION_ACTION IO_ALLOCATION_ACTION
enum _DEVICE_REMOVAL_POLICY * PDEVICE_REMOVAL_POLICY
union _PCI_EXPRESS_ROOT_CAPABILITIES_REGISTER PCI_EXPRESS_ROOT_CAPABILITIES_REGISTER
struct _PCI_CARDBUS_INTERFACE_PRIVATE PCI_CARDBUS_INTERFACE_PRIVATE
struct _FILE_MOVE_CLUSTER_INFORMATION * PFILE_MOVE_CLUSTER_INFORMATION
union _PCI_EXPRESS_CAPABILITIES_REGISTER * PPCI_EXPRESS_CAPABILITIES_REGISTER
VOID(NTAPI * PCI_LINE_TO_PIN)(_In_ PVOID Context, _In_ PPCI_COMMON_CONFIG PciNewData, _In_ PPCI_COMMON_CONFIG PciOldData)
#define PCI_TYPE0_ADDRESSES
struct _ARBITER_QUERY_ARBITRATE_PARAMETERS * PARBITER_QUERY_ARBITRATE_PARAMETERS
_In_opt_ PVOID _In_ PIO_WORKITEM IoWorkItem
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS _Inout_ PLARGE_INTEGER _Outptr_ PVOID _Outptr_ PVOID * SpareAddress
$if(_WDMDDK_||_NTDDK_) $endif(_WDMDDK_||_NTDDK_) $if(_WDMDDK_) $endif(_WDMDDK_) $if(_WDMDDK_||_DEVIOCTL_) $endif(_WDMDDK_||_DEVIOCTL_) $if(_WDMDDK_) typedef enum _IRQ_DEVICE_POLICY
struct _FILE_NUMA_NODE_INFORMATION FILE_NUMA_NODE_INFORMATION
union _PCI_EXPRESS_ERROR_SOURCE_ID PCI_EXPRESS_ERROR_SOURCE_ID
DRIVER_DISPATCH DRIVER_DISPATCH_RAISED
NTSTATUS(NTAPI * PTRANSLATE_RESOURCE_HANDLER)(_Inout_opt_ PVOID Context, _In_ PCM_PARTIAL_RESOURCE_DESCRIPTOR Source, _In_ RESOURCE_TRANSLATION_DIRECTION Direction, _In_opt_ ULONG AlternativesCount, _In_reads_opt_(AlternativesCount) IO_RESOURCE_DESCRIPTOR Alternatives[], _In_ PDEVICE_OBJECT PhysicalDeviceObject, _Out_ PCM_PARTIAL_RESOURCE_DESCRIPTOR Target)
NTSTATUS(NTAPI * PCONFIGURE_ADAPTER_CHANNEL)(_In_ PDMA_ADAPTER DmaAdapter, _In_ ULONG FunctionNumber, _In_ PVOID Context)
struct _FILE_SFIO_VOLUME_INFORMATION * PFILE_SFIO_VOLUME_INFORMATION
struct _DEVICE_INTERFACE_CHANGE_NOTIFICATION * PDEVICE_INTERFACE_CHANGE_NOTIFICATION
NTSTATUS(NTAPI * PCARDBUSPCIDISPATCH)(IN PVOID DeviceContext, IN PIRP Irp)
union _PCI_EXPRESS_ROOT_CONTROL_REGISTER PCI_EXPRESS_ROOT_CONTROL_REGISTER
struct _CLIENT_ID CLIENT_ID
struct _CONFIGURATION_INFORMATION CONFIGURATION_INFORMATION
enum _ARBITER_REQUEST_SOURCE ARBITER_REQUEST_SOURCE
struct _PCI_EXPRESS_SRIOV_CAPABILITY PCI_EXPRESS_SRIOV_CAPABILITY
VOID(NTAPI * PciPin2Line)(_In_ struct _BUS_HANDLER *BusHandler, _In_ struct _BUS_HANDLER *RootHandler, _In_ PCI_SLOT_NUMBER SlotNumber, _In_ PPCI_COMMON_CONFIG PciData)
@ DeallocateObjectKeepRegisters
PCI_MSIX_MASKUNMASK_ENTRY * PPCI_MSIX_MASKUNMASK_ENTRY
struct _IO_REMOVE_LOCK_COMMON_BLOCK IO_REMOVE_LOCK_COMMON_BLOCK
NTSTATUS(NTAPI * PSET_INTERRUPT_ROUTING_TOKEN)(IN PDEVICE_OBJECT Pdo, IN PROUTING_TOKEN RoutingToken)
BOOLEAN(NTAPI * PCANCEL_ADAPTER_CHANNEL)(_In_ PDMA_ADAPTER DmaAdapter, _In_ PDEVICE_OBJECT DeviceObject, _In_ PVOID DmaTransferContext)
enum _IO_CONTAINER_INFORMATION_CLASS IO_CONTAINER_INFORMATION_CLASS
union _FILE_SEGMENT_ELEMENT * PFILE_SEGMENT_ELEMENT
VOID(NTAPI * PUPDATE_INTERRUPT_LINE)(IN PDEVICE_OBJECT Pdo, IN UCHAR LineRegister)
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS _In_ LARGE_INTEGER ByteCount
@ IoPagingPriorityReserved1
@ IoPagingPriorityReserved2
@ IoPagingPriorityInvalid
struct _IO_CONNECT_INTERRUPT_PARAMETERS * PIO_CONNECT_INTERRUPT_PARAMETERS
struct _PCI_SLOT_NUMBER * PPCI_SLOT_NUMBER
struct _PCI_EXPRESS_CAPABILITY * PPCI_EXPRESS_CAPABILITY
enum _DEVICE_REMOVAL_POLICY DEVICE_REMOVAL_POLICY
struct _IO_SESSION_STATE_INFORMATION IO_SESSION_STATE_INFORMATION
struct _OBJECT_HANDLE_INFORMATION OBJECT_HANDLE_INFORMATION
PCI_MSIX_SET_ENTRY * PPCI_MSIX_SET_ENTRY
struct _IO_ERROR_LOG_MESSAGE * PIO_ERROR_LOG_MESSAGE
DRIVER_LIST_CONTROL * PDRIVER_LIST_CONTROL
struct _DISK_SIGNATURE DISK_SIGNATURE
PCI_EXPRESS_INDICATOR_STATE
struct _PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR * PPHYSICAL_COUNTER_RESOURCE_DESCRIPTOR
FAST_IO_QUERY_NETWORK_OPEN_INFO * PFAST_IO_QUERY_NETWORK_OPEN_INFO
FAST_IO_PREPARE_MDL_WRITE * PFAST_IO_PREPARE_MDL_WRITE
struct _DRIVER_OBJECT DRIVER_OBJECT
struct _FILE_NETWORK_PHYSICAL_NAME_INFORMATION FILE_NETWORK_PHYSICAL_NAME_INFORMATION
FAST_IO_MDL_READ_COMPLETE * PFAST_IO_MDL_READ_COMPLETE
struct _IO_RESOURCE_LIST * PIO_RESOURCE_LIST
struct _FILE_FS_LABEL_INFORMATION FILE_FS_LABEL_INFORMATION
$endif(_WDMDDK_) $if(_NTDDK_) $endif(_NTDDK_) $if(_WDMDDK_) $endif(_WDMDDK_) $if(_WDMDDK_) typedef struct DECLSPEC_ALIGN(MEMORY_ALLOCATION_ALIGNMENT) _DEVICE_OBJECT
NTSTATUS(NTAPI * PGET_SCATTER_GATHER_LIST_EX)(_In_ PDMA_ADAPTER DmaAdapter, _In_ PDEVICE_OBJECT DeviceObject, _In_ PVOID DmaTransferContext, _In_ PMDL Mdl, _In_ ULONGLONG Offset, _In_ ULONG Length, _In_ ULONG Flags, _In_opt_ PDRIVER_LIST_CONTROL ExecutionRoutine, _In_opt_ PVOID Context, _In_ BOOLEAN WriteToDevice, _In_opt_ PDMA_COMPLETION_ROUTINE DmaCompletionRoutine, _In_opt_ PVOID CompletionContext, _Out_opt_ PSCATTER_GATHER_LIST *ScatterGatherList)
NTSTATUS(NTAPI * PFLUSH_ADAPTER_BUFFERS_EX)(_In_ PDMA_ADAPTER DmaAdapter, _In_ PMDL Mdl, _In_ PVOID MapRegisterBase, _In_ ULONGLONG Offset, _In_ ULONG Length, _In_ BOOLEAN WriteToDevice)
struct _IO_INTERRUPT_MESSAGE_INFO IO_INTERRUPT_MESSAGE_INFO
struct _FILE_FS_OBJECTID_INFORMATION * PFILE_FS_OBJECTID_INFORMATION
struct _FILE_ID_BOTH_DIR_INFORMATION * PFILE_ID_BOTH_DIR_INFORMATION
struct _CM_EISA_FUNCTION_INFORMATION * PCM_EISA_FUNCTION_INFORMATION
union _PCI_EXPRESS_SEC_AER_CAPABILITIES PCI_EXPRESS_SEC_AER_CAPABILITIES
struct _FSCTL_QUERY_FAT_BPB_BUFFER FSCTL_QUERY_FAT_BPB_BUFFER
union _PCI_EXPRESS_DEVICE_STATUS_REGISTER * PPCI_EXPRESS_DEVICE_STATUS_REGISTER
@ ArbiterActionQueryConflict
@ ArbiterActionQueryArbitrate
@ ArbiterActionBootAllocation
@ ArbiterActionWriteReservedResources
@ ArbiterActionAddReserved
@ ArbiterActionCommitAllocation
@ ArbiterActionRollbackAllocation
@ ArbiterActionRetestAllocation
@ ArbiterActionQueryAllocatedResources
@ ArbiterActionTestAllocation
struct _FS_FILTER_CALLBACKS * PFS_FILTER_CALLBACKS
struct _PCI_DEVICE_PRESENT_INTERFACE PCI_DEVICE_PRESENT_INTERFACE
struct _INT_ROUTE_INTERFACE_STANDARD INT_ROUTE_INTERFACE_STANDARD
enum _DIRECTORY_NOTIFY_INFORMATION_CLASS DIRECTORY_NOTIFY_INFORMATION_CLASS
struct _ARBITER_CONFLICT_INFO * PARBITER_CONFLICT_INFO
VOID(NTAPI * PDRIVER_REINITIALIZE)(_In_ struct _DRIVER_OBJECT *DriverObject, _In_opt_ PVOID Context, _In_ ULONG Count)
struct _DEVOBJ_EXTENSION DEVOBJ_EXTENSION
struct _IO_SESSION_CONNECT_INFO * PIO_SESSION_CONNECT_INFO
struct _ARBITER_ADD_RESERVED_PARAMETERS * PARBITER_ADD_RESERVED_PARAMETERS
struct _PCI_EXPRESS_ENHANCED_CAPABILITY_HEADER PCI_EXPRESS_ENHANCED_CAPABILITY_HEADER
struct _IO_SESSION_STATE_NOTIFICATION IO_SESSION_STATE_NOTIFICATION
NTSTATUS(NTAPI * PMAP_TRANSFER_EX)(_In_ PDMA_ADAPTER DmaAdapter, _In_ PMDL Mdl, _In_ PVOID MapRegisterBase, _In_ ULONGLONG Offset, _In_ ULONG DeviceOffset, _Inout_ PULONG Length, _In_ BOOLEAN WriteToDevice, _Out_writes_bytes_opt_(ScatterGatherBufferLength) PSCATTER_GATHER_LIST ScatterGatherBuffer, _In_ ULONG ScatterGatherBufferLength, _In_opt_ PDMA_COMPLETION_ROUTINE DmaCompletionRoutine, _In_opt_ PVOID CompletionContext)
struct _PCI_MSIX_TABLE_CONFIG_INTERFACE PCI_MSIX_TABLE_CONFIG_INTERFACE
struct _PCI_AGP_CONTROL * PPCI_AGP_CONTROL
_In_ BOOLEAN CorePowerRailNeeded
enum _FILE_INFORMATION_CLASS FILE_INFORMATION_CLASS
struct _DRIVER_EXTENSION * PDRIVER_EXTENSION
union _PCI_EXPRESS_ROOT_ERROR_COMMAND PCI_EXPRESS_ROOT_ERROR_COMMAND
struct _EISA_PORT_DESCRIPTOR * PEISA_PORT_DESCRIPTOR
struct _DEVICE_INTERFACE_CHANGE_NOTIFICATION DEVICE_INTERFACE_CHANGE_NOTIFICATION
struct _EISA_MEMORY_TYPE EISA_MEMORY_TYPE
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS _Inout_ PLARGE_INTEGER _Outptr_ PVOID * TargetAddress
struct _FILE_TRACKING_INFORMATION FILE_TRACKING_INFORMATION
NTSTATUS(NTAPI * PGET_INTERRUPT_ROUTING)(IN PDEVICE_OBJECT Pdo, OUT ULONG *Bus, OUT ULONG *PciSlot, OUT UCHAR *InterruptLine, OUT UCHAR *InterruptPin, OUT UCHAR *ClassCode, OUT UCHAR *SubClassCode, OUT PDEVICE_OBJECT *ParentPdo, OUT ROUTING_TOKEN *RoutingToken, OUT UCHAR *Flags)
PHYSICAL_ADDRESS(NTAPI * PMAP_TRANSFER)(_In_ PDMA_ADAPTER DmaAdapter, _In_ PMDL Mdl, _In_ PVOID MapRegisterBase, _In_ PVOID CurrentVa, _Inout_ PULONG Length, _In_ BOOLEAN WriteToDevice)
struct _POWER_SEQUENCE POWER_SEQUENCE
DRIVER_UNLOAD * PDRIVER_UNLOAD
struct _IO_CONNECT_INTERRUPT_MESSAGE_BASED_PARAMETERS * PIO_CONNECT_INTERRUPT_MESSAGE_BASED_PARAMETERS
NTSTATUS(NTAPI * PCANCEL_MAPPED_TRANSFER)(_In_ PDMA_ADAPTER DmaAdapter, _In_ PVOID DmaTransferContext)
struct _ARBITER_TEST_ALLOCATION_PARAMETERS ARBITER_TEST_ALLOCATION_PARAMETERS
struct _FILE_ID_BOTH_DIR_INFORMATION FILE_ID_BOTH_DIR_INFORMATION
struct _ACPI_INTERFACE_STANDARD ACPI_INTERFACE_STANDARD
union _PCI_EXPRESS_SRIOV_STATUS PCI_EXPRESS_SRIOV_STATUS
struct _IO_REMOVE_LOCK_DBG_BLOCK IO_REMOVE_LOCK_DBG_BLOCK
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS SparePhysicalAddress
struct _REMOTE_LINK_TRACKING_INFORMATION REMOTE_LINK_TRACKING_INFORMATION
NTSTATUS(NTAPI * PALLOCATE_COMMON_BUFFER_VECTOR)(_In_ PDMA_ADAPTER DmaAdapter, _In_ PHYSICAL_ADDRESS LowAddress, _In_ PHYSICAL_ADDRESS HighAddress, _In_ MEMORY_CACHING_TYPE CacheType, _In_ ULONG IdealNode, _In_ ULONG Flags, _In_ ULONG NumberOfElements, _In_ ULONGLONG SizeOfElements, _Out_ PDMA_COMMON_BUFFER_VECTOR *VectorOut)
struct _PCI_COMMON_CONFIG * PPCI_COMMON_CONFIG
NTSTATUS(NTAPI * PBUILD_MDL_FROM_SCATTER_GATHER_LIST)(_In_ PDMA_ADAPTER DmaAdapter, _In_ PSCATTER_GATHER_LIST ScatterGather, _In_ PMDL OriginalMdl, _Out_ PMDL *TargetMdl)
NTSTATUS(NTAPI * PGET_DMA_TRANSFER_INFO)(_In_ PDMA_ADAPTER DmaAdapter, _In_ PMDL Mdl, _In_ ULONGLONG Offset, _In_ ULONG Length, _In_ BOOLEAN WriteOnly, _Inout_ PDMA_TRANSFER_INFO TransferInfo)
struct _FILE_PIPE_EVENT_BUFFER * PFILE_PIPE_EVENT_BUFFER
struct _PCI_AGP_CAPABILITY PCI_AGP_CAPABILITY
union _PCI_EXPRESS_SRIOV_MIGRATION_STATE_ARRAY PCI_EXPRESS_SRIOV_MIGRATION_STATE_ARRAY
IO_COMPLETION_ROUTINE * PIO_COMPLETION_ROUTINE
BOOLEAN(NTAPI * PFLUSH_ADAPTER_BUFFERS)(_In_ PDMA_ADAPTER DmaAdapter, _In_ PMDL Mdl, _In_ PVOID MapRegisterBase, _In_ PVOID CurrentVa, _In_ ULONG Length, _In_ BOOLEAN WriteToDevice)
struct _POWER_SEQUENCE * PPOWER_SEQUENCE
_Must_inspect_result_ typedef _In_ ULONG _Out_ PULONG _Out_ PBOOLEAN Masked
struct _CM_EISA_SLOT_INFORMATION * PCM_EISA_SLOT_INFORMATION
PCI_EXPRESS_L1_EXIT_LATENCY
struct _PCI_AGP_APERTURE_PAGE_SIZE PCI_AGP_APERTURE_PAGE_SIZE
_IO_QUERY_DEVICE_DATA_FORMAT
@ IoQueryDeviceComponentInformation
@ IoQueryDeviceConfigurationData
@ IoQueryDeviceIdentifier
struct _IO_REMOVE_LOCK_TRACKING_BLOCK * PIO_REMOVE_LOCK_TRACKING_BLOCK
FAST_IO_RELEASE_FOR_CCFLUSH * PFAST_IO_RELEASE_FOR_CCFLUSH
enum _ARBITER_ACTION * PARBITER_ACTION
union _PCI_EXPRESS_UNCORRECTABLE_ERROR_SEVERITY PCI_EXPRESS_UNCORRECTABLE_ERROR_SEVERITY
struct _CM_EISA_FUNCTION_INFORMATION CM_EISA_FUNCTION_INFORMATION
struct _PATHNAME_BUFFER PATHNAME_BUFFER
VOID(NTAPI * PciLine2Pin)(_In_ struct _BUS_HANDLER *BusHandler, _In_ struct _BUS_HANDLER *RootHandler, _In_ PCI_SLOT_NUMBER SlotNumber, _In_ PPCI_COMMON_CONFIG PciNewData, _In_ PPCI_COMMON_CONFIG PciOldData)
struct _IO_RESOURCE_LIST IO_RESOURCE_LIST
union _PCI_EXPRESS_PME_REQUESTOR_ID * PPCI_EXPRESS_PME_REQUESTOR_ID
union _PCI_EXPRESS_SLOT_STATUS_REGISTER * PPCI_EXPRESS_SLOT_STATUS_REGISTER
_LINK_TRACKING_INFORMATION_TYPE
@ NtfsLinkTrackingInformation
@ DfsLinkTrackingInformation
FAST_IO_MDL_READ * PFAST_IO_MDL_READ
DRIVER_CANCEL * PDRIVER_CANCEL
struct _DMA_COMMON_BUFFER_VECTOR DMA_COMMON_BUFFER_VECTOR
_Must_inspect_result_ typedef _In_ ULONG TableEntry
union _PCI_EXPRESS_CORRECTABLE_ERROR_STATUS * PPCI_CORRECTABLE_ERROR_STATUS
enum _RESOURCE_TRANSLATION_DIRECTION RESOURCE_TRANSLATION_DIRECTION
struct _SCATTER_GATHER_ELEMENT * PSCATTER_GATHER_ELEMENT
DRIVER_ADD_DEVICE * PDRIVER_ADD_DEVICE
NTSTATUS(NTAPI * PCARDBUSDELETE)(IN PVOID DeviceContext)
@ ArbiterRequestHalReported
@ ArbiterRequestLegacyAssigned
@ ArbiterRequestPnpDetected
@ ArbiterRequestUndefined
@ ArbiterRequestLegacyReported
@ ArbiterRequestPnpEnumerated
struct _PNP_LOCATION_INTERFACE PNP_LOCATION_INTERFACE
NTSTATUS(NTAPI * PFS_FILTER_CALLBACK)(_In_ PFS_FILTER_CALLBACK_DATA Data, _Out_ PVOID *CompletionContext)
struct _PCI_DEVICE_PRESENCE_PARAMETERS * PPCI_DEVICE_PRESENCE_PARAMETERS
struct _PNP_LOCATION_INTERFACE * PPNP_LOCATION_INTERFACE
struct _FILE_PIPE_CLIENT_PROCESS_BUFFER_EX FILE_PIPE_CLIENT_PROCESS_BUFFER_EX
NTSTATUS(NTAPI * PALLOCATE_DOMAIN_COMMON_BUFFER)(_In_ PDMA_ADAPTER DmaAdapter, _In_ HANDLE DomainHandle, _In_opt_ PPHYSICAL_ADDRESS MaximumAddress, _In_ ULONG Length, _In_ ULONG Flags, _In_opt_ MEMORY_CACHING_TYPE *CacheType, _In_ NODE_REQUIREMENT PreferredNode, _Out_ PPHYSICAL_ADDRESS LogicalAddress, _Out_ PVOID *VirtualAddress)
_In_ ULONG DelayInMicroSeconds
struct _PCI_DEVICE_PRESENT_INTERFACE * PPCI_DEVICE_PRESENT_INTERFACE
GET_DMA_ADAPTER * PGET_DMA_ADAPTER
union _PCI_EXPRESS_CORRECTABLE_ERROR_MASK PCI_EXPRESS_CORRECTABLE_ERROR_MASK
struct _IO_DRIVER_CREATE_CONTEXT * PIO_DRIVER_CREATE_CONTEXT
struct _FILE_PIPE_ASSIGN_EVENT_BUFFER FILE_PIPE_ASSIGN_EVENT_BUFFER
union _PCI_EXPRESS_LINK_CAPABILITIES_REGISTER * PPCI_EXPRESS_LINK_CAPABILITIES_REGISTER
_In_ PVOID _In_ ULONG _In_ PVOID _In_ ULONG PayloadLength
_Out_ PFILE_NETWORK_OPEN_INFORMATION NetworkInformation
@ DevicePropertyCompatibleIDs
@ DevicePropertyEnumeratorName
@ DevicePropertyBootConfiguration
@ DevicePropertyResourceRequirements
@ DevicePropertyDriverKeyName
@ DevicePropertyInstallState
@ DevicePropertyClassGuid
@ DevicePropertyBusNumber
@ DevicePropertyBootConfigurationTranslated
@ DevicePropertyRemovalPolicy
@ DevicePropertyPhysicalDeviceObjectName
@ DevicePropertyLegacyBusType
@ DevicePropertyAllocatedResources
@ DevicePropertyManufacturer
@ DevicePropertyClassName
@ DevicePropertyFriendlyName
@ DevicePropertyContainerID
@ DevicePropertyLocationInformation
@ DevicePropertyHardwareID
@ DevicePropertyBusTypeGuid
@ DevicePropertyDeviceDescription
struct _PCI_EXPRESS_ROOT_PORT_INTERFACE * PPCI_EXPRESS_ROOT_PORT_INTERFACE
union _PCI_EXPRESS_SLOT_CONTROL_REGISTER PCI_EXPRESS_SLOT_CONTROL_REGISTER
struct _DMA_ADAPTER_INFO_V1 DMA_ADAPTER_INFO_V1
struct _FILE_IOSTATUSBLOCK_RANGE_INFORMATION FILE_IOSTATUSBLOCK_RANGE_INFORMATION
NTSTATUS(NTAPI * PALLOCATE_ADAPTER_CHANNEL_EX)(_In_ PDMA_ADAPTER DmaAdapter, _In_ PDEVICE_OBJECT DeviceObject, _In_ PVOID DmaTransferContext, _In_ ULONG NumberOfMapRegisters, _In_ ULONG Flags, _In_opt_ PDRIVER_CONTROL ExecutionRoutine, _In_opt_ PVOID ExecutionContext, _Out_opt_ PVOID *MapRegisterBase)
enum _DIRECTORY_NOTIFY_INFORMATION_CLASS * PDIRECTORY_NOTIFY_INFORMATION_CLASS
struct _AGP_TARGET_BUS_INTERFACE_STANDARD * PAGP_TARGET_BUS_INTERFACE_STANDARD
struct _BUS_INTERFACE_STANDARD BUS_INTERFACE_STANDARD
struct _IO_DISCONNECT_INTERRUPT_PARAMETERS IO_DISCONNECT_INTERRUPT_PARAMETERS
struct _PCI_COMMON_CONFIG PCI_COMMON_CONFIG
union _PCI_EXPRESS_UNCORRECTABLE_ERROR_STATUS PCI_EXPRESS_UNCORRECTABLE_ERROR_STATUS
struct _DMA_CONFIGURATION_BYTE1 DMA_CONFIGURATION_BYTE1
VOID(NTAPI * PIO_DEVICE_EJECT_CALLBACK)(_In_ NTSTATUS Status, _Inout_opt_ PVOID Context)
struct _DMA_TRANSFER_INFO_V1 * PDMA_TRANSFER_INFO_V1
struct _FILE_IOSTATUSBLOCK_RANGE_INFORMATION * PFILE_IOSTATUSBLOCK_RANGE_INFORMATION
struct _DMA_ADAPTER * PDMA_ADAPTER
_In_ PLARGE_INTEGER _In_ ULONG _In_ ULONG _Out_ PVOID _Out_ PMDL _Out_ PIO_STATUS_BLOCK _Out_ struct _COMPRESSED_DATA_INFO * CompressedDataInfo
enum _DEVICE_RELATION_TYPE * PDEVICE_RELATION_TYPE
union _PCI_EXPRESS_AER_CAPABILITIES PCI_EXPRESS_AER_CAPABILITIES
struct _FILE_FS_OBJECTID_INFORMATION FILE_FS_OBJECTID_INFORMATION
struct _REPARSE_GUID_DATA_BUFFER * PREPARSE_GUID_DATA_BUFFER
enum _FS_FILTER_STREAM_FO_NOTIFICATION_TYPE FS_FILTER_STREAM_FO_NOTIFICATION_TYPE
struct _PCI_PM_CAPABILITY PCI_PM_CAPABILITY
FAST_IO_UNLOCK_SINGLE * PFAST_IO_UNLOCK_SINGLE
struct _FILE_LINKS_INFORMATION * PFILE_LINKS_INFORMATION
_In_ PLARGE_INTEGER _In_ ULONG _In_ ULONG _Out_ PVOID _Out_ PMDL _Out_ PIO_STATUS_BLOCK _Out_ struct _COMPRESSED_DATA_INFO _In_ ULONG CompressedDataInfoLength
DRIVER_DISPATCH * PDRIVER_DISPATCH
struct _EISA_DMA_CONFIGURATION EISA_DMA_CONFIGURATION
_In_ struct _IRP _In_ struct _SCATTER_GATHER_LIST * ScatterGather
struct _DEVICE_RELATIONS * PDEVICE_RELATIONS
IO_DPC_ROUTINE * PIO_DPC_ROUTINE
union _PCI_EXPRESS_CAPABILITIES_REGISTER PCI_EXPRESS_CAPABILITIES_REGISTER
struct _FILE_STANDARD_LINK_INFORMATION FILE_STANDARD_LINK_INFORMATION
struct _IO_SECURITY_CONTEXT * PIO_SECURITY_CONTEXT
struct _DISK_SIGNATURE * PDISK_SIGNATURE
PVOID(NTAPI * PALLOCATE_COMMON_BUFFER_EX)(_In_ PDMA_ADAPTER DmaAdapter, _In_opt_ PPHYSICAL_ADDRESS MaximumAddress, _In_ ULONG Length, _Out_ PPHYSICAL_ADDRESS LogicalAddress, _In_ BOOLEAN CacheEnabled, _In_ NODE_REQUIREMENT PreferredNode)
union _PCI_EXPRESS_SLOT_CONTROL_REGISTER * PPCI_EXPRESS_SLOT_CONTROL_REGISTER
struct _FILE_MOVE_CLUSTER_INFORMATION FILE_MOVE_CLUSTER_INFORMATION
struct _ARBITER_TEST_ALLOCATION_PARAMETERS * PARBITER_TEST_ALLOCATION_PARAMETERS
enum _IO_SESSION_STATE IO_SESSION_STATE
struct _PCI_MSIX_TABLE_CONFIG_INTERFACE * PPCI_MSIX_TABLE_CONFIG_INTERFACE
@ InstallStateFailedInstall
@ InstallStateFinishInstall
@ InstallStateNeedsReinstall
struct _IO_REMOVE_LOCK IO_REMOVE_LOCK
VOID(NTAPI * PciReadWriteConfig)(_In_ struct _BUS_HANDLER *BusHandler, _In_ PCI_SLOT_NUMBER Slot, _In_reads_bytes_(Length) PVOID Buffer, _In_ ULONG Offset, _In_ ULONG Length)
struct _EISA_PORT_DESCRIPTOR EISA_PORT_DESCRIPTOR
struct _PCI_SUBSYSTEM_IDS_CAPABILITY * PPCI_SUBSYSTEM_IDS_CAPABILITY
struct _IO_SESSION_STATE_NOTIFICATION * PIO_SESSION_STATE_NOTIFICATION
struct _PCI_ROOT_BUS_HARDWARE_CAPABILITY * PPCI_ROOT_BUS_HARDWARE_CAPABILITY
DRIVER_CONTROL * PDRIVER_CONTROL
struct _PNP_REPLACE_PROCESSOR_LIST_V1 * PPNP_REPLACE_PROCESSOR_LIST_V1
struct _BUS_INTERFACE_STANDARD * PBUS_INTERFACE_STANDARD
struct _PHYSICAL_COUNTER_RESOURCE_LIST PHYSICAL_COUNTER_RESOURCE_LIST
struct _REENUMERATE_SELF_INTERFACE_STANDARD * PREENUMERATE_SELF_INTERFACE_STANDARD
struct _FILE_GET_QUOTA_INFORMATION * PFILE_GET_QUOTA_INFORMATION
union _PCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_STATUS * PPCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_STATUS
union _PCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_SEVERITY PCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_SEVERITY
struct _ARBITER_QUERY_CONFLICT_PARAMETERS * PARBITER_QUERY_CONFLICT_PARAMETERS
struct _CM_EISA_SLOT_INFORMATION CM_EISA_SLOT_INFORMATION
struct _ARBITER_CONFLICT_INFO ARBITER_CONFLICT_INFO
IO_WORKITEM_ROUTINE_EX * PIO_WORKITEM_ROUTINE_EX
enum _IO_SESSION_EVENT IO_SESSION_EVENT
union _PCI_EXPRESS_SLOT_STATUS_REGISTER PCI_EXPRESS_SLOT_STATUS_REGISTER
struct _ARBITER_BOOT_ALLOCATION_PARAMETERS ARBITER_BOOT_ALLOCATION_PARAMETERS
struct _LOADER_PARTITION_INFORMATION_EX LOADER_PARTITION_INFORMATION_EX
struct _D3COLD_AUX_POWER_AND_TIMING_INTERFACE * PD3COLD_AUX_POWER_AND_TIMING_INTERFACE
struct _FS_FILTER_CALLBACKS FS_FILTER_CALLBACKS
union _PCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_MASK * PPCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_MASK
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS _Out_ PPHYSICAL_ADDRESS DestinationAddress
struct _IO_INTERRUPT_MESSAGE_INFO_ENTRY IO_INTERRUPT_MESSAGE_INFO_ENTRY
struct _PCI_EXPRESS_CAPABILITY PCI_EXPRESS_CAPABILITY
struct _PCI_COMMON_HEADER * PPCI_COMMON_HEADER
SET_D3COLD_SUPPORT * PSET_D3COLD_SUPPORT
struct _IO_ERROR_LOG_MESSAGE IO_ERROR_LOG_MESSAGE
struct _PCI_EXPRESS_LINK_QUIESCENT_INTERFACE * PPCI_EXPRESS_LINK_QUIESCENT_INTERFACE
struct _FILE_SFIO_RESERVE_INFORMATION * PFILE_SFIO_RESERVE_INFORMATION
_IO_NOTIFICATION_EVENT_CATEGORY
@ EventCategoryTargetDeviceChange
@ EventCategoryDeviceInterfaceChange
@ EventCategoryHardwareProfileChange
struct _HWPROFILE_CHANGE_NOTIFICATION HWPROFILE_CHANGE_NOTIFICATION
_In_ PDEVICE_OBJECT DeviceObject
enum _DMA_SPEED DMA_SPEED
struct _PCI_SLOT_NUMBER PCI_SLOT_NUMBER
union _PCI_EXPRESS_ROOT_STATUS_REGISTER * PPCI_EXPRESS_ROOT_STATUS_REGISTER
struct _PCIBUSDATA PCIBUSDATA
FAST_IO_QUERY_OPEN * PFAST_IO_QUERY_OPEN
struct _IO_WORKITEM * PIO_WORKITEM
struct _REENUMERATE_SELF_INTERFACE_STANDARD REENUMERATE_SELF_INTERFACE_STANDARD
struct _IO_ERROR_LOG_PACKET * PIO_ERROR_LOG_PACKET
struct _PCI_EXPRESS_AER_CAPABILITY PCI_EXPRESS_AER_CAPABILITY
struct _EISA_PORT_CONFIGURATION EISA_PORT_CONFIGURATION
VOID(NTAPI * PFREE_ADAPTER_OBJECT)(_In_ PDMA_ADAPTER DmaAdapter, _In_ IO_ALLOCATION_ACTION AllocationAction)
struct _ARBITER_ADD_RESERVED_PARAMETERS ARBITER_ADD_RESERVED_PARAMETERS
struct _PCI_EXPRESS_AER_CAPABILITY * PPCI_EXPRESS_AER_CAPABILITY
struct _FILE_COMPRESSION_INFORMATION * PFILE_COMPRESSION_INFORMATION
struct _IO_SECURITY_CONTEXT IO_SECURITY_CONTEXT
HANDLE(NTAPI * PGET_DMA_DOMAIN)(_In_ PDMA_ADAPTER DmaAdapter)
ULONG KINTERRUPT_MODE BOOLEAN Shareable
enum _ARBITER_RESULT ARBITER_RESULT
ULONG(NTAPI * PPCI_EXPRESS_ROOT_PORT_READ_CONFIG_SPACE)(_In_ PVOID Context, _Out_writes_bytes_(Length) PVOID Buffer, _In_ ULONG Offset, _In_ ULONG Length)
FAST_IO_ACQUIRE_FILE * PFAST_IO_ACQUIRE_FILE
struct _FAST_IO_DISPATCH FAST_IO_DISPATCH
PCI_EXPRESS_MAX_PAYLOAD_SIZE
struct _PCI_EXPRESS_ROOTPORT_AER_CAPABILITY * PPCI_EXPRESS_ROOTPORT_AER_CAPABILITY
struct _FILE_VALID_DATA_LENGTH_INFORMATION * PFILE_VALID_DATA_LENGTH_INFORMATION
struct _BOOTDISK_INFORMATION BOOTDISK_INFORMATION
struct _FS_FILTER_CALLBACK_DATA * PFS_FILTER_CALLBACK_DATA
PVOID(NTAPI * PALLOCATE_COMMON_BUFFER)(_In_ PDMA_ADAPTER DmaAdapter, _In_ ULONG Length, _Out_ PPHYSICAL_ADDRESS LogicalAddress, _In_ BOOLEAN CacheEnabled)
struct _FILE_SFIO_RESERVE_INFORMATION FILE_SFIO_RESERVE_INFORMATION
struct _IO_COMPLETION_CONTEXT * PIO_COMPLETION_CONTEXT
struct _EISA_PORT_CONFIGURATION * PEISA_PORT_CONFIGURATION
FAST_IO_DETACH_DEVICE * PFAST_IO_DETACH_DEVICE
NTSTATUS(NTAPI * PLEGACY_DEVICE_DETECTION_HANDLER)(IN PVOID Context, IN INTERFACE_TYPE LegacyBusType, IN ULONG BusNumber, IN ULONG SlotNumber, OUT PDEVICE_OBJECT *PhysicalDeviceObject)
struct _EISA_IRQ_CONFIGURATION EISA_IRQ_CONFIGURATION
struct _DMA_TRANSFER_INFO_V1 DMA_TRANSFER_INFO_V1
struct _PNP_REPLACE_PROCESSOR_LIST PNP_REPLACE_PROCESSOR_LIST
struct _FILE_IO_PRIORITY_HINT_INFORMATION FILE_IO_PRIORITY_HINT_INFORMATION
struct _EISA_IRQ_DESCRIPTOR EISA_IRQ_DESCRIPTOR
NTSTATUS(NTAPI * PLEAVE_DMA_DOMAIN)(_In_ PDMA_ADAPTER DmaAdapter)
NTSTATUS(NTAPI * PGET_DMA_ADAPTER_INFO)(_In_ PDMA_ADAPTER DmaAdapter, _Inout_ PDMA_ADAPTER_INFO AdapterInfo)
struct _REMOTE_LINK_TRACKING_INFORMATION * PREMOTE_LINK_TRACKING_INFORMATION
_In_ SYSTEM_POWER_STATE _Out_ PDEVICE_WAKE_DEPTH DeepestWakeableDstate
union _PCI_EXPRESS_UNCORRECTABLE_ERROR_MASK * PPCI_EXPRESS_UNCORRECTABLE_ERROR_MASK
struct _DRIVER_EXTENSION DRIVER_EXTENSION
union _FILE_SEGMENT_ELEMENT FILE_SEGMENT_ELEMENT
PCI_MSIX_GET_TABLE_SIZE * PPCI_MSIX_GET_TABLE_SIZE
enum _IO_CONTAINER_NOTIFICATION_CLASS IO_CONTAINER_NOTIFICATION_CLASS
_DIRECTORY_NOTIFY_INFORMATION_CLASS
@ DirectoryNotifyInformation
@ DirectoryNotifyExtendedInformation
struct _PCI_SUBSYSTEM_IDS_CAPABILITY PCI_SUBSYSTEM_IDS_CAPABILITY
DRIVER_FS_NOTIFICATION * PDRIVER_FS_NOTIFICATION
FAST_IO_WRITE * PFAST_IO_WRITE
BOOLEAN(NTAPI * PGPE_SERVICE_ROUTINE)(PVOID, PVOID)
enum _PCI_HARDWARE_INTERFACE * PPCI_HARDWARE_INTERFACE
struct _DEVICE_RELATIONS DEVICE_RELATIONS
union _PCI_EXPRESS_UNCORRECTABLE_ERROR_SEVERITY * PPCI_EXPRESS_UNCORRECTABLE_ERROR_SEVERITY
struct _FILE_LINK_ENTRY_INFORMATION * PFILE_LINK_ENTRY_INFORMATION
struct _IO_CONNECT_INTERRUPT_LINE_BASED_PARAMETERS * PIO_CONNECT_INTERRUPT_LINE_BASED_PARAMETERS
struct _PCI_DEVICE_PRESENCE_PARAMETERS PCI_DEVICE_PRESENCE_PARAMETERS
struct _PCI_AGP_CONTROL PCI_AGP_CONTROL
struct _FILE_PROCESS_IDS_USING_FILE_INFORMATION * PFILE_PROCESS_IDS_USING_FILE_INFORMATION
VOID(NTAPI * PCI_ROOT_BUS_CAPABILITY)(_In_ PVOID Context, _Out_ PPCI_ROOT_BUS_HARDWARE_CAPABILITY HardwareCapability)
struct _ARBITER_LIST_ENTRY ARBITER_LIST_ENTRY
VOID(NTAPI * PGET_COMMON_BUFFER_FROM_VECTOR_BY_INDEX)(_In_ PDMA_ADAPTER DmaAdapter, _In_ PDMA_COMMON_BUFFER_VECTOR Vector, _In_ ULONG Index, _Out_ PVOID *VirtualAddressOut, _Out_ PPHYSICAL_ADDRESS LogicalAddressOut)
struct _BOOTDISK_INFORMATION * PBOOTDISK_INFORMATION
struct _PNP_REPLACE_DRIVER_INTERFACE PNP_REPLACE_DRIVER_INTERFACE
struct _TRANSLATOR_INTERFACE TRANSLATOR_INTERFACE
enum _IO_PRIORITY_HINT IO_PRIORITY_HINT
_In_ USHORT _In_ UCHAR _In_ USHORT _In_ USHORT SubSystemID
GET_D3COLD_CAPABILITY * PGET_D3COLD_CAPABILITY
union _PCI_EXPRESS_LINK_CAPABILITIES_REGISTER PCI_EXPRESS_LINK_CAPABILITIES_REGISTER
@ CreateFileTypeNamedPipe
struct _SCATTER_GATHER_ELEMENT SCATTER_GATHER_ELEMENT
struct _DMA_COMMON_BUFFER_VECTOR * PDMA_COMMON_BUFFER_VECTOR
struct _CONFIGURATION_INFORMATION * PCONFIGURATION_INFORMATION
struct _AGP_TARGET_BUS_INTERFACE_STANDARD AGP_TARGET_BUS_INTERFACE_STANDARD
struct _IO_CONNECT_INTERRUPT_FULLY_SPECIFIED_PARAMETERS * PIO_CONNECT_INTERRUPT_FULLY_SPECIFIED_PARAMETERS
IO_TIMER_ROUTINE * PIO_TIMER_ROUTINE
struct _PCI_ROOT_BUS_HARDWARE_CAPABILITY PCI_ROOT_BUS_HARDWARE_CAPABILITY
enum _IO_QUERY_DEVICE_DATA_FORMAT * PIO_QUERY_DEVICE_DATA_FORMAT
struct _IO_CONNECT_INTERRUPT_FULLY_SPECIFIED_PARAMETERS IO_CONNECT_INTERRUPT_FULLY_SPECIFIED_PARAMETERS
struct _IO_PRIORITY_INFO * PIO_PRIORITY_INFO
struct _PCI_EXPRESS_BRIDGE_AER_CAPABILITY PCI_EXPRESS_BRIDGE_AER_CAPABILITY
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS SourceAddress
VOID(NTAPI * PCI_EXPRESS_WAKE_CONTROL)(_In_ PVOID Context, _In_ BOOLEAN EnableWake)
VOID(NTAPI * PREENUMERATE_SELF)(_In_ PVOID Context)
struct _DEVICE_DESCRIPTION * PDEVICE_DESCRIPTION
struct _PCI_CAPABILITIES_HEADER * PPCI_CAPABILITIES_HEADER
struct _FILE_LINKS_INFORMATION FILE_LINKS_INFORMATION
struct _DMA_TRANSFER_INFO DMA_TRANSFER_INFO
struct _REPARSE_INDEX_KEY REPARSE_INDEX_KEY
FAST_IO_RELEASE_FOR_MOD_WRITE * PFAST_IO_RELEASE_FOR_MOD_WRITE
VOID(NTAPI * PPME_GET_INFORMATION)(IN PDEVICE_OBJECT Pdo, OUT PBOOLEAN PmeCapable, OUT PBOOLEAN PmeStatus, OUT PBOOLEAN PmeEnable)
struct _PATHNAME_BUFFER * PPATHNAME_BUFFER
struct _FILE_FS_LABEL_INFORMATION * PFILE_FS_LABEL_INFORMATION
struct _FILE_IS_REMOTE_DEVICE_INFORMATION FILE_IS_REMOTE_DEVICE_INFORMATION
struct _TARGET_DEVICE_CUSTOM_NOTIFICATION TARGET_DEVICE_CUSTOM_NOTIFICATION
union _PCI_EXPRESS_ROOT_CAPABILITIES_REGISTER * PPCI_EXPRESS_ROOT_CAPABILITIES_REGISTER
struct _FILE_SFIO_VOLUME_INFORMATION FILE_SFIO_VOLUME_INFORMATION
struct _PCI_COMMON_HEADER PCI_COMMON_HEADER
struct _D3COLD_SUPPORT_INTERFACE D3COLD_SUPPORT_INTERFACE
_IO_CONTAINER_NOTIFICATION_CLASS
@ IoMaxContainerNotificationClass
@ IoSessionStateNotification
struct _DMA_TRANSFER_INFO_V2 DMA_TRANSFER_INFO_V2
PCI_EXPRESS_ENTER_LINK_QUIESCENT_MODE * PPCI_EXPRESS_ENTER_LINK_QUIESCENT_MODE
_IO_COMPLETION_ROUTINE_RESULT
_D3COLD_LAST_TRANSITION_STATUS
@ LastDStateTransitionStatusUnknown
@ LastDStateTransitionD3hot
@ LastDStateTransitionD3cold
enum _IO_SESSION_STATE * PIO_SESSION_STATE
struct _IO_DISCONNECT_INTERRUPT_PARAMETERS * PIO_DISCONNECT_INTERRUPT_PARAMETERS
struct _EISA_IRQ_CONFIGURATION * PEISA_IRQ_CONFIGURATION
struct _DMA_ADAPTER_INFO DMA_ADAPTER_INFO
@ DeviceWakeDepthNotWakeable
FAST_IO_RELEASE_FILE * PFAST_IO_RELEASE_FILE
struct _LINK_TRACKING_INFORMATION LINK_TRACKING_INFORMATION
struct _ARBITER_INTERFACE * PARBITER_INTERFACE
union _PCI_EXPRESS_ERROR_SOURCE_ID * PPCI_EXPRESS_ERROR_SOURCE_ID
@ DeviceTextLocationInformation
FAST_IO_QUERY_STANDARD_INFO * PFAST_IO_QUERY_STANDARD_INFO
GET_D3COLD_LAST_TRANSITION_STATUS * PGET_D3COLD_LAST_TRANSITION_STATUS
D3COLD_REQUEST_CORE_POWER_RAIL * PD3COLD_REQUEST_CORE_POWER_RAIL
enum _DEVICE_TEXT_TYPE DEVICE_TEXT_TYPE
NTSTATUS(NTAPI * PARBITER_HANDLER)(_Inout_opt_ PVOID Context, _In_ ARBITER_ACTION Action, _Inout_ PARBITER_PARAMETERS Parameters)
union _PCI_EXPRESS_DEVICE_CONTROL_REGISTER * PPCI_EXPRESS_DEVICE_CONTROL_REGISTER
struct _FILE_FS_DRIVER_PATH_INFORMATION FILE_FS_DRIVER_PATH_INFORMATION
enum _DEVICE_INSTALL_STATE * PDEVICE_INSTALL_STATE
struct _FILE_FS_CONTROL_INFORMATION FILE_FS_CONTROL_INFORMATION
enum _CREATE_FILE_TYPE CREATE_FILE_TYPE
enum _FSINFOCLASS FS_INFORMATION_CLASS
struct _IO_SESSION_STATE_INFORMATION * PIO_SESSION_STATE_INFORMATION
_In_ USHORT _In_ UCHAR RevisionID
struct _SHARE_ACCESS SHARE_ACCESS
BOOLEAN(NTAPI * PGPE_SERVICE_ROUTINE2)(PVOID ObjectContext, PVOID ServiceContext)
_Out_ PD3COLD_LAST_TRANSITION_STATUS LastTransitionStatus
struct _PCIX_BRIDGE_CAPABILITY * PPCIX_BRIDGE_CAPABILITY
union _PCI_EXPRESS_CORRECTABLE_ERROR_STATUS PCI_EXPRESS_CORRECTABLE_ERROR_STATUS
struct _BOOTDISK_INFORMATION_LITE BOOTDISK_INFORMATION_LITE
union _PCI_EXPRESS_ROOT_CONTROL_REGISTER * PPCI_EXPRESS_ROOT_CONTROL_REGISTER
struct _D3COLD_AUX_POWER_AND_TIMING_INTERFACE D3COLD_AUX_POWER_AND_TIMING_INTERFACE
struct PCI_X_CAPABILITY * PPCI_X_CAPABILITY
FAST_IO_ACQUIRE_FOR_CCFLUSH * PFAST_IO_ACQUIRE_FOR_CCFLUSH
struct _PCI_AGP_ISOCH_COMMAND PCI_AGP_ISOCH_COMMAND
TRANSLATE_BUS_ADDRESS * PTRANSLATE_BUS_ADDRESS
NTSTATUS(NTAPI * PGET_SCATTER_GATHER_LIST)(_In_ PDMA_ADAPTER DmaAdapter, _In_ PDEVICE_OBJECT DeviceObject, _In_ PMDL Mdl, _In_ PVOID CurrentVa, _In_ ULONG Length, _In_ PDRIVER_LIST_CONTROL ExecutionRoutine, _In_ PVOID Context, _In_ BOOLEAN WriteToDevice)
PCI_EXPRESS_CARD_PRESENCE
enum _DMA_WIDTH DMA_WIDTH
struct _PNP_REPLACE_PARAMETERS * PPNP_REPLACE_PARAMETERS
#define MAXIMUM_VOLUME_LABEL_LENGTH
_In_ PLARGE_INTEGER EndingOffset
struct _DMA_ADAPTER_INFO_V1 * PDMA_ADAPTER_INFO_V1
struct _IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS * PIO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS
struct _TXN_PARAMETER_BLOCK TXN_PARAMETER_BLOCK
struct _CONTROLLER_OBJECT * PCONTROLLER_OBJECT
struct _FILE_FS_VOLUME_FLAGS_INFORMATION * PFILE_FS_VOLUME_FLAGS_INFORMATION
struct _IO_SESSION_CONNECT_INFO IO_SESSION_CONNECT_INFO
DRIVER_NOTIFICATION_CALLBACK_ROUTINE * PDRIVER_NOTIFICATION_CALLBACK_ROUTINE
struct _PCI_PMCSR_BSE PCI_PMCSR_BSE
union _PCI_EXPRESS_SRIOV_CAPS * PPCI_EXPRESS_SRIOV_CAPS
union _PCI_EXPRESS_CORRECTABLE_ERROR_MASK * PPCI_CORRECTABLE_ERROR_MASK
enum _ARBITER_ACTION ARBITER_ACTION
VOID(NTAPI * PCI_PIN_TO_LINE)(_In_ PVOID Context, _In_ PPCI_COMMON_CONFIG PciData)
ULONG(NTAPI * PPCI_EXPRESS_ROOT_PORT_WRITE_CONFIG_SPACE)(_In_ PVOID Context, _In_reads_bytes_(Length) PVOID Buffer, _In_ ULONG Offset, _In_ ULONG Length)
union _PCI_EXPRESS_ROOT_ERROR_STATUS * PPCI_EXPRESS_ROOT_ERROR_STATUS
struct _LEGACY_BUS_INFORMATION LEGACY_BUS_INFORMATION
enum _IO_ALLOCATION_ACTION * PIO_ALLOCATION_ACTION
NTSTATUS(NTAPI * PCALCULATE_SCATTER_GATHER_LIST_SIZE)(_In_ PDMA_ADAPTER DmaAdapter, _In_ PMDL Mdl OPTIONAL, _In_ PVOID CurrentVa, _In_ ULONG Length, _Out_ PULONG ScatterGatherListSize, _Out_ OPTIONAL PULONG pNumberOfMapRegisters)
struct _FILE_ID_FULL_DIR_INFORMATION * PFILE_ID_FULL_DIR_INFORMATION
union _PCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_STATUS PCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_STATUS
struct _ROUTING_TOKEN * PROUTING_TOKEN
union _PCI_EXPRESS_SLOT_CAPABILITIES_REGISTER PCI_EXPRESS_SLOT_CAPABILITIES_REGISTER
struct _PNP_REPLACE_MEMORY_LIST * PPNP_REPLACE_MEMORY_LIST
struct _ACPI_INTERFACE_STANDARD * PACPI_INTERFACE_STANDARD
struct _PCI_PM_CAPABILITY * PPCI_PM_CAPABILITY
ULONG * PPNP_DEVICE_STATE
enum _PCI_HARDWARE_INTERFACE PCI_HARDWARE_INTERFACE
_In_ BOOLEAN D3ColdSupport
_In_ SYSTEM_POWER_STATE SystemPowerState
union _PCI_EXPRESS_SRIOV_STATUS * PPCI_EXPRESS_SRIOV_STATUS
@ IoSessionEventDisconnected
@ IoSessionEventTerminated
@ IoSessionEventConnected
VOID(NTAPI * PPUT_SCATTER_GATHER_LIST)(_In_ PDMA_ADAPTER DmaAdapter, _In_ PSCATTER_GATHER_LIST ScatterGather, _In_ BOOLEAN WriteToDevice)
PVOID(NTAPI * PALLOCATE_COMMON_BUFFER_WITH_BOUNDS)(_In_ PDMA_ADAPTER DmaAdapter, _In_opt_ PPHYSICAL_ADDRESS MinimumAddress, _In_opt_ PPHYSICAL_ADDRESS MaximumAddress, _In_ ULONG Length, _In_ ULONG Flags, _In_opt_ MEMORY_CACHING_TYPE *CacheType, _In_ NODE_REQUIREMENT PreferredNode, _Out_ PPHYSICAL_ADDRESS LogicalAddress)
struct _FILE_REMOTE_PROTOCOL_INFORMATION FILE_REMOTE_PROTOCOL_INFORMATION
_In_ ULONG _Out_ PULONG RetryInSeconds
@ BusQueryDeviceSerialNumber
VOID(NTAPI * PREPLACE_UNLOAD)(VOID)
FAST_IO_MDL_READ_COMPLETE_COMPRESSED * PFAST_IO_MDL_READ_COMPLETE_COMPRESSED
struct _FILE_PROCESS_IDS_USING_FILE_INFORMATION FILE_PROCESS_IDS_USING_FILE_INFORMATION
struct _PCI_AGP_ISOCH_STATUS PCI_AGP_ISOCH_STATUS
struct _ARBITER_QUERY_CONFLICT_PARAMETERS ARBITER_QUERY_CONFLICT_PARAMETERS
PCI_EXPRESS_EXIT_LINK_QUIESCENT_MODE * PPCI_EXPRESS_EXIT_LINK_QUIESCENT_MODE
enum _PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR_TYPE PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR_TYPE
_Must_inspect_result_ typedef _In_ ULONG _In_ ULONG MessageNumber
struct _CONTROLLER_OBJECT CONTROLLER_OBJECT
struct _PCI_AGP_ISOCH_COMMAND * PPCI_AGP_ISOCH_COMMAND
VOID(NTAPI * PDEVICE_NOTIFY_CALLBACK)(PVOID, ULONG)
struct _FS_FILTER_CALLBACK_DATA FS_FILTER_CALLBACK_DATA
#define PCI_COMMON_HEADER_LAYOUT
VOID(NTAPI * PPUT_DMA_ADAPTER)(PDMA_ADAPTER DmaAdapter)
struct _IO_CONNECT_INTERRUPT_PARAMETERS IO_CONNECT_INTERRUPT_PARAMETERS
struct _LEGACY_DEVICE_DETECTION_INTERFACE * PLEGACY_DEVICE_DETECTION_INTERFACE
@ IoSessionStateDisconnected
@ IoSessionStateConnected
@ IoSessionStateTerminated
@ IoSessionStateDisconnectedLoggedOn
@ IoSessionStateInitialized
@ IoSessionStateLoggedOff
union _PCI_EXPRESS_SLOT_CAPABILITIES_REGISTER * PPCI_EXPRESS_SLOT_CAPABILITIES_REGISTER
enum _DEVICE_RELATION_TYPE DEVICE_RELATION_TYPE
struct _FILE_TRACKING_INFORMATION * PFILE_TRACKING_INFORMATION
struct _ARBITER_RETEST_ALLOCATION_PARAMETERS ARBITER_RETEST_ALLOCATION_PARAMETERS
FAST_IO_UNLOCK_ALL * PFAST_IO_UNLOCK_ALL
struct _PCI_PME_INTERFACE * PPCI_PME_INTERFACE
struct _PCI_EXPRESS_ROOT_PORT_INTERFACE PCI_EXPRESS_ROOT_PORT_INTERFACE
enum _EXTENDED_AGP_REGISTER EXTENDED_AGP_REGISTER
struct _DMA_ADAPTER DMA_ADAPTER
PCI_IS_DEVICE_PRESENT * PPCI_IS_DEVICE_PRESENT
union _FS_FILTER_PARAMETERS FS_FILTER_PARAMETERS
FORCEINLINE DEVICE_POWER_STATE MapWakeDepthToDstate(_In_ DEVICE_WAKE_DEPTH WakeDepth)
struct _DMA_TRANSFER_INFO_V2 * PDMA_TRANSFER_INFO_V2
struct PCI_AGP_EXTENDED_CAPABILITY * PPCI_AGP_EXTENDED_CAPABILITY
PDEVICE_NOTIFY_CALLBACK2 NotificationHandler
struct _TARGET_DEVICE_REMOVAL_NOTIFICATION TARGET_DEVICE_REMOVAL_NOTIFICATION
NTSTATUS(NTAPI * PCARDBUSADD)(IN PDEVICE_OBJECT DeviceObject, IN OUT PVOID *DeviceContext)
struct _PCI_PME_INTERFACE PCI_PME_INTERFACE
DMA_COMPLETION_ROUTINE * PDMA_COMPLETION_ROUTINE
NTSTATUS(NTAPI * PIO_QUERY_DEVICE_ROUTINE)(_In_ PVOID Context, _In_ PUNICODE_STRING PathName, _In_ INTERFACE_TYPE BusType, _In_ ULONG BusNumber, _In_ PKEY_VALUE_FULL_INFORMATION *BusInformation, _In_ CONFIGURATION_TYPE ControllerType, _In_ ULONG ControllerNumber, _In_ PKEY_VALUE_FULL_INFORMATION *ControllerInformation, _In_ CONFIGURATION_TYPE PeripheralType, _In_ ULONG PeripheralNumber, _In_ PKEY_VALUE_FULL_INFORMATION *PeripheralInformation)
struct _DMA_TRANSFER_INFO * PDMA_TRANSFER_INFO
struct _FILE_GET_QUOTA_INFORMATION FILE_GET_QUOTA_INFORMATION
NTSTATUS(NTAPI * PALLOCATE_ADAPTER_CHANNEL)(_In_ PDMA_ADAPTER DmaAdapter, _In_ PDEVICE_OBJECT DeviceObject, _In_ ULONG NumberOfMapRegisters, _In_ PDRIVER_CONTROL ExecutionRoutine, _In_ PVOID Context)
struct _TRANSLATOR_INTERFACE * PTRANSLATOR_INTERFACE
@ GroupAffinityAllGroupZero
enum _IRQ_GROUP_POLICY * PIRQ_GROUP_POLICY
enum _IO_COMPLETION_ROUTINE_RESULT * PIO_COMPLETION_ROUTINE_RESULT
struct _DMA_CONFIGURATION_BYTE0 DMA_CONFIGURATION_BYTE0
@ ArbiterResultExternalConflict
@ ArbiterResultNullRequest
NTSTATUS(NTAPI * PIO_CONTAINER_NOTIFICATION_FUNCTION)(VOID)
union _PCI_EXPRESS_SRIOV_MIGRATION_STATE_ARRAY * PPCI_EXPRESS_SRIOV_MIGRATION_STATE_ARRAY
enum _IO_ACCESS_MODE IO_ACCESS_MODE
struct _PCI_EXPRESS_SERIAL_NUMBER_CAPABILITY PCI_EXPRESS_SERIAL_NUMBER_CAPABILITY
struct _FILE_FS_DRIVER_PATH_INFORMATION * PFILE_FS_DRIVER_PATH_INFORMATION
struct _FILE_FS_CONTROL_INFORMATION * PFILE_FS_CONTROL_INFORMATION
struct _IO_INTERRUPT_MESSAGE_INFO_ENTRY * PIO_INTERRUPT_MESSAGE_INFO_ENTRY
_Out_ PBOOLEAN D3ColdSupported
struct _REPARSE_GUID_DATA_BUFFER REPARSE_GUID_DATA_BUFFER
enum _LINK_TRACKING_INFORMATION_TYPE LINK_TRACKING_INFORMATION_TYPE
struct _IO_RESOURCE_REQUIREMENTS_LIST * PIO_RESOURCE_REQUIREMENTS_LIST
DRIVER_DISPATCH_PAGED * PDRIVER_DISPATCH_PAGED
struct _FILE_PIPE_CLIENT_PROCESS_BUFFER FILE_PIPE_CLIENT_PROCESS_BUFFER
struct _REPARSE_INDEX_KEY * PREPARSE_INDEX_KEY
union _PCI_EXPRESS_LINK_CONTROL_REGISTER PCI_EXPRESS_LINK_CONTROL_REGISTER
FWMI_NOTIFICATION_CALLBACK * WMI_NOTIFICATION_CALLBACK
struct _HWPROFILE_CHANGE_NOTIFICATION * PHWPROFILE_CHANGE_NOTIFICATION
IO_WORKITEM_ROUTINE * PIO_WORKITEM_ROUTINE
struct _TARGET_DEVICE_REMOVAL_NOTIFICATION * PTARGET_DEVICE_REMOVAL_NOTIFICATION
enum _D3COLD_LAST_TRANSITION_STATUS D3COLD_LAST_TRANSITION_STATUS
enum _IO_SESSION_EVENT * PIO_SESSION_EVENT
GET_IDLE_WAKE_INFO * PGET_IDLE_WAKE_INFO
enum _DEVICE_WAKE_DEPTH * PDEVICE_WAKE_DEPTH
struct _PCI_EXPRESS_BRIDGE_AER_CAPABILITY * PPCI_EXPRESS_BRIDGE_AER_CAPABILITY
struct _DEVICE_DESCRIPTION DEVICE_DESCRIPTION
struct _FILE_PIPE_CLIENT_PROCESS_BUFFER_EX * PFILE_PIPE_CLIENT_PROCESS_BUFFER_EX
struct _D3COLD_SUPPORT_INTERFACE * PD3COLD_SUPPORT_INTERFACE
_In_ USHORT _In_ UCHAR _In_ USHORT SubVendorID
struct _LEGACY_BUS_INFORMATION * PLEGACY_BUS_INFORMATION
struct _IO_REMOVE_LOCK * PIO_REMOVE_LOCK
struct _CLIENT_ID * PCLIENT_ID
enum _LINK_TRACKING_INFORMATION_TYPE * PLINK_TRACKING_INFORMATION_TYPE
union _PCI_EXPRESS_LINK_STATUS_REGISTER * PPCI_EXPRESS_LINK_STATUS_REGISTER
NTSTATUS(NTAPI * PMM_DLL_INITIALIZE)(_In_ PUNICODE_STRING RegistryPath)
FAST_IO_READ * PFAST_IO_READ
enum _DEVICE_USAGE_NOTIFICATION_TYPE DEVICE_USAGE_NOTIFICATION_TYPE
VOID(NTAPI * PFREE_COMMON_BUFFER)(_In_ PDMA_ADAPTER DmaAdapter, _In_ ULONG Length, _In_ PHYSICAL_ADDRESS LogicalAddress, _In_ PVOID VirtualAddress, _In_ BOOLEAN CacheEnabled)
struct _SHARE_ACCESS * PSHARE_ACCESS
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS _Inout_ PLARGE_INTEGER NumberOfBytes
union _PCI_EXPRESS_DEVICE_CAPABILITIES_REGISTER PCI_EXPRESS_DEVICE_CAPABILITIES_REGISTER
struct _IO_CONNECT_INTERRUPT_LINE_BASED_PARAMETERS IO_CONNECT_INTERRUPT_LINE_BASED_PARAMETERS
ULONG(NTAPI * PGET_DMA_ALIGNMENT)(_In_ PDMA_ADAPTER DmaAdapter)
struct _BOOTDISK_INFORMATION_EX BOOTDISK_INFORMATION_EX
struct _FILE_PIPE_ASSIGN_EVENT_BUFFER * PFILE_PIPE_ASSIGN_EVENT_BUFFER
struct _IO_RESOURCE_REQUIREMENTS_LIST IO_RESOURCE_REQUIREMENTS_LIST
struct _WAIT_CONTEXT_BLOCK WAIT_CONTEXT_BLOCK
struct _FILE_PIPE_REMOTE_INFORMATION FILE_PIPE_REMOTE_INFORMATION
struct _PCI_EXPRESS_ENHANCED_CAPABILITY_HEADER * PPCI_EXPRESS_ENHANCED_CAPABILITY_HEADER
struct _ARBITER_INTERFACE ARBITER_INTERFACE
struct _IO_ERROR_LOG_PACKET IO_ERROR_LOG_PACKET
#define IRP_MJ_MAXIMUM_FUNCTION
enum _FS_FILTER_SECTION_SYNC_TYPE * PFS_FILTER_SECTION_SYNC_TYPE
D3COLD_REQUEST_PERST_DELAY * PD3COLD_REQUEST_PERST_DELAY
DRIVER_INITIALIZE * PDRIVER_INITIALIZE
@ RemovalPolicyExpectSurpriseRemoval
@ RemovalPolicyExpectNoRemoval
@ RemovalPolicyExpectOrderlyRemoval
VOID(NTAPI * PFREE_COMMON_BUFFER_FROM_VECTOR)(_In_ PDMA_ADAPTER DmaAdapter, _In_ PDMA_COMMON_BUFFER_VECTOR Vector, _In_ ULONG Index)
_DEVICE_USAGE_NOTIFICATION_TYPE
@ DeviceUsageTypePostDisplay
@ DeviceUsageTypeUndefined
@ DeviceUsageTypeHibernation
@ DeviceUsageTypeDumpFile
@ DeviceUsageTypeGuestAssigned
NTSTATUS(NTAPI * PFLUSH_DMA_BUFFER)(_In_ PDMA_ADAPTER DmaAdapter, _In_ PMDL Mdl, _In_ BOOLEAN ReadOperation)
struct _PCI_EXPRESS_LINK_QUIESCENT_INTERFACE PCI_EXPRESS_LINK_QUIESCENT_INTERFACE
_Inout_ PKDEVICE_QUEUE_ENTRY DeviceQueueEntry
KSERVICE_ROUTINE * PKSERVICE_ROUTINE
_IRQL_requires_same_ _In_ PKE_PROCESSOR_CHANGE_NOTIFY_CONTEXT _Inout_ PNTSTATUS OperationStatus
KMESSAGE_SERVICE_ROUTINE * PKMESSAGE_SERVICE_ROUTINE
enum _KINTERRUPT_POLARITY KINTERRUPT_POLARITY
_Must_inspect_result_ _In_ PHYSICAL_ADDRESS HighAddress
_Must_inspect_result_ _In_ PHYSICAL_ADDRESS _In_ PHYSICAL_ADDRESS _In_opt_ PHYSICAL_ADDRESS _In_ MEMORY_CACHING_TYPE _In_ NODE_REQUIREMENT PreferredNode
_In_ PEPROCESS _In_ KPROCESSOR_MODE AccessMode
_Must_inspect_result_ _In_ PHYSICAL_ADDRESS _In_ PHYSICAL_ADDRESS _In_opt_ PHYSICAL_ADDRESS _In_ MEMORY_CACHING_TYPE CacheType
enum _MEMORY_CACHING_TYPE MEMORY_CACHING_TYPE
_In_opt_ PVOID _In_opt_ PUNICODE_STRING _In_ PSECURITY_DESCRIPTOR _In_ PACCESS_STATE _In_ BOOLEAN _In_ BOOLEAN _In_ KPROCESSOR_MODE _In_opt_ GUID * TransactionId