User | Revision | Line number | New contents of line |
sca8er |
2:5853bf44af9f
|
1
|
/*
|
sca8er |
2:5853bf44af9f
|
2
|
* winddk.h
|
sca8er |
2:5853bf44af9f
|
3
|
*
|
sca8er |
2:5853bf44af9f
|
4
|
* Windows Device Driver Kit
|
sca8er |
2:5853bf44af9f
|
5
|
*
|
sca8er |
2:5853bf44af9f
|
6
|
* This file is part of the w32api package.
|
sca8er |
2:5853bf44af9f
|
7
|
*
|
sca8er |
2:5853bf44af9f
|
8
|
* Contributors:
|
sca8er |
2:5853bf44af9f
|
9
|
* Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
|
sca8er |
2:5853bf44af9f
|
10
|
*
|
sca8er |
2:5853bf44af9f
|
11
|
* THIS SOFTWARE IS NOT COPYRIGHTED
|
sca8er |
2:5853bf44af9f
|
12
|
*
|
sca8er |
2:5853bf44af9f
|
13
|
* This source code is offered for use in the public domain. You may
|
sca8er |
2:5853bf44af9f
|
14
|
* use, modify or distribute it freely.
|
sca8er |
2:5853bf44af9f
|
15
|
*
|
sca8er |
2:5853bf44af9f
|
16
|
* This code is distributed in the hope that it will be useful but
|
sca8er |
2:5853bf44af9f
|
17
|
* WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
|
sca8er |
2:5853bf44af9f
|
18
|
* DISCLAIMED. This includes but is not limited to warranties of
|
sca8er |
2:5853bf44af9f
|
19
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
sca8er |
2:5853bf44af9f
|
20
|
*
|
sca8er |
2:5853bf44af9f
|
21
|
*/
|
sca8er |
2:5853bf44af9f
|
22
|
|
sca8er |
2:5853bf44af9f
|
23
|
#ifndef __WINDDK_H
|
sca8er |
2:5853bf44af9f
|
24
|
#define __WINDDK_H
|
sca8er |
2:5853bf44af9f
|
25
|
|
sca8er |
2:5853bf44af9f
|
26
|
#if __GNUC__ >= 3
|
sca8er |
2:5853bf44af9f
|
27
|
#pragma GCC system_header
|
sca8er |
2:5853bf44af9f
|
28
|
#endif
|
sca8er |
2:5853bf44af9f
|
29
|
|
sca8er |
2:5853bf44af9f
|
30
|
#ifdef __cplusplus
|
sca8er |
2:5853bf44af9f
|
31
|
extern "C" {
|
sca8er |
2:5853bf44af9f
|
32
|
#endif
|
sca8er |
2:5853bf44af9f
|
33
|
|
sca8er |
2:5853bf44af9f
|
34
|
/*
|
sca8er |
2:5853bf44af9f
|
35
|
** Definitions specific to this Device Driver Kit
|
sca8er |
2:5853bf44af9f
|
36
|
*/
|
sca8er |
2:5853bf44af9f
|
37
|
#define DDKAPI __stdcall
|
sca8er |
2:5853bf44af9f
|
38
|
#define DDKFASTAPI __fastcall
|
sca8er |
2:5853bf44af9f
|
39
|
#define DDKCDECLAPI __cdecl
|
sca8er |
2:5853bf44af9f
|
40
|
|
sca8er |
2:5853bf44af9f
|
41
|
#if defined(_NTOSKRNL_)
|
sca8er |
2:5853bf44af9f
|
42
|
#ifndef NTOSAPI
|
sca8er |
2:5853bf44af9f
|
43
|
#define NTOSAPI DECL_EXPORT
|
sca8er |
2:5853bf44af9f
|
44
|
#endif
|
sca8er |
2:5853bf44af9f
|
45
|
#define DECLARE_INTERNAL_OBJECT(x) typedef struct _##x; typedef struct _##x *P##x;
|
sca8er |
2:5853bf44af9f
|
46
|
#define DECLARE_INTERNAL_OBJECT2(x,y) typedef struct _##x; typedef struct _##x *P##y;
|
sca8er |
2:5853bf44af9f
|
47
|
#else
|
sca8er |
2:5853bf44af9f
|
48
|
#ifndef NTOSAPI
|
sca8er |
2:5853bf44af9f
|
49
|
#define NTOSAPI DECL_IMPORT
|
sca8er |
2:5853bf44af9f
|
50
|
#endif
|
sca8er |
2:5853bf44af9f
|
51
|
#define DECLARE_INTERNAL_OBJECT(x) struct _##x; typedef struct _##x *P##x;
|
sca8er |
2:5853bf44af9f
|
52
|
#define DECLARE_INTERNAL_OBJECT2(x,y) struct _##x; typedef struct _##x *P##y;
|
sca8er |
2:5853bf44af9f
|
53
|
#endif
|
sca8er |
2:5853bf44af9f
|
54
|
|
sca8er |
2:5853bf44af9f
|
55
|
/* Pseudo modifiers for parameters
|
sca8er |
2:5853bf44af9f
|
56
|
We don't use these unnecessary defines in the w32api headers. Define
|
sca8er |
2:5853bf44af9f
|
57
|
them by default since that is what people expect, but allow users
|
sca8er |
2:5853bf44af9f
|
58
|
to avoid the pollution. */
|
sca8er |
2:5853bf44af9f
|
59
|
#ifndef _NO_W32_PSEUDO_MODIFIERS
|
sca8er |
2:5853bf44af9f
|
60
|
#define IN
|
sca8er |
2:5853bf44af9f
|
61
|
#define OUT
|
sca8er |
2:5853bf44af9f
|
62
|
#define OPTIONAL
|
sca8er |
2:5853bf44af9f
|
63
|
#define UNALLIGNED
|
sca8er |
2:5853bf44af9f
|
64
|
#endif
|
sca8er |
2:5853bf44af9f
|
65
|
|
sca8er |
2:5853bf44af9f
|
66
|
#define CONST const
|
sca8er |
2:5853bf44af9f
|
67
|
#define VOLATILE volatile
|
sca8er |
2:5853bf44af9f
|
68
|
|
sca8er |
2:5853bf44af9f
|
69
|
#define RESTRICTED_POINTER
|
sca8er |
2:5853bf44af9f
|
70
|
#define POINTER_ALIGNMENT
|
sca8er |
2:5853bf44af9f
|
71
|
|
sca8er |
2:5853bf44af9f
|
72
|
#ifdef NONAMELESSUNION
|
sca8er |
2:5853bf44af9f
|
73
|
# define _DDK_DUMMYUNION_MEMBER(name) DUMMYUNIONNAME.name
|
sca8er |
2:5853bf44af9f
|
74
|
# define _DDK_DUMMYUNION_N_MEMBER(n, name) DUMMYUNIONNAME##n.name
|
sca8er |
2:5853bf44af9f
|
75
|
#else
|
sca8er |
2:5853bf44af9f
|
76
|
# define _DDK_DUMMYUNION_MEMBER(name) name
|
sca8er |
2:5853bf44af9f
|
77
|
# define _DDK_DUMMYUNION_N_MEMBER(n, name) name
|
sca8er |
2:5853bf44af9f
|
78
|
#endif
|
sca8er |
2:5853bf44af9f
|
79
|
|
sca8er |
2:5853bf44af9f
|
80
|
/*
|
sca8er |
2:5853bf44af9f
|
81
|
** Forward declarations
|
sca8er |
2:5853bf44af9f
|
82
|
*/
|
sca8er |
2:5853bf44af9f
|
83
|
|
sca8er |
2:5853bf44af9f
|
84
|
struct _IRP;
|
sca8er |
2:5853bf44af9f
|
85
|
struct _MDL;
|
sca8er |
2:5853bf44af9f
|
86
|
struct _KAPC;
|
sca8er |
2:5853bf44af9f
|
87
|
struct _KDPC;
|
sca8er |
2:5853bf44af9f
|
88
|
struct _KPCR;
|
sca8er |
2:5853bf44af9f
|
89
|
struct _KPRCB;
|
sca8er |
2:5853bf44af9f
|
90
|
struct _KTSS;
|
sca8er |
2:5853bf44af9f
|
91
|
struct _FILE_OBJECT;
|
sca8er |
2:5853bf44af9f
|
92
|
struct _DMA_ADAPTER;
|
sca8er |
2:5853bf44af9f
|
93
|
struct _DEVICE_OBJECT;
|
sca8er |
2:5853bf44af9f
|
94
|
struct _DRIVER_OBJECT;
|
sca8er |
2:5853bf44af9f
|
95
|
struct _SECTION_OBJECT;
|
sca8er |
2:5853bf44af9f
|
96
|
struct _IO_STATUS_BLOCK;
|
sca8er |
2:5853bf44af9f
|
97
|
struct _DEVICE_DESCRIPTION;
|
sca8er |
2:5853bf44af9f
|
98
|
struct _SCATTER_GATHER_LIST;
|
sca8er |
2:5853bf44af9f
|
99
|
|
sca8er |
2:5853bf44af9f
|
100
|
DECLARE_INTERNAL_OBJECT(ADAPTER_OBJECT)
|
sca8er |
2:5853bf44af9f
|
101
|
DECLARE_INTERNAL_OBJECT(DMA_ADAPTER)
|
sca8er |
2:5853bf44af9f
|
102
|
DECLARE_INTERNAL_OBJECT(IO_STATUS_BLOCK)
|
sca8er |
2:5853bf44af9f
|
103
|
DECLARE_INTERNAL_OBJECT(SECTION_OBJECT)
|
sca8er |
2:5853bf44af9f
|
104
|
|
sca8er |
2:5853bf44af9f
|
105
|
#if 1
|
sca8er |
2:5853bf44af9f
|
106
|
/* FIXME: Unknown definitions */
|
sca8er |
2:5853bf44af9f
|
107
|
struct _SET_PARTITION_INFORMATION_EX;
|
sca8er |
2:5853bf44af9f
|
108
|
typedef ULONG WAIT_TYPE;
|
sca8er |
2:5853bf44af9f
|
109
|
typedef HANDLE TRACEHANDLE;
|
sca8er |
2:5853bf44af9f
|
110
|
typedef PVOID PWMILIB_CONTEXT;
|
sca8er |
2:5853bf44af9f
|
111
|
typedef PVOID PSYSCTL_IRP_DISPOSITION;
|
sca8er |
2:5853bf44af9f
|
112
|
typedef ULONG LOGICAL;
|
sca8er |
2:5853bf44af9f
|
113
|
#endif
|
sca8er |
2:5853bf44af9f
|
114
|
|
sca8er |
2:5853bf44af9f
|
115
|
/*
|
sca8er |
2:5853bf44af9f
|
116
|
** Routines specific to this DDK
|
sca8er |
2:5853bf44af9f
|
117
|
*/
|
sca8er |
2:5853bf44af9f
|
118
|
|
sca8er |
2:5853bf44af9f
|
119
|
#define TAG(_a, _b, _c, _d) (ULONG) \
|
sca8er |
2:5853bf44af9f
|
120
|
(((_a) << 0) + ((_b) << 8) + ((_c) << 16) + ((_d) << 24))
|
sca8er |
2:5853bf44af9f
|
121
|
|
sca8er |
2:5853bf44af9f
|
122
|
#ifdef __GNUC__
|
sca8er |
2:5853bf44af9f
|
123
|
static __inline struct _KPCR * KeGetCurrentKPCR(
|
sca8er |
2:5853bf44af9f
|
124
|
VOID)
|
sca8er |
2:5853bf44af9f
|
125
|
{
|
sca8er |
2:5853bf44af9f
|
126
|
ULONG Value;
|
sca8er |
2:5853bf44af9f
|
127
|
|
sca8er |
2:5853bf44af9f
|
128
|
__asm__ __volatile__ (
|
sca8er |
2:5853bf44af9f
|
129
|
#if (__GNUC__ >= 3)
|
sca8er |
2:5853bf44af9f
|
130
|
/* support -masm=intel */
|
sca8er |
2:5853bf44af9f
|
131
|
"mov{l} {%%fs:0x18, %0|%0, %%fs:0x18}\n\t"
|
sca8er |
2:5853bf44af9f
|
132
|
#else
|
sca8er |
2:5853bf44af9f
|
133
|
"movl %%fs:0x18, %0\n\t"
|
sca8er |
2:5853bf44af9f
|
134
|
#endif
|
sca8er |
2:5853bf44af9f
|
135
|
: "=r" (Value)
|
sca8er |
2:5853bf44af9f
|
136
|
: /* no inputs */
|
sca8er |
2:5853bf44af9f
|
137
|
);
|
sca8er |
2:5853bf44af9f
|
138
|
return (struct _KPCR *) Value;
|
sca8er |
2:5853bf44af9f
|
139
|
}
|
sca8er |
2:5853bf44af9f
|
140
|
|
sca8er |
2:5853bf44af9f
|
141
|
#elif defined( __WATCOMC__ )
|
sca8er |
2:5853bf44af9f
|
142
|
|
sca8er |
2:5853bf44af9f
|
143
|
extern struct _KPCR * KeGetCurrentKPCR( void );
|
sca8er |
2:5853bf44af9f
|
144
|
#pragma aux KeGetCurrentKPCR = \
|
sca8er |
2:5853bf44af9f
|
145
|
"mov eax, fs:[0x18]" \
|
sca8er |
2:5853bf44af9f
|
146
|
value [ eax ];
|
sca8er |
2:5853bf44af9f
|
147
|
|
sca8er |
2:5853bf44af9f
|
148
|
#endif
|
sca8er |
2:5853bf44af9f
|
149
|
|
sca8er |
2:5853bf44af9f
|
150
|
/*
|
sca8er |
2:5853bf44af9f
|
151
|
** Simple structures
|
sca8er |
2:5853bf44af9f
|
152
|
*/
|
sca8er |
2:5853bf44af9f
|
153
|
|
sca8er |
2:5853bf44af9f
|
154
|
typedef LONG KPRIORITY;
|
sca8er |
2:5853bf44af9f
|
155
|
typedef UCHAR KIRQL, *PKIRQL;
|
sca8er |
2:5853bf44af9f
|
156
|
typedef ULONG_PTR KSPIN_LOCK, *PKSPIN_LOCK;
|
sca8er |
2:5853bf44af9f
|
157
|
typedef ULONG_PTR KAFFINITY, *PKAFFINITY;
|
sca8er |
2:5853bf44af9f
|
158
|
typedef CCHAR KPROCESSOR_MODE;
|
sca8er |
2:5853bf44af9f
|
159
|
|
sca8er |
2:5853bf44af9f
|
160
|
typedef enum _MODE {
|
sca8er |
2:5853bf44af9f
|
161
|
KernelMode,
|
sca8er |
2:5853bf44af9f
|
162
|
UserMode,
|
sca8er |
2:5853bf44af9f
|
163
|
MaximumMode
|
sca8er |
2:5853bf44af9f
|
164
|
} MODE;
|
sca8er |
2:5853bf44af9f
|
165
|
|
sca8er |
2:5853bf44af9f
|
166
|
|
sca8er |
2:5853bf44af9f
|
167
|
/* Structures not exposed to drivers */
|
sca8er |
2:5853bf44af9f
|
168
|
typedef struct _IO_TIMER *PIO_TIMER;
|
sca8er |
2:5853bf44af9f
|
169
|
typedef struct _EPROCESS *PEPROCESS;
|
sca8er |
2:5853bf44af9f
|
170
|
typedef struct _ETHREAD *PETHREAD;
|
sca8er |
2:5853bf44af9f
|
171
|
typedef struct _KINTERRUPT *PKINTERRUPT;
|
sca8er |
2:5853bf44af9f
|
172
|
typedef struct _OBJECT_TYPE *POBJECT_TYPE;
|
sca8er |
2:5853bf44af9f
|
173
|
typedef struct _KTHREAD *PKTHREAD, *PRKTHREAD;
|
sca8er |
2:5853bf44af9f
|
174
|
typedef struct _COMPRESSED_DATA_INFO *PCOMPRESSED_DATA_INFO;
|
sca8er |
2:5853bf44af9f
|
175
|
typedef struct _HAL_DISPATCH_TABLE *PHAL_DISPATCH_TABLE;
|
sca8er |
2:5853bf44af9f
|
176
|
typedef struct _HAL_PRIVATE_DISPATCH_TABLE *PHAL_PRIVATE_DISPATCH_TABLE;
|
sca8er |
2:5853bf44af9f
|
177
|
typedef struct _DRIVE_LAYOUT_INFORMATION *PDRIVE_LAYOUT_INFORMATION;
|
sca8er |
2:5853bf44af9f
|
178
|
typedef struct _DRIVE_LAYOUT_INFORMATION_EX *PDRIVE_LAYOUT_INFORMATION_EX;
|
sca8er |
2:5853bf44af9f
|
179
|
|
sca8er |
2:5853bf44af9f
|
180
|
/* Constants */
|
sca8er |
2:5853bf44af9f
|
181
|
#define MAXIMUM_PROCESSORS 32
|
sca8er |
2:5853bf44af9f
|
182
|
|
sca8er |
2:5853bf44af9f
|
183
|
#define MAXIMUM_WAIT_OBJECTS 64
|
sca8er |
2:5853bf44af9f
|
184
|
|
sca8er |
2:5853bf44af9f
|
185
|
#define METHOD_BUFFERED 0
|
sca8er |
2:5853bf44af9f
|
186
|
#define METHOD_IN_DIRECT 1
|
sca8er |
2:5853bf44af9f
|
187
|
#define METHOD_OUT_DIRECT 2
|
sca8er |
2:5853bf44af9f
|
188
|
#define METHOD_NEITHER 3
|
sca8er |
2:5853bf44af9f
|
189
|
|
sca8er |
2:5853bf44af9f
|
190
|
#define LOW_PRIORITY 0
|
sca8er |
2:5853bf44af9f
|
191
|
#define LOW_REALTIME_PRIORITY 16
|
sca8er |
2:5853bf44af9f
|
192
|
#define HIGH_PRIORITY 31
|
sca8er |
2:5853bf44af9f
|
193
|
#define MAXIMUM_PRIORITY 32
|
sca8er |
2:5853bf44af9f
|
194
|
|
sca8er |
2:5853bf44af9f
|
195
|
#define FILE_SUPERSEDED 0x00000000
|
sca8er |
2:5853bf44af9f
|
196
|
#define FILE_OPENED 0x00000001
|
sca8er |
2:5853bf44af9f
|
197
|
#define FILE_CREATED 0x00000002
|
sca8er |
2:5853bf44af9f
|
198
|
#define FILE_OVERWRITTEN 0x00000003
|
sca8er |
2:5853bf44af9f
|
199
|
#define FILE_EXISTS 0x00000004
|
sca8er |
2:5853bf44af9f
|
200
|
#define FILE_DOES_NOT_EXIST 0x00000005
|
sca8er |
2:5853bf44af9f
|
201
|
|
sca8er |
2:5853bf44af9f
|
202
|
/* also in winnt.h */
|
sca8er |
2:5853bf44af9f
|
203
|
#define FILE_LIST_DIRECTORY 0x00000001
|
sca8er |
2:5853bf44af9f
|
204
|
#define FILE_READ_DATA 0x00000001
|
sca8er |
2:5853bf44af9f
|
205
|
#define FILE_ADD_FILE 0x00000002
|
sca8er |
2:5853bf44af9f
|
206
|
#define FILE_WRITE_DATA 0x00000002
|
sca8er |
2:5853bf44af9f
|
207
|
#define FILE_ADD_SUBDIRECTORY 0x00000004
|
sca8er |
2:5853bf44af9f
|
208
|
#define FILE_APPEND_DATA 0x00000004
|
sca8er |
2:5853bf44af9f
|
209
|
#define FILE_CREATE_PIPE_INSTANCE 0x00000004
|
sca8er |
2:5853bf44af9f
|
210
|
#define FILE_READ_EA 0x00000008
|
sca8er |
2:5853bf44af9f
|
211
|
#define FILE_WRITE_EA 0x00000010
|
sca8er |
2:5853bf44af9f
|
212
|
#define FILE_EXECUTE 0x00000020
|
sca8er |
2:5853bf44af9f
|
213
|
#define FILE_TRAVERSE 0x00000020
|
sca8er |
2:5853bf44af9f
|
214
|
#define FILE_DELETE_CHILD 0x00000040
|
sca8er |
2:5853bf44af9f
|
215
|
#define FILE_READ_ATTRIBUTES 0x00000080
|
sca8er |
2:5853bf44af9f
|
216
|
#define FILE_WRITE_ATTRIBUTES 0x00000100
|
sca8er |
2:5853bf44af9f
|
217
|
|
sca8er |
2:5853bf44af9f
|
218
|
#define FILE_SHARE_READ 0x00000001
|
sca8er |
2:5853bf44af9f
|
219
|
#define FILE_SHARE_WRITE 0x00000002
|
sca8er |
2:5853bf44af9f
|
220
|
#define FILE_SHARE_DELETE 0x00000004
|
sca8er |
2:5853bf44af9f
|
221
|
#define FILE_SHARE_VALID_FLAGS 0x00000007
|
sca8er |
2:5853bf44af9f
|
222
|
|
sca8er |
2:5853bf44af9f
|
223
|
#define FILE_ATTRIBUTE_READONLY 0x00000001
|
sca8er |
2:5853bf44af9f
|
224
|
#define FILE_ATTRIBUTE_HIDDEN 0x00000002
|
sca8er |
2:5853bf44af9f
|
225
|
#define FILE_ATTRIBUTE_SYSTEM 0x00000004
|
sca8er |
2:5853bf44af9f
|
226
|
#define FILE_ATTRIBUTE_DIRECTORY 0x00000010
|
sca8er |
2:5853bf44af9f
|
227
|
#define FILE_ATTRIBUTE_ARCHIVE 0x00000020
|
sca8er |
2:5853bf44af9f
|
228
|
#define FILE_ATTRIBUTE_DEVICE 0x00000040
|
sca8er |
2:5853bf44af9f
|
229
|
#define FILE_ATTRIBUTE_NORMAL 0x00000080
|
sca8er |
2:5853bf44af9f
|
230
|
#define FILE_ATTRIBUTE_TEMPORARY 0x00000100
|
sca8er |
2:5853bf44af9f
|
231
|
#define FILE_ATTRIBUTE_SPARSE_FILE 0x00000200
|
sca8er |
2:5853bf44af9f
|
232
|
#define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400
|
sca8er |
2:5853bf44af9f
|
233
|
#define FILE_ATTRIBUTE_COMPRESSED 0x00000800
|
sca8er |
2:5853bf44af9f
|
234
|
#define FILE_ATTRIBUTE_OFFLINE 0x00001000
|
sca8er |
2:5853bf44af9f
|
235
|
#define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 0x00002000
|
sca8er |
2:5853bf44af9f
|
236
|
#define FILE_ATTRIBUTE_ENCRYPTED 0x00004000
|
sca8er |
2:5853bf44af9f
|
237
|
#define FILE_ATTRIBUTE_VIRTUAL 0x00010000
|
sca8er |
2:5853bf44af9f
|
238
|
|
sca8er |
2:5853bf44af9f
|
239
|
#define FILE_ATTRIBUTE_VALID_FLAGS 0x00017fb7
|
sca8er |
2:5853bf44af9f
|
240
|
#define FILE_ATTRIBUTE_VALID_SET_FLAGS 0x000031a7
|
sca8er |
2:5853bf44af9f
|
241
|
|
sca8er |
2:5853bf44af9f
|
242
|
#define FILE_COPY_STRUCTURED_STORAGE 0x00000041
|
sca8er |
2:5853bf44af9f
|
243
|
#define FILE_STRUCTURED_STORAGE 0x00000441
|
sca8er |
2:5853bf44af9f
|
244
|
|
sca8er |
2:5853bf44af9f
|
245
|
#define FILE_VALID_OPTION_FLAGS 0x00ffffff
|
sca8er |
2:5853bf44af9f
|
246
|
#define FILE_VALID_PIPE_OPTION_FLAGS 0x00000032
|
sca8er |
2:5853bf44af9f
|
247
|
#define FILE_VALID_MAILSLOT_OPTION_FLAGS 0x00000032
|
sca8er |
2:5853bf44af9f
|
248
|
#define FILE_VALID_SET_FLAGS 0x00000036
|
sca8er |
2:5853bf44af9f
|
249
|
|
sca8er |
2:5853bf44af9f
|
250
|
#define FILE_SUPERSEDE 0x00000000
|
sca8er |
2:5853bf44af9f
|
251
|
#define FILE_OPEN 0x00000001
|
sca8er |
2:5853bf44af9f
|
252
|
#define FILE_CREATE 0x00000002
|
sca8er |
2:5853bf44af9f
|
253
|
#define FILE_OPEN_IF 0x00000003
|
sca8er |
2:5853bf44af9f
|
254
|
#define FILE_OVERWRITE 0x00000004
|
sca8er |
2:5853bf44af9f
|
255
|
#define FILE_OVERWRITE_IF 0x00000005
|
sca8er |
2:5853bf44af9f
|
256
|
#define FILE_MAXIMUM_DISPOSITION 0x00000005
|
sca8er |
2:5853bf44af9f
|
257
|
|
sca8er |
2:5853bf44af9f
|
258
|
#define FILE_DIRECTORY_FILE 0x00000001
|
sca8er |
2:5853bf44af9f
|
259
|
#define FILE_WRITE_THROUGH 0x00000002
|
sca8er |
2:5853bf44af9f
|
260
|
#define FILE_SEQUENTIAL_ONLY 0x00000004
|
sca8er |
2:5853bf44af9f
|
261
|
#define FILE_NO_INTERMEDIATE_BUFFERING 0x00000008
|
sca8er |
2:5853bf44af9f
|
262
|
#define FILE_SYNCHRONOUS_IO_ALERT 0x00000010
|
sca8er |
2:5853bf44af9f
|
263
|
#define FILE_SYNCHRONOUS_IO_NONALERT 0x00000020
|
sca8er |
2:5853bf44af9f
|
264
|
#define FILE_NON_DIRECTORY_FILE 0x00000040
|
sca8er |
2:5853bf44af9f
|
265
|
#define FILE_CREATE_TREE_CONNECTION 0x00000080
|
sca8er |
2:5853bf44af9f
|
266
|
#define FILE_COMPLETE_IF_OPLOCKED 0x00000100
|
sca8er |
2:5853bf44af9f
|
267
|
#define FILE_NO_EA_KNOWLEDGE 0x00000200
|
sca8er |
2:5853bf44af9f
|
268
|
#define FILE_OPEN_FOR_RECOVERY 0x00000400
|
sca8er |
2:5853bf44af9f
|
269
|
#define FILE_RANDOM_ACCESS 0x00000800
|
sca8er |
2:5853bf44af9f
|
270
|
#define FILE_DELETE_ON_CLOSE 0x00001000
|
sca8er |
2:5853bf44af9f
|
271
|
#define FILE_OPEN_BY_FILE_ID 0x00002000
|
sca8er |
2:5853bf44af9f
|
272
|
#define FILE_OPEN_FOR_BACKUP_INTENT 0x00004000
|
sca8er |
2:5853bf44af9f
|
273
|
#define FILE_NO_COMPRESSION 0x00008000
|
sca8er |
2:5853bf44af9f
|
274
|
#define FILE_RESERVE_OPFILTER 0x00100000
|
sca8er |
2:5853bf44af9f
|
275
|
#define FILE_OPEN_REPARSE_POINT 0x00200000
|
sca8er |
2:5853bf44af9f
|
276
|
#define FILE_OPEN_NO_RECALL 0x00400000
|
sca8er |
2:5853bf44af9f
|
277
|
#define FILE_OPEN_FOR_FREE_SPACE_QUERY 0x00800000
|
sca8er |
2:5853bf44af9f
|
278
|
|
sca8er |
2:5853bf44af9f
|
279
|
#define FILE_ANY_ACCESS 0x00000000
|
sca8er |
2:5853bf44af9f
|
280
|
#define FILE_SPECIAL_ACCESS FILE_ANY_ACCESS
|
sca8er |
2:5853bf44af9f
|
281
|
#define FILE_READ_ACCESS 0x00000001
|
sca8er |
2:5853bf44af9f
|
282
|
#define FILE_WRITE_ACCESS 0x00000002
|
sca8er |
2:5853bf44af9f
|
283
|
|
sca8er |
2:5853bf44af9f
|
284
|
#define FILE_ALL_ACCESS \
|
sca8er |
2:5853bf44af9f
|
285
|
(STANDARD_RIGHTS_REQUIRED | \
|
sca8er |
2:5853bf44af9f
|
286
|
SYNCHRONIZE | \
|
sca8er |
2:5853bf44af9f
|
287
|
0x1FF)
|
sca8er |
2:5853bf44af9f
|
288
|
|
sca8er |
2:5853bf44af9f
|
289
|
#define FILE_GENERIC_EXECUTE \
|
sca8er |
2:5853bf44af9f
|
290
|
(STANDARD_RIGHTS_EXECUTE | \
|
sca8er |
2:5853bf44af9f
|
291
|
FILE_READ_ATTRIBUTES | \
|
sca8er |
2:5853bf44af9f
|
292
|
FILE_EXECUTE | \
|
sca8er |
2:5853bf44af9f
|
293
|
SYNCHRONIZE)
|
sca8er |
2:5853bf44af9f
|
294
|
|
sca8er |
2:5853bf44af9f
|
295
|
#define FILE_GENERIC_READ \
|
sca8er |
2:5853bf44af9f
|
296
|
(STANDARD_RIGHTS_READ | \
|
sca8er |
2:5853bf44af9f
|
297
|
FILE_READ_DATA | \
|
sca8er |
2:5853bf44af9f
|
298
|
FILE_READ_ATTRIBUTES | \
|
sca8er |
2:5853bf44af9f
|
299
|
FILE_READ_EA | \
|
sca8er |
2:5853bf44af9f
|
300
|
SYNCHRONIZE)
|
sca8er |
2:5853bf44af9f
|
301
|
|
sca8er |
2:5853bf44af9f
|
302
|
#define FILE_GENERIC_WRITE \
|
sca8er |
2:5853bf44af9f
|
303
|
(STANDARD_RIGHTS_WRITE | \
|
sca8er |
2:5853bf44af9f
|
304
|
FILE_WRITE_DATA | \
|
sca8er |
2:5853bf44af9f
|
305
|
FILE_WRITE_ATTRIBUTES | \
|
sca8er |
2:5853bf44af9f
|
306
|
FILE_WRITE_EA | \
|
sca8er |
2:5853bf44af9f
|
307
|
FILE_APPEND_DATA | \
|
sca8er |
2:5853bf44af9f
|
308
|
SYNCHRONIZE)
|
sca8er |
2:5853bf44af9f
|
309
|
/* end winnt.h */
|
sca8er |
2:5853bf44af9f
|
310
|
|
sca8er |
2:5853bf44af9f
|
311
|
#define DIRECTORY_QUERY (0x0001)
|
sca8er |
2:5853bf44af9f
|
312
|
#define DIRECTORY_TRAVERSE (0x0002)
|
sca8er |
2:5853bf44af9f
|
313
|
#define DIRECTORY_CREATE_OBJECT (0x0004)
|
sca8er |
2:5853bf44af9f
|
314
|
#define DIRECTORY_CREATE_SUBDIRECTORY (0x0008)
|
sca8er |
2:5853bf44af9f
|
315
|
#define DIRECTORY_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0xF)
|
sca8er |
2:5853bf44af9f
|
316
|
|
sca8er |
2:5853bf44af9f
|
317
|
/* Exported object types */
|
sca8er |
2:5853bf44af9f
|
318
|
extern NTOSAPI POBJECT_TYPE ExDesktopObjectType;
|
sca8er |
2:5853bf44af9f
|
319
|
extern NTOSAPI POBJECT_TYPE ExEventObjectType;
|
sca8er |
2:5853bf44af9f
|
320
|
extern NTOSAPI POBJECT_TYPE ExSemaphoreObjectType;
|
sca8er |
2:5853bf44af9f
|
321
|
extern NTOSAPI POBJECT_TYPE ExWindowStationObjectType;
|
sca8er |
2:5853bf44af9f
|
322
|
extern NTOSAPI POBJECT_TYPE IoAdapterObjectType;
|
sca8er |
2:5853bf44af9f
|
323
|
extern NTOSAPI ULONG IoDeviceHandlerObjectSize;
|
sca8er |
2:5853bf44af9f
|
324
|
extern NTOSAPI POBJECT_TYPE IoDeviceHandlerObjectType;
|
sca8er |
2:5853bf44af9f
|
325
|
extern NTOSAPI POBJECT_TYPE IoDeviceObjectType;
|
sca8er |
2:5853bf44af9f
|
326
|
extern NTOSAPI POBJECT_TYPE IoDriverObjectType;
|
sca8er |
2:5853bf44af9f
|
327
|
extern NTOSAPI POBJECT_TYPE IoFileObjectType;
|
sca8er |
2:5853bf44af9f
|
328
|
extern NTOSAPI POBJECT_TYPE LpcPortObjectType;
|
sca8er |
2:5853bf44af9f
|
329
|
extern NTOSAPI POBJECT_TYPE MmSectionObjectType;
|
sca8er |
2:5853bf44af9f
|
330
|
extern NTOSAPI POBJECT_TYPE SeTokenObjectType;
|
sca8er |
2:5853bf44af9f
|
331
|
|
sca8er |
2:5853bf44af9f
|
332
|
extern NTOSAPI CCHAR KeNumberProcessors;
|
sca8er |
2:5853bf44af9f
|
333
|
extern NTOSAPI PHAL_DISPATCH_TABLE HalDispatchTable;
|
sca8er |
2:5853bf44af9f
|
334
|
extern NTOSAPI PHAL_PRIVATE_DISPATCH_TABLE HalPrivateDispatchTable;
|
sca8er |
2:5853bf44af9f
|
335
|
|
sca8er |
2:5853bf44af9f
|
336
|
|
sca8er |
2:5853bf44af9f
|
337
|
/*
|
sca8er |
2:5853bf44af9f
|
338
|
** IRP function codes
|
sca8er |
2:5853bf44af9f
|
339
|
*/
|
sca8er |
2:5853bf44af9f
|
340
|
|
sca8er |
2:5853bf44af9f
|
341
|
#define IRP_MJ_CREATE 0x00
|
sca8er |
2:5853bf44af9f
|
342
|
#define IRP_MJ_CREATE_NAMED_PIPE 0x01
|
sca8er |
2:5853bf44af9f
|
343
|
#define IRP_MJ_CLOSE 0x02
|
sca8er |
2:5853bf44af9f
|
344
|
#define IRP_MJ_READ 0x03
|
sca8er |
2:5853bf44af9f
|
345
|
#define IRP_MJ_WRITE 0x04
|
sca8er |
2:5853bf44af9f
|
346
|
#define IRP_MJ_QUERY_INFORMATION 0x05
|
sca8er |
2:5853bf44af9f
|
347
|
#define IRP_MJ_SET_INFORMATION 0x06
|
sca8er |
2:5853bf44af9f
|
348
|
#define IRP_MJ_QUERY_EA 0x07
|
sca8er |
2:5853bf44af9f
|
349
|
#define IRP_MJ_SET_EA 0x08
|
sca8er |
2:5853bf44af9f
|
350
|
#define IRP_MJ_FLUSH_BUFFERS 0x09
|
sca8er |
2:5853bf44af9f
|
351
|
#define IRP_MJ_QUERY_VOLUME_INFORMATION 0x0a
|
sca8er |
2:5853bf44af9f
|
352
|
#define IRP_MJ_SET_VOLUME_INFORMATION 0x0b
|
sca8er |
2:5853bf44af9f
|
353
|
#define IRP_MJ_DIRECTORY_CONTROL 0x0c
|
sca8er |
2:5853bf44af9f
|
354
|
#define IRP_MJ_FILE_SYSTEM_CONTROL 0x0d
|
sca8er |
2:5853bf44af9f
|
355
|
#define IRP_MJ_DEVICE_CONTROL 0x0e
|
sca8er |
2:5853bf44af9f
|
356
|
#define IRP_MJ_INTERNAL_DEVICE_CONTROL 0x0f
|
sca8er |
2:5853bf44af9f
|
357
|
#define IRP_MJ_SCSI 0x0f
|
sca8er |
2:5853bf44af9f
|
358
|
#define IRP_MJ_SHUTDOWN 0x10
|
sca8er |
2:5853bf44af9f
|
359
|
#define IRP_MJ_LOCK_CONTROL 0x11
|
sca8er |
2:5853bf44af9f
|
360
|
#define IRP_MJ_CLEANUP 0x12
|
sca8er |
2:5853bf44af9f
|
361
|
#define IRP_MJ_CREATE_MAILSLOT 0x13
|
sca8er |
2:5853bf44af9f
|
362
|
#define IRP_MJ_QUERY_SECURITY 0x14
|
sca8er |
2:5853bf44af9f
|
363
|
#define IRP_MJ_SET_SECURITY 0x15
|
sca8er |
2:5853bf44af9f
|
364
|
#define IRP_MJ_POWER 0x16
|
sca8er |
2:5853bf44af9f
|
365
|
#define IRP_MJ_SYSTEM_CONTROL 0x17
|
sca8er |
2:5853bf44af9f
|
366
|
#define IRP_MJ_DEVICE_CHANGE 0x18
|
sca8er |
2:5853bf44af9f
|
367
|
#define IRP_MJ_QUERY_QUOTA 0x19
|
sca8er |
2:5853bf44af9f
|
368
|
#define IRP_MJ_SET_QUOTA 0x1a
|
sca8er |
2:5853bf44af9f
|
369
|
#define IRP_MJ_PNP 0x1b
|
sca8er |
2:5853bf44af9f
|
370
|
#define IRP_MJ_PNP_POWER 0x1b
|
sca8er |
2:5853bf44af9f
|
371
|
#define IRP_MJ_MAXIMUM_FUNCTION 0x1b
|
sca8er |
2:5853bf44af9f
|
372
|
|
sca8er |
2:5853bf44af9f
|
373
|
#define IRP_MN_QUERY_DIRECTORY 0x01
|
sca8er |
2:5853bf44af9f
|
374
|
#define IRP_MN_NOTIFY_CHANGE_DIRECTORY 0x02
|
sca8er |
2:5853bf44af9f
|
375
|
|
sca8er |
2:5853bf44af9f
|
376
|
#define IRP_MN_USER_FS_REQUEST 0x00
|
sca8er |
2:5853bf44af9f
|
377
|
#define IRP_MN_MOUNT_VOLUME 0x01
|
sca8er |
2:5853bf44af9f
|
378
|
#define IRP_MN_VERIFY_VOLUME 0x02
|
sca8er |
2:5853bf44af9f
|
379
|
#define IRP_MN_LOAD_FILE_SYSTEM 0x03
|
sca8er |
2:5853bf44af9f
|
380
|
#define IRP_MN_TRACK_LINK 0x04
|
sca8er |
2:5853bf44af9f
|
381
|
#define IRP_MN_KERNEL_CALL 0x04
|
sca8er |
2:5853bf44af9f
|
382
|
|
sca8er |
2:5853bf44af9f
|
383
|
#define IRP_MN_LOCK 0x01
|
sca8er |
2:5853bf44af9f
|
384
|
#define IRP_MN_UNLOCK_SINGLE 0x02
|
sca8er |
2:5853bf44af9f
|
385
|
#define IRP_MN_UNLOCK_ALL 0x03
|
sca8er |
2:5853bf44af9f
|
386
|
#define IRP_MN_UNLOCK_ALL_BY_KEY 0x04
|
sca8er |
2:5853bf44af9f
|
387
|
|
sca8er |
2:5853bf44af9f
|
388
|
#define IRP_MN_NORMAL 0x00
|
sca8er |
2:5853bf44af9f
|
389
|
#define IRP_MN_DPC 0x01
|
sca8er |
2:5853bf44af9f
|
390
|
#define IRP_MN_MDL 0x02
|
sca8er |
2:5853bf44af9f
|
391
|
#define IRP_MN_COMPLETE 0x04
|
sca8er |
2:5853bf44af9f
|
392
|
#define IRP_MN_COMPRESSED 0x08
|
sca8er |
2:5853bf44af9f
|
393
|
|
sca8er |
2:5853bf44af9f
|
394
|
#define IRP_MN_MDL_DPC (IRP_MN_MDL | IRP_MN_DPC)
|
sca8er |
2:5853bf44af9f
|
395
|
#define IRP_MN_COMPLETE_MDL (IRP_MN_COMPLETE | IRP_MN_MDL)
|
sca8er |
2:5853bf44af9f
|
396
|
#define IRP_MN_COMPLETE_MDL_DPC (IRP_MN_COMPLETE_MDL | IRP_MN_DPC)
|
sca8er |
2:5853bf44af9f
|
397
|
|
sca8er |
2:5853bf44af9f
|
398
|
#define IRP_MN_SCSI_CLASS 0x01
|
sca8er |
2:5853bf44af9f
|
399
|
|
sca8er |
2:5853bf44af9f
|
400
|
#define IRP_MN_START_DEVICE 0x00
|
sca8er |
2:5853bf44af9f
|
401
|
#define IRP_MN_QUERY_REMOVE_DEVICE 0x01
|
sca8er |
2:5853bf44af9f
|
402
|
#define IRP_MN_REMOVE_DEVICE 0x02
|
sca8er |
2:5853bf44af9f
|
403
|
#define IRP_MN_CANCEL_REMOVE_DEVICE 0x03
|
sca8er |
2:5853bf44af9f
|
404
|
#define IRP_MN_STOP_DEVICE 0x04
|
sca8er |
2:5853bf44af9f
|
405
|
#define IRP_MN_QUERY_STOP_DEVICE 0x05
|
sca8er |
2:5853bf44af9f
|
406
|
#define IRP_MN_CANCEL_STOP_DEVICE 0x06
|
sca8er |
2:5853bf44af9f
|
407
|
|
sca8er |
2:5853bf44af9f
|
408
|
#define IRP_MN_QUERY_DEVICE_RELATIONS 0x07
|
sca8er |
2:5853bf44af9f
|
409
|
#define IRP_MN_QUERY_INTERFACE 0x08
|
sca8er |
2:5853bf44af9f
|
410
|
#define IRP_MN_QUERY_CAPABILITIES 0x09
|
sca8er |
2:5853bf44af9f
|
411
|
#define IRP_MN_QUERY_RESOURCES 0x0A
|
sca8er |
2:5853bf44af9f
|
412
|
#define IRP_MN_QUERY_RESOURCE_REQUIREMENTS 0x0B
|
sca8er |
2:5853bf44af9f
|
413
|
#define IRP_MN_QUERY_DEVICE_TEXT 0x0C
|
sca8er |
2:5853bf44af9f
|
414
|
#define IRP_MN_FILTER_RESOURCE_REQUIREMENTS 0x0D
|
sca8er |
2:5853bf44af9f
|
415
|
|
sca8er |
2:5853bf44af9f
|
416
|
#define IRP_MN_READ_CONFIG 0x0F
|
sca8er |
2:5853bf44af9f
|
417
|
#define IRP_MN_WRITE_CONFIG 0x10
|
sca8er |
2:5853bf44af9f
|
418
|
#define IRP_MN_EJECT 0x11
|
sca8er |
2:5853bf44af9f
|
419
|
#define IRP_MN_SET_LOCK 0x12
|
sca8er |
2:5853bf44af9f
|
420
|
#define IRP_MN_QUERY_ID 0x13
|
sca8er |
2:5853bf44af9f
|
421
|
#define IRP_MN_QUERY_PNP_DEVICE_STATE 0x14
|
sca8er |
2:5853bf44af9f
|
422
|
#define IRP_MN_QUERY_BUS_INFORMATION 0x15
|
sca8er |
2:5853bf44af9f
|
423
|
#define IRP_MN_DEVICE_USAGE_NOTIFICATION 0x16
|
sca8er |
2:5853bf44af9f
|
424
|
#define IRP_MN_SURPRISE_REMOVAL 0x17
|
sca8er |
2:5853bf44af9f
|
425
|
#define IRP_MN_QUERY_LEGACY_BUS_INFORMATION 0x18
|
sca8er |
2:5853bf44af9f
|
426
|
|
sca8er |
2:5853bf44af9f
|
427
|
#define IRP_MN_WAIT_WAKE 0x00
|
sca8er |
2:5853bf44af9f
|
428
|
#define IRP_MN_POWER_SEQUENCE 0x01
|
sca8er |
2:5853bf44af9f
|
429
|
#define IRP_MN_SET_POWER 0x02
|
sca8er |
2:5853bf44af9f
|
430
|
#define IRP_MN_QUERY_POWER 0x03
|
sca8er |
2:5853bf44af9f
|
431
|
|
sca8er |
2:5853bf44af9f
|
432
|
#define IRP_MN_QUERY_ALL_DATA 0x00
|
sca8er |
2:5853bf44af9f
|
433
|
#define IRP_MN_QUERY_SINGLE_INSTANCE 0x01
|
sca8er |
2:5853bf44af9f
|
434
|
#define IRP_MN_CHANGE_SINGLE_INSTANCE 0x02
|
sca8er |
2:5853bf44af9f
|
435
|
#define IRP_MN_CHANGE_SINGLE_ITEM 0x03
|
sca8er |
2:5853bf44af9f
|
436
|
#define IRP_MN_ENABLE_EVENTS 0x04
|
sca8er |
2:5853bf44af9f
|
437
|
#define IRP_MN_DISABLE_EVENTS 0x05
|
sca8er |
2:5853bf44af9f
|
438
|
#define IRP_MN_ENABLE_COLLECTION 0x06
|
sca8er |
2:5853bf44af9f
|
439
|
#define IRP_MN_DISABLE_COLLECTION 0x07
|
sca8er |
2:5853bf44af9f
|
440
|
#define IRP_MN_REGINFO 0x08
|
sca8er |
2:5853bf44af9f
|
441
|
#define IRP_MN_EXECUTE_METHOD 0x09
|
sca8er |
2:5853bf44af9f
|
442
|
|
sca8er |
2:5853bf44af9f
|
443
|
#define IRP_MN_REGINFO_EX 0x0b
|
sca8er |
2:5853bf44af9f
|
444
|
|
sca8er |
2:5853bf44af9f
|
445
|
typedef enum _IO_ALLOCATION_ACTION {
|
sca8er |
2:5853bf44af9f
|
446
|
KeepObject = 1,
|
sca8er |
2:5853bf44af9f
|
447
|
DeallocateObject,
|
sca8er |
2:5853bf44af9f
|
448
|
DeallocateObjectKeepRegisters
|
sca8er |
2:5853bf44af9f
|
449
|
} IO_ALLOCATION_ACTION, *PIO_ALLOCATION_ACTION;
|
sca8er |
2:5853bf44af9f
|
450
|
|
sca8er |
2:5853bf44af9f
|
451
|
typedef IO_ALLOCATION_ACTION
|
sca8er |
2:5853bf44af9f
|
452
|
(DDKAPI *PDRIVER_CONTROL)(
|
sca8er |
2:5853bf44af9f
|
453
|
/*IN*/ struct _DEVICE_OBJECT *DeviceObject,
|
sca8er |
2:5853bf44af9f
|
454
|
/*IN*/ struct _IRP *Irp,
|
sca8er |
2:5853bf44af9f
|
455
|
/*IN*/ PVOID MapRegisterBase,
|
sca8er |
2:5853bf44af9f
|
456
|
/*IN*/ PVOID Context);
|
sca8er |
2:5853bf44af9f
|
457
|
|
sca8er |
2:5853bf44af9f
|
458
|
typedef VOID
|
sca8er |
2:5853bf44af9f
|
459
|
(DDKAPI *PDRIVER_LIST_CONTROL)(
|
sca8er |
2:5853bf44af9f
|
460
|
/*IN*/ struct _DEVICE_OBJECT *DeviceObject,
|
sca8er |
2:5853bf44af9f
|
461
|
/*IN*/ struct _IRP *Irp,
|
sca8er |
2:5853bf44af9f
|
462
|
/*IN*/ struct _SCATTER_GATHER_LIST *ScatterGather,
|
sca8er |
2:5853bf44af9f
|
463
|
/*IN*/ PVOID Context);
|
sca8er |
2:5853bf44af9f
|
464
|
|
sca8er |
2:5853bf44af9f
|
465
|
typedef NTSTATUS
|
sca8er |
2:5853bf44af9f
|
466
|
(DDKAPI *PDRIVER_ADD_DEVICE)(
|
sca8er |
2:5853bf44af9f
|
467
|
/*IN*/ struct _DRIVER_OBJECT *DriverObject,
|
sca8er |
2:5853bf44af9f
|
468
|
/*IN*/ struct _DEVICE_OBJECT *PhysicalDeviceObject);
|
sca8er |
2:5853bf44af9f
|
469
|
|
sca8er |
2:5853bf44af9f
|
470
|
typedef NTSTATUS
|
sca8er |
2:5853bf44af9f
|
471
|
(DDKAPI *PIO_COMPLETION_ROUTINE)(
|
sca8er |
2:5853bf44af9f
|
472
|
/*IN*/ struct _DEVICE_OBJECT *DeviceObject,
|
sca8er |
2:5853bf44af9f
|
473
|
/*IN*/ struct _IRP *Irp,
|
sca8er |
2:5853bf44af9f
|
474
|
/*IN*/ PVOID Context);
|
sca8er |
2:5853bf44af9f
|
475
|
|
sca8er |
2:5853bf44af9f
|
476
|
typedef VOID
|
sca8er |
2:5853bf44af9f
|
477
|
(DDKAPI *PDRIVER_CANCEL)(
|
sca8er |
2:5853bf44af9f
|
478
|
/*IN*/ struct _DEVICE_OBJECT *DeviceObject,
|
sca8er |
2:5853bf44af9f
|
479
|
/*IN*/ struct _IRP *Irp);
|
sca8er |
2:5853bf44af9f
|
480
|
|
sca8er |
2:5853bf44af9f
|
481
|
typedef VOID
|
sca8er |
2:5853bf44af9f
|
482
|
(DDKAPI *PKDEFERRED_ROUTINE)(
|
sca8er |
2:5853bf44af9f
|
483
|
/*IN*/ struct _KDPC *Dpc,
|
sca8er |
2:5853bf44af9f
|
484
|
/*IN*/ PVOID DeferredContext,
|
sca8er |
2:5853bf44af9f
|
485
|
/*IN*/ PVOID SystemArgument1,
|
sca8er |
2:5853bf44af9f
|
486
|
/*IN*/ PVOID SystemArgument2);
|
sca8er |
2:5853bf44af9f
|
487
|
|
sca8er |
2:5853bf44af9f
|
488
|
typedef NTSTATUS
|
sca8er |
2:5853bf44af9f
|
489
|
(DDKAPI *PDRIVER_DISPATCH)(
|
sca8er |
2:5853bf44af9f
|
490
|
/*IN*/ struct _DEVICE_OBJECT *DeviceObject,
|
sca8er |
2:5853bf44af9f
|
491
|
/*IN*/ struct _IRP *Irp);
|
sca8er |
2:5853bf44af9f
|
492
|
|
sca8er |
2:5853bf44af9f
|
493
|
typedef VOID
|
sca8er |
2:5853bf44af9f
|
494
|
(DDKAPI *PIO_DPC_ROUTINE)(
|
sca8er |
2:5853bf44af9f
|
495
|
/*IN*/ struct _KDPC *Dpc,
|
sca8er |
2:5853bf44af9f
|
496
|
/*IN*/ struct _DEVICE_OBJECT *DeviceObject,
|
sca8er |
2:5853bf44af9f
|
497
|
/*IN*/ struct _IRP *Irp,
|
sca8er |
2:5853bf44af9f
|
498
|
/*IN*/ PVOID Context);
|
sca8er |
2:5853bf44af9f
|
499
|
|
sca8er |
2:5853bf44af9f
|
500
|
typedef NTSTATUS
|
sca8er |
2:5853bf44af9f
|
501
|
(DDKAPI *PMM_DLL_INITIALIZE)(
|
sca8er |
2:5853bf44af9f
|
502
|
/*IN*/ PUNICODE_STRING RegistryPath);
|
sca8er |
2:5853bf44af9f
|
503
|
|
sca8er |
2:5853bf44af9f
|
504
|
typedef NTSTATUS
|
sca8er |
2:5853bf44af9f
|
505
|
(DDKAPI *PMM_DLL_UNLOAD)(
|
sca8er |
2:5853bf44af9f
|
506
|
VOID);
|
sca8er |
2:5853bf44af9f
|
507
|
|
sca8er |
2:5853bf44af9f
|
508
|
typedef NTSTATUS
|
sca8er |
2:5853bf44af9f
|
509
|
(DDKAPI *PDRIVER_ENTRY)(
|
sca8er |
2:5853bf44af9f
|
510
|
/*IN*/ struct _DRIVER_OBJECT *DriverObject,
|
sca8er |
2:5853bf44af9f
|
511
|
/*IN*/ PUNICODE_STRING RegistryPath);
|
sca8er |
2:5853bf44af9f
|
512
|
|
sca8er |
2:5853bf44af9f
|
513
|
typedef NTSTATUS
|
sca8er |
2:5853bf44af9f
|
514
|
(DDKAPI *PDRIVER_INITIALIZE)(
|
sca8er |
2:5853bf44af9f
|
515
|
/*IN*/ struct _DRIVER_OBJECT *DriverObject,
|
sca8er |
2:5853bf44af9f
|
516
|
/*IN*/ PUNICODE_STRING RegistryPath);
|
sca8er |
2:5853bf44af9f
|
517
|
|
sca8er |
2:5853bf44af9f
|
518
|
typedef BOOLEAN
|
sca8er |
2:5853bf44af9f
|
519
|
(DDKAPI *PKSERVICE_ROUTINE)(
|
sca8er |
2:5853bf44af9f
|
520
|
/*IN*/ struct _KINTERRUPT *Interrupt,
|
sca8er |
2:5853bf44af9f
|
521
|
/*IN*/ PVOID ServiceContext);
|
sca8er |
2:5853bf44af9f
|
522
|
|
sca8er |
2:5853bf44af9f
|
523
|
typedef VOID
|
sca8er |
2:5853bf44af9f
|
524
|
(DDKAPI *PIO_TIMER_ROUTINE)(
|
sca8er |
2:5853bf44af9f
|
525
|
/*IN*/ struct _DEVICE_OBJECT *DeviceObject,
|
sca8er |
2:5853bf44af9f
|
526
|
/*IN*/ PVOID Context);
|
sca8er |
2:5853bf44af9f
|
527
|
|
sca8er |
2:5853bf44af9f
|
528
|
typedef VOID
|
sca8er |
2:5853bf44af9f
|
529
|
(DDKAPI *PDRIVER_REINITIALIZE)(
|
sca8er |
2:5853bf44af9f
|
530
|
/*IN*/ struct _DRIVER_OBJECT *DriverObject,
|
sca8er |
2:5853bf44af9f
|
531
|
/*IN*/ PVOID Context,
|
sca8er |
2:5853bf44af9f
|
532
|
/*IN*/ ULONG Count);
|
sca8er |
2:5853bf44af9f
|
533
|
|
sca8er |
2:5853bf44af9f
|
534
|
typedef NTSTATUS
|
sca8er |
2:5853bf44af9f
|
535
|
(DDKAPI *PDRIVER_STARTIO)(
|
sca8er |
2:5853bf44af9f
|
536
|
/*IN*/ struct _DEVICE_OBJECT *DeviceObject,
|
sca8er |
2:5853bf44af9f
|
537
|
/*IN*/ struct _IRP *Irp);
|
sca8er |
2:5853bf44af9f
|
538
|
|
sca8er |
2:5853bf44af9f
|
539
|
typedef BOOLEAN
|
sca8er |
2:5853bf44af9f
|
540
|
(DDKAPI *PKSYNCHRONIZE_ROUTINE)(
|
sca8er |
2:5853bf44af9f
|
541
|
/*IN*/ PVOID SynchronizeContext);
|
sca8er |
2:5853bf44af9f
|
542
|
|
sca8er |
2:5853bf44af9f
|
543
|
typedef VOID
|
sca8er |
2:5853bf44af9f
|
544
|
(DDKAPI *PDRIVER_UNLOAD)(
|
sca8er |
2:5853bf44af9f
|
545
|
/*IN*/ struct _DRIVER_OBJECT *DriverObject);
|
sca8er |
2:5853bf44af9f
|
546
|
|
sca8er |
2:5853bf44af9f
|
547
|
|
sca8er |
2:5853bf44af9f
|
548
|
|
sca8er |
2:5853bf44af9f
|
549
|
/*
|
sca8er |
2:5853bf44af9f
|
550
|
** Plug and Play structures
|
sca8er |
2:5853bf44af9f
|
551
|
*/
|
sca8er |
2:5853bf44af9f
|
552
|
|
sca8er |
2:5853bf44af9f
|
553
|
typedef VOID DDKAPI
|
sca8er |
2:5853bf44af9f
|
554
|
(*PINTERFACE_REFERENCE)(
|
sca8er |
2:5853bf44af9f
|
555
|
PVOID Context);
|
sca8er |
2:5853bf44af9f
|
556
|
|
sca8er |
2:5853bf44af9f
|
557
|
typedef VOID DDKAPI
|
sca8er |
2:5853bf44af9f
|
558
|
(*PINTERFACE_DEREFERENCE)(
|
sca8er |
2:5853bf44af9f
|
559
|
PVOID Context);
|
sca8er |
2:5853bf44af9f
|
560
|
|
sca8er |
2:5853bf44af9f
|
561
|
typedef BOOLEAN DDKAPI
|
sca8er |
2:5853bf44af9f
|
562
|
(*PTRANSLATE_BUS_ADDRESS)(
|
sca8er |
2:5853bf44af9f
|
563
|
/*IN*/ PVOID Context,
|
sca8er |
2:5853bf44af9f
|
564
|
/*IN*/ PHYSICAL_ADDRESS BusAddress,
|
sca8er |
2:5853bf44af9f
|
565
|
/*IN*/ ULONG Length,
|
sca8er |
2:5853bf44af9f
|
566
|
/*IN OUT*/ PULONG AddressSpace,
|
sca8er |
2:5853bf44af9f
|
567
|
/*OUT*/ PPHYSICAL_ADDRESS TranslatedAddress);
|
sca8er |
2:5853bf44af9f
|
568
|
|
sca8er |
2:5853bf44af9f
|
569
|
typedef struct _DMA_ADAPTER* DDKAPI
|
sca8er |
2:5853bf44af9f
|
570
|
(*PGET_DMA_ADAPTER)(
|
sca8er |
2:5853bf44af9f
|
571
|
/*IN*/ PVOID Context,
|
sca8er |
2:5853bf44af9f
|
572
|
/*IN*/ struct _DEVICE_DESCRIPTION *DeviceDescriptor,
|
sca8er |
2:5853bf44af9f
|
573
|
/*OUT*/ PULONG NumberOfMapRegisters);
|
sca8er |
2:5853bf44af9f
|
574
|
|
sca8er |
2:5853bf44af9f
|
575
|
typedef ULONG DDKAPI
|
sca8er |
2:5853bf44af9f
|
576
|
(*PGET_SET_DEVICE_DATA)(
|
sca8er |
2:5853bf44af9f
|
577
|
/*IN*/ PVOID Context,
|
sca8er |
2:5853bf44af9f
|
578
|
/*IN*/ ULONG DataType,
|
sca8er |
2:5853bf44af9f
|
579
|
/*IN*/ PVOID Buffer,
|
sca8er |
2:5853bf44af9f
|
580
|
/*IN*/ ULONG Offset,
|
sca8er |
2:5853bf44af9f
|
581
|
/*IN*/ ULONG Length);
|
sca8er |
2:5853bf44af9f
|
582
|
|
sca8er |
2:5853bf44af9f
|
583
|
typedef union _POWER_STATE {
|
sca8er |
2:5853bf44af9f
|
584
|
SYSTEM_POWER_STATE SystemState;
|
sca8er |
2:5853bf44af9f
|
585
|
DEVICE_POWER_STATE DeviceState;
|
sca8er |
2:5853bf44af9f
|
586
|
} POWER_STATE, *PPOWER_STATE;
|
sca8er |
2:5853bf44af9f
|
587
|
|
sca8er |
2:5853bf44af9f
|
588
|
typedef enum _POWER_STATE_TYPE {
|
sca8er |
2:5853bf44af9f
|
589
|
SystemPowerState,
|
sca8er |
2:5853bf44af9f
|
590
|
DevicePowerState
|
sca8er |
2:5853bf44af9f
|
591
|
} POWER_STATE_TYPE, *PPOWER_STATE_TYPE;
|
sca8er |
2:5853bf44af9f
|
592
|
|
sca8er |
2:5853bf44af9f
|
593
|
typedef struct _BUS_INTERFACE_STANDARD {
|
sca8er |
2:5853bf44af9f
|
594
|
USHORT Size;
|
sca8er |
2:5853bf44af9f
|
595
|
USHORT Version;
|
sca8er |
2:5853bf44af9f
|
596
|
PVOID Context;
|
sca8er |
2:5853bf44af9f
|
597
|
PINTERFACE_REFERENCE InterfaceReference;
|
sca8er |
2:5853bf44af9f
|
598
|
PINTERFACE_DEREFERENCE InterfaceDereference;
|
sca8er |
2:5853bf44af9f
|
599
|
PTRANSLATE_BUS_ADDRESS TranslateBusAddress;
|
sca8er |
2:5853bf44af9f
|
600
|
PGET_DMA_ADAPTER GetDmaAdapter;
|
sca8er |
2:5853bf44af9f
|
601
|
PGET_SET_DEVICE_DATA SetBusData;
|
sca8er |
2:5853bf44af9f
|
602
|
PGET_SET_DEVICE_DATA GetBusData;
|
sca8er |
2:5853bf44af9f
|
603
|
} BUS_INTERFACE_STANDARD, *PBUS_INTERFACE_STANDARD;
|
sca8er |
2:5853bf44af9f
|
604
|
|
sca8er |
2:5853bf44af9f
|
605
|
typedef struct _DEVICE_CAPABILITIES {
|
sca8er |
2:5853bf44af9f
|
606
|
USHORT Size;
|
sca8er |
2:5853bf44af9f
|
607
|
USHORT Version;
|
sca8er |
2:5853bf44af9f
|
608
|
ULONG DeviceD1 : 1;
|
sca8er |
2:5853bf44af9f
|
609
|
ULONG DeviceD2 : 1;
|
sca8er |
2:5853bf44af9f
|
610
|
ULONG LockSupported : 1;
|
sca8er |
2:5853bf44af9f
|
611
|
ULONG EjectSupported : 1;
|
sca8er |
2:5853bf44af9f
|
612
|
ULONG Removable : 1;
|
sca8er |
2:5853bf44af9f
|
613
|
ULONG DockDevice : 1;
|
sca8er |
2:5853bf44af9f
|
614
|
ULONG UniqueID : 1;
|
sca8er |
2:5853bf44af9f
|
615
|
ULONG SilentInstall : 1;
|
sca8er |
2:5853bf44af9f
|
616
|
ULONG RawDeviceOK : 1;
|
sca8er |
2:5853bf44af9f
|
617
|
ULONG SurpriseRemovalOK : 1;
|
sca8er |
2:5853bf44af9f
|
618
|
ULONG WakeFromD0 : 1;
|
sca8er |
2:5853bf44af9f
|
619
|
ULONG WakeFromD1 : 1;
|
sca8er |
2:5853bf44af9f
|
620
|
ULONG WakeFromD2 : 1;
|
sca8er |
2:5853bf44af9f
|
621
|
ULONG WakeFromD3 : 1;
|
sca8er |
2:5853bf44af9f
|
622
|
ULONG HardwareDisabled : 1;
|
sca8er |
2:5853bf44af9f
|
623
|
ULONG NonDynamic : 1;
|
sca8er |
2:5853bf44af9f
|
624
|
ULONG WarmEjectSupported : 1;
|
sca8er |
2:5853bf44af9f
|
625
|
ULONG NoDisplayInUI : 1;
|
sca8er |
2:5853bf44af9f
|
626
|
ULONG Reserved : 14;
|
sca8er |
2:5853bf44af9f
|
627
|
ULONG Address;
|
sca8er |
2:5853bf44af9f
|
628
|
ULONG UINumber;
|
sca8er |
2:5853bf44af9f
|
629
|
DEVICE_POWER_STATE DeviceState[PowerSystemMaximum];
|
sca8er |
2:5853bf44af9f
|
630
|
SYSTEM_POWER_STATE SystemWake;
|
sca8er |
2:5853bf44af9f
|
631
|
DEVICE_POWER_STATE DeviceWake;
|
sca8er |
2:5853bf44af9f
|
632
|
ULONG D1Latency;
|
sca8er |
2:5853bf44af9f
|
633
|
ULONG D2Latency;
|
sca8er |
2:5853bf44af9f
|
634
|
ULONG D3Latency;
|
sca8er |
2:5853bf44af9f
|
635
|
} DEVICE_CAPABILITIES, *PDEVICE_CAPABILITIES;
|
sca8er |
2:5853bf44af9f
|
636
|
|
sca8er |
2:5853bf44af9f
|
637
|
typedef struct _DEVICE_INTERFACE_CHANGE_NOTIFICATION {
|
sca8er |
2:5853bf44af9f
|
638
|
USHORT Version;
|
sca8er |
2:5853bf44af9f
|
639
|
USHORT Size;
|
sca8er |
2:5853bf44af9f
|
640
|
GUID Event;
|
sca8er |
2:5853bf44af9f
|
641
|
GUID InterfaceClassGuid;
|
sca8er |
2:5853bf44af9f
|
642
|
PUNICODE_STRING SymbolicLinkName;
|
sca8er |
2:5853bf44af9f
|
643
|
} DEVICE_INTERFACE_CHANGE_NOTIFICATION, *PDEVICE_INTERFACE_CHANGE_NOTIFICATION;
|
sca8er |
2:5853bf44af9f
|
644
|
|
sca8er |
2:5853bf44af9f
|
645
|
typedef struct _HWPROFILE_CHANGE_NOTIFICATION {
|
sca8er |
2:5853bf44af9f
|
646
|
USHORT Version;
|
sca8er |
2:5853bf44af9f
|
647
|
USHORT Size;
|
sca8er |
2:5853bf44af9f
|
648
|
GUID Event;
|
sca8er |
2:5853bf44af9f
|
649
|
} HWPROFILE_CHANGE_NOTIFICATION, *PHWPROFILE_CHANGE_NOTIFICATION;
|
sca8er |
2:5853bf44af9f
|
650
|
|
sca8er |
2:5853bf44af9f
|
651
|
#undef INTERFACE
|
sca8er |
2:5853bf44af9f
|
652
|
|
sca8er |
2:5853bf44af9f
|
653
|
typedef struct _INTERFACE {
|
sca8er |
2:5853bf44af9f
|
654
|
USHORT Size;
|
sca8er |
2:5853bf44af9f
|
655
|
USHORT Version;
|
sca8er |
2:5853bf44af9f
|
656
|
PVOID Context;
|
sca8er |
2:5853bf44af9f
|
657
|
PINTERFACE_REFERENCE InterfaceReference;
|
sca8er |
2:5853bf44af9f
|
658
|
PINTERFACE_DEREFERENCE InterfaceDereference;
|
sca8er |
2:5853bf44af9f
|
659
|
} INTERFACE, *PINTERFACE;
|
sca8er |
2:5853bf44af9f
|
660
|
|
sca8er |
2:5853bf44af9f
|
661
|
typedef struct _PLUGPLAY_NOTIFICATION_HEADER {
|
sca8er |
2:5853bf44af9f
|
662
|
USHORT Version;
|
sca8er |
2:5853bf44af9f
|
663
|
USHORT Size;
|
sca8er |
2:5853bf44af9f
|
664
|
GUID Event;
|
sca8er |
2:5853bf44af9f
|
665
|
} PLUGPLAY_NOTIFICATION_HEADER, *PPLUGPLAY_NOTIFICATION_HEADER;
|
sca8er |
2:5853bf44af9f
|
666
|
|
sca8er |
2:5853bf44af9f
|
667
|
typedef ULONG PNP_DEVICE_STATE, *PPNP_DEVICE_STATE;
|
sca8er |
2:5853bf44af9f
|
668
|
|
sca8er |
2:5853bf44af9f
|
669
|
/* PNP_DEVICE_STATE */
|
sca8er |
2:5853bf44af9f
|
670
|
|
sca8er |
2:5853bf44af9f
|
671
|
#define PNP_DEVICE_DISABLED 0x00000001
|
sca8er |
2:5853bf44af9f
|
672
|
#define PNP_DEVICE_DONT_DISPLAY_IN_UI 0x00000002
|
sca8er |
2:5853bf44af9f
|
673
|
#define PNP_DEVICE_FAILED 0x00000004
|
sca8er |
2:5853bf44af9f
|
674
|
#define PNP_DEVICE_REMOVED 0x00000008
|
sca8er |
2:5853bf44af9f
|
675
|
#define PNP_DEVICE_RESOURCE_REQUIREMENTS_CHANGED 0x00000010
|
sca8er |
2:5853bf44af9f
|
676
|
#define PNP_DEVICE_NOT_DISABLEABLE 0x00000020
|
sca8er |
2:5853bf44af9f
|
677
|
|
sca8er |
2:5853bf44af9f
|
678
|
typedef struct _TARGET_DEVICE_CUSTOM_NOTIFICATION {
|
sca8er |
2:5853bf44af9f
|
679
|
USHORT Version;
|
sca8er |
2:5853bf44af9f
|
680
|
USHORT Size;
|
sca8er |
2:5853bf44af9f
|
681
|
GUID Event;
|
sca8er |
2:5853bf44af9f
|
682
|
struct _FILE_OBJECT *FileObject;
|
sca8er |
2:5853bf44af9f
|
683
|
LONG NameBufferOffset;
|
sca8er |
2:5853bf44af9f
|
684
|
UCHAR CustomDataBuffer[1];
|
sca8er |
2:5853bf44af9f
|
685
|
} TARGET_DEVICE_CUSTOM_NOTIFICATION, *PTARGET_DEVICE_CUSTOM_NOTIFICATION;
|
sca8er |
2:5853bf44af9f
|
686
|
|
sca8er |
2:5853bf44af9f
|
687
|
typedef struct _TARGET_DEVICE_REMOVAL_NOTIFICATION {
|
sca8er |
2:5853bf44af9f
|
688
|
USHORT Version;
|
sca8er |
2:5853bf44af9f
|
689
|
USHORT Size;
|
sca8er |
2:5853bf44af9f
|
690
|
GUID Event;
|
sca8er |
2:5853bf44af9f
|
691
|
struct _FILE_OBJECT *FileObject;
|
sca8er |
2:5853bf44af9f
|
692
|
} TARGET_DEVICE_REMOVAL_NOTIFICATION, *PTARGET_DEVICE_REMOVAL_NOTIFICATION;
|
sca8er |
2:5853bf44af9f
|
693
|
|
sca8er |
2:5853bf44af9f
|
694
|
typedef enum _BUS_QUERY_ID_TYPE {
|
sca8er |
2:5853bf44af9f
|
695
|
BusQueryDeviceID,
|
sca8er |
2:5853bf44af9f
|
696
|
BusQueryHardwareIDs,
|
sca8er |
2:5853bf44af9f
|
697
|
BusQueryCompatibleIDs,
|
sca8er |
2:5853bf44af9f
|
698
|
BusQueryInstanceID,
|
sca8er |
2:5853bf44af9f
|
699
|
BusQueryDeviceSerialNumber
|
sca8er |
2:5853bf44af9f
|
700
|
} BUS_QUERY_ID_TYPE, *PBUS_QUERY_ID_TYPE;
|
sca8er |
2:5853bf44af9f
|
701
|
|
sca8er |
2:5853bf44af9f
|
702
|
typedef enum _DEVICE_TEXT_TYPE {
|
sca8er |
2:5853bf44af9f
|
703
|
DeviceTextDescription,
|
sca8er |
2:5853bf44af9f
|
704
|
DeviceTextLocationInformation
|
sca8er |
2:5853bf44af9f
|
705
|
} DEVICE_TEXT_TYPE, *PDEVICE_TEXT_TYPE;
|
sca8er |
2:5853bf44af9f
|
706
|
|
sca8er |
2:5853bf44af9f
|
707
|
typedef enum _DEVICE_USAGE_NOTIFICATION_TYPE {
|
sca8er |
2:5853bf44af9f
|
708
|
DeviceUsageTypeUndefined,
|
sca8er |
2:5853bf44af9f
|
709
|
DeviceUsageTypePaging,
|
sca8er |
2:5853bf44af9f
|
710
|
DeviceUsageTypeHibernation,
|
sca8er |
2:5853bf44af9f
|
711
|
DeviceUsageTypeDumpFile
|
sca8er |
2:5853bf44af9f
|
712
|
} DEVICE_USAGE_NOTIFICATION_TYPE;
|
sca8er |
2:5853bf44af9f
|
713
|
|
sca8er |
2:5853bf44af9f
|
714
|
typedef struct _POWER_SEQUENCE {
|
sca8er |
2:5853bf44af9f
|
715
|
ULONG SequenceD1;
|
sca8er |
2:5853bf44af9f
|
716
|
ULONG SequenceD2;
|
sca8er |
2:5853bf44af9f
|
717
|
ULONG SequenceD3;
|
sca8er |
2:5853bf44af9f
|
718
|
} POWER_SEQUENCE, *PPOWER_SEQUENCE;
|
sca8er |
2:5853bf44af9f
|
719
|
|
sca8er |
2:5853bf44af9f
|
720
|
typedef enum {
|
sca8er |
2:5853bf44af9f
|
721
|
DevicePropertyDeviceDescription,
|
sca8er |
2:5853bf44af9f
|
722
|
DevicePropertyHardwareID,
|
sca8er |
2:5853bf44af9f
|
723
|
DevicePropertyCompatibleIDs,
|
sca8er |
2:5853bf44af9f
|
724
|
DevicePropertyBootConfiguration,
|
sca8er |
2:5853bf44af9f
|
725
|
DevicePropertyBootConfigurationTranslated,
|
sca8er |
2:5853bf44af9f
|
726
|
DevicePropertyClassName,
|
sca8er |
2:5853bf44af9f
|
727
|
DevicePropertyClassGuid,
|
sca8er |
2:5853bf44af9f
|
728
|
DevicePropertyDriverKeyName,
|
sca8er |
2:5853bf44af9f
|
729
|
DevicePropertyManufacturer,
|
sca8er |
2:5853bf44af9f
|
730
|
DevicePropertyFriendlyName,
|
sca8er |
2:5853bf44af9f
|
731
|
DevicePropertyLocationInformation,
|
sca8er |
2:5853bf44af9f
|
732
|
DevicePropertyPhysicalDeviceObjectName,
|
sca8er |
2:5853bf44af9f
|
733
|
DevicePropertyBusTypeGuid,
|
sca8er |
2:5853bf44af9f
|
734
|
DevicePropertyLegacyBusType,
|
sca8er |
2:5853bf44af9f
|
735
|
DevicePropertyBusNumber,
|
sca8er |
2:5853bf44af9f
|
736
|
DevicePropertyEnumeratorName,
|
sca8er |
2:5853bf44af9f
|
737
|
DevicePropertyAddress,
|
sca8er |
2:5853bf44af9f
|
738
|
DevicePropertyUINumber,
|
sca8er |
2:5853bf44af9f
|
739
|
DevicePropertyInstallState,
|
sca8er |
2:5853bf44af9f
|
740
|
DevicePropertyRemovalPolicy
|
sca8er |
2:5853bf44af9f
|
741
|
} DEVICE_REGISTRY_PROPERTY;
|
sca8er |
2:5853bf44af9f
|
742
|
|
sca8er |
2:5853bf44af9f
|
743
|
typedef enum _IO_NOTIFICATION_EVENT_CATEGORY {
|
sca8er |
2:5853bf44af9f
|
744
|
EventCategoryReserved,
|
sca8er |
2:5853bf44af9f
|
745
|
EventCategoryHardwareProfileChange,
|
sca8er |
2:5853bf44af9f
|
746
|
EventCategoryDeviceInterfaceChange,
|
sca8er |
2:5853bf44af9f
|
747
|
EventCategoryTargetDeviceChange
|
sca8er |
2:5853bf44af9f
|
748
|
} IO_NOTIFICATION_EVENT_CATEGORY;
|
sca8er |
2:5853bf44af9f
|
749
|
|
sca8er |
2:5853bf44af9f
|
750
|
#define PNPNOTIFY_DEVICE_INTERFACE_INCLUDE_EXISTING_INTERFACES 0x00000001
|
sca8er |
2:5853bf44af9f
|
751
|
|
sca8er |
2:5853bf44af9f
|
752
|
typedef NTSTATUS DDKAPI
|
sca8er |
2:5853bf44af9f
|
753
|
(*PDRIVER_NOTIFICATION_CALLBACK_ROUTINE)(
|
sca8er |
2:5853bf44af9f
|
754
|
/*IN*/ PVOID NotificationStructure,
|
sca8er |
2:5853bf44af9f
|
755
|
/*IN*/ PVOID Context);
|
sca8er |
2:5853bf44af9f
|
756
|
|
sca8er |
2:5853bf44af9f
|
757
|
typedef VOID DDKAPI
|
sca8er |
2:5853bf44af9f
|
758
|
(*PDEVICE_CHANGE_COMPLETE_CALLBACK)(
|
sca8er |
2:5853bf44af9f
|
759
|
/*IN*/ PVOID Context);
|
sca8er |
2:5853bf44af9f
|
760
|
|
sca8er |
2:5853bf44af9f
|
761
|
|
sca8er |
2:5853bf44af9f
|
762
|
|
sca8er |
2:5853bf44af9f
|
763
|
/*
|
sca8er |
2:5853bf44af9f
|
764
|
** System structures
|
sca8er |
2:5853bf44af9f
|
765
|
*/
|
sca8er |
2:5853bf44af9f
|
766
|
|
sca8er |
2:5853bf44af9f
|
767
|
#define SYMBOLIC_LINK_QUERY 0x0001
|
sca8er |
2:5853bf44af9f
|
768
|
#define SYMBOLIC_LINK_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0x1)
|
sca8er |
2:5853bf44af9f
|
769
|
|
sca8er |
2:5853bf44af9f
|
770
|
/* also in winnt,h */
|
sca8er |
2:5853bf44af9f
|
771
|
#define DUPLICATE_CLOSE_SOURCE 0x00000001
|
sca8er |
2:5853bf44af9f
|
772
|
#define DUPLICATE_SAME_ACCESS 0x00000002
|
sca8er |
2:5853bf44af9f
|
773
|
#define DUPLICATE_SAME_ATTRIBUTES 0x00000004
|
sca8er |
2:5853bf44af9f
|
774
|
/* end winnt.h */
|
sca8er |
2:5853bf44af9f
|
775
|
|
sca8er |
2:5853bf44af9f
|
776
|
typedef struct _OBJECT_NAME_INFORMATION {
|
sca8er |
2:5853bf44af9f
|
777
|
UNICODE_STRING Name;
|
sca8er |
2:5853bf44af9f
|
778
|
} OBJECT_NAME_INFORMATION, *POBJECT_NAME_INFORMATION;
|
sca8er |
2:5853bf44af9f
|
779
|
|
sca8er |
2:5853bf44af9f
|
780
|
typedef VOID DDKAPI
|
sca8er |
2:5853bf44af9f
|
781
|
(*PIO_APC_ROUTINE)(
|
sca8er |
2:5853bf44af9f
|
782
|
/*IN*/ PVOID ApcContext,
|
sca8er |
2:5853bf44af9f
|
783
|
/*IN*/ PIO_STATUS_BLOCK IoStatusBlock,
|
sca8er |
2:5853bf44af9f
|
784
|
/*IN*/ ULONG Reserved);
|
sca8er |
2:5853bf44af9f
|
785
|
|
sca8er |
2:5853bf44af9f
|
786
|
typedef struct _IO_STATUS_BLOCK {
|
sca8er |
2:5853bf44af9f
|
787
|
_ANONYMOUS_UNION union {
|
sca8er |
2:5853bf44af9f
|
788
|
NTSTATUS Status;
|
sca8er |
2:5853bf44af9f
|
789
|
PVOID Pointer;
|
sca8er |
2:5853bf44af9f
|
790
|
} DUMMYUNIONNAME;
|
sca8er |
2:5853bf44af9f
|
791
|
ULONG_PTR Information;
|
sca8er |
2:5853bf44af9f
|
792
|
} IO_STATUS_BLOCK;
|
sca8er |
2:5853bf44af9f
|
793
|
|
sca8er |
2:5853bf44af9f
|
794
|
typedef VOID DDKAPI
|
sca8er |
2:5853bf44af9f
|
795
|
(*PKNORMAL_ROUTINE)(
|
sca8er |
2:5853bf44af9f
|
796
|
/*IN*/ PVOID NormalContext,
|
sca8er |
2:5853bf44af9f
|
797
|
/*IN*/ PVOID SystemArgument1,
|
sca8er |
2:5853bf44af9f
|
798
|
/*IN*/ PVOID SystemArgument2);
|
sca8er |
2:5853bf44af9f
|
799
|
|
sca8er |
2:5853bf44af9f
|
800
|
typedef VOID DDKAPI
|
sca8er |
2:5853bf44af9f
|
801
|
(*PKKERNEL_ROUTINE)(
|
sca8er |
2:5853bf44af9f
|
802
|
/*IN*/ struct _KAPC *Apc,
|
sca8er |
2:5853bf44af9f
|
803
|
/*IN OUT*/ PKNORMAL_ROUTINE *NormalRoutine,
|
sca8er |
2:5853bf44af9f
|
804
|
/*IN OUT*/ PVOID *NormalContext,
|
sca8er |
2:5853bf44af9f
|
805
|
/*IN OUT*/ PVOID *SystemArgument1,
|
sca8er |
2:5853bf44af9f
|
806
|
/*IN OUT*/ PVOID *SystemArgument2);
|
sca8er |
2:5853bf44af9f
|
807
|
|
sca8er |
2:5853bf44af9f
|
808
|
typedef VOID DDKAPI
|
sca8er |
2:5853bf44af9f
|
809
|
(*PKRUNDOWN_ROUTINE)(
|
sca8er |
2:5853bf44af9f
|
810
|
/*IN*/ struct _KAPC *Apc);
|
sca8er |
2:5853bf44af9f
|
811
|
|
sca8er |
2:5853bf44af9f
|
812
|
typedef BOOLEAN DDKAPI
|
sca8er |
2:5853bf44af9f
|
813
|
(*PKTRANSFER_ROUTINE)(
|
sca8er |
2:5853bf44af9f
|
814
|
VOID);
|
sca8er |
2:5853bf44af9f
|
815
|
|
sca8er |
2:5853bf44af9f
|
816
|
typedef struct _KAPC {
|
sca8er |
2:5853bf44af9f
|
817
|
CSHORT Type;
|
sca8er |
2:5853bf44af9f
|
818
|
CSHORT Size;
|
sca8er |
2:5853bf44af9f
|
819
|
ULONG Spare0;
|
sca8er |
2:5853bf44af9f
|
820
|
struct _KTHREAD *Thread;
|
sca8er |
2:5853bf44af9f
|
821
|
LIST_ENTRY ApcListEntry;
|
sca8er |
2:5853bf44af9f
|
822
|
PKKERNEL_ROUTINE KernelRoutine;
|
sca8er |
2:5853bf44af9f
|
823
|
PKRUNDOWN_ROUTINE RundownRoutine;
|
sca8er |
2:5853bf44af9f
|
824
|
PKNORMAL_ROUTINE NormalRoutine;
|
sca8er |
2:5853bf44af9f
|
825
|
PVOID NormalContext;
|
sca8er |
2:5853bf44af9f
|
826
|
PVOID SystemArgument1;
|
sca8er |
2:5853bf44af9f
|
827
|
PVOID SystemArgument2;
|
sca8er |
2:5853bf44af9f
|
828
|
CCHAR ApcStateIndex;
|
sca8er |
2:5853bf44af9f
|
829
|
KPROCESSOR_MODE ApcMode;
|
sca8er |
2:5853bf44af9f
|
830
|
BOOLEAN Inserted;
|
sca8er |
2:5853bf44af9f
|
831
|
} KAPC, *PKAPC, *RESTRICTED_POINTER PRKAPC;
|
sca8er |
2:5853bf44af9f
|
832
|
|
sca8er |
2:5853bf44af9f
|
833
|
typedef struct _KDEVICE_QUEUE {
|
sca8er |
2:5853bf44af9f
|
834
|
CSHORT Type;
|
sca8er |
2:5853bf44af9f
|
835
|
CSHORT Size;
|
sca8er |
2:5853bf44af9f
|
836
|
LIST_ENTRY DeviceListHead;
|
sca8er |
2:5853bf44af9f
|
837
|
KSPIN_LOCK Lock;
|
sca8er |
2:5853bf44af9f
|
838
|
BOOLEAN Busy;
|
sca8er |
2:5853bf44af9f
|
839
|
} KDEVICE_QUEUE, *PKDEVICE_QUEUE, *RESTRICTED_POINTER PRKDEVICE_QUEUE;
|
sca8er |
2:5853bf44af9f
|
840
|
|
sca8er |
2:5853bf44af9f
|
841
|
typedef struct _KDEVICE_QUEUE_ENTRY {
|
sca8er |
2:5853bf44af9f
|
842
|
LIST_ENTRY DeviceListEntry;
|
sca8er |
2:5853bf44af9f
|
843
|
ULONG SortKey;
|
sca8er |
2:5853bf44af9f
|
844
|
BOOLEAN Inserted;
|
sca8er |
2:5853bf44af9f
|
845
|
} KDEVICE_QUEUE_ENTRY, *PKDEVICE_QUEUE_ENTRY,
|
sca8er |
2:5853bf44af9f
|
846
|
*RESTRICTED_POINTER PRKDEVICE_QUEUE_ENTRY;
|
sca8er |
2:5853bf44af9f
|
847
|
|
sca8er |
2:5853bf44af9f
|
848
|
#define LOCK_QUEUE_WAIT 1
|
sca8er |
2:5853bf44af9f
|
849
|
#define LOCK_QUEUE_OWNER 2
|
sca8er |
2:5853bf44af9f
|
850
|
|
sca8er |
2:5853bf44af9f
|
851
|
typedef enum _KSPIN_LOCK_QUEUE_NUMBER {
|
sca8er |
2:5853bf44af9f
|
852
|
LockQueueDispatcherLock,
|
sca8er |
2:5853bf44af9f
|
853
|
LockQueueContextSwapLock,
|
sca8er |
2:5853bf44af9f
|
854
|
LockQueuePfnLock,
|
sca8er |
2:5853bf44af9f
|
855
|
LockQueueSystemSpaceLock,
|
sca8er |
2:5853bf44af9f
|
856
|
LockQueueVacbLock,
|
sca8er |
2:5853bf44af9f
|
857
|
LockQueueMasterLock,
|
sca8er |
2:5853bf44af9f
|
858
|
LockQueueNonPagedPoolLock,
|
sca8er |
2:5853bf44af9f
|
859
|
LockQueueIoCancelLock,
|
sca8er |
2:5853bf44af9f
|
860
|
LockQueueWorkQueueLock,
|
sca8er |
2:5853bf44af9f
|
861
|
LockQueueIoVpbLock,
|
sca8er |
2:5853bf44af9f
|
862
|
LockQueueIoDatabaseLock,
|
sca8er |
2:5853bf44af9f
|
863
|
LockQueueIoCompletionLock,
|
sca8er |
2:5853bf44af9f
|
864
|
LockQueueNtfsStructLock,
|
sca8er |
2:5853bf44af9f
|
865
|
LockQueueAfdWorkQueueLock,
|
sca8er |
2:5853bf44af9f
|
866
|
LockQueueBcbLock,
|
sca8er |
2:5853bf44af9f
|
867
|
LockQueueMaximumLock
|
sca8er |
2:5853bf44af9f
|
868
|
} KSPIN_LOCK_QUEUE_NUMBER, *PKSPIN_LOCK_QUEUE_NUMBER;
|
sca8er |
2:5853bf44af9f
|
869
|
|
sca8er |
2:5853bf44af9f
|
870
|
typedef struct _KSPIN_LOCK_QUEUE {
|
sca8er |
2:5853bf44af9f
|
871
|
struct _KSPIN_LOCK_QUEUE *VOLATILE Next;
|
sca8er |
2:5853bf44af9f
|
872
|
PKSPIN_LOCK VOLATILE Lock;
|
sca8er |
2:5853bf44af9f
|
873
|
} KSPIN_LOCK_QUEUE, *PKSPIN_LOCK_QUEUE;
|
sca8er |
2:5853bf44af9f
|
874
|
|
sca8er |
2:5853bf44af9f
|
875
|
typedef struct _KLOCK_QUEUE_HANDLE {
|
sca8er |
2:5853bf44af9f
|
876
|
KSPIN_LOCK_QUEUE LockQueue;
|
sca8er |
2:5853bf44af9f
|
877
|
KIRQL OldIrql;
|
sca8er |
2:5853bf44af9f
|
878
|
} KLOCK_QUEUE_HANDLE, *PKLOCK_QUEUE_HANDLE;
|
sca8er |
2:5853bf44af9f
|
879
|
|
sca8er |
2:5853bf44af9f
|
880
|
typedef struct _KDPC {
|
sca8er |
2:5853bf44af9f
|
881
|
CSHORT Type;
|
sca8er |
2:5853bf44af9f
|
882
|
UCHAR Number;
|
sca8er |
2:5853bf44af9f
|
883
|
UCHAR Importance;
|
sca8er |
2:5853bf44af9f
|
884
|
LIST_ENTRY DpcListEntry;
|
sca8er |
2:5853bf44af9f
|
885
|
PKDEFERRED_ROUTINE DeferredRoutine;
|
sca8er |
2:5853bf44af9f
|
886
|
PVOID DeferredContext;
|
sca8er |
2:5853bf44af9f
|
887
|
PVOID SystemArgument1;
|
sca8er |
2:5853bf44af9f
|
888
|
PVOID SystemArgument2;
|
sca8er |
2:5853bf44af9f
|
889
|
PULONG_PTR Lock;
|
sca8er |
2:5853bf44af9f
|
890
|
} KDPC, *PKDPC, *RESTRICTED_POINTER PRKDPC;
|
sca8er |
2:5853bf44af9f
|
891
|
|
sca8er |
2:5853bf44af9f
|
892
|
typedef struct _WAIT_CONTEXT_BLOCK {
|
sca8er |
2:5853bf44af9f
|
893
|
KDEVICE_QUEUE_ENTRY WaitQueueEntry;
|
sca8er |
2:5853bf44af9f
|
894
|
struct _DRIVER_CONTROL *DeviceRoutine;
|
sca8er |
2:5853bf44af9f
|
895
|
PVOID DeviceContext;
|
sca8er |
2:5853bf44af9f
|
896
|
ULONG NumberOfMapRegisters;
|
sca8er |
2:5853bf44af9f
|
897
|
PVOID DeviceObject;
|
sca8er |
2:5853bf44af9f
|
898
|
PVOID CurrentIrp;
|
sca8er |
2:5853bf44af9f
|
899
|
PKDPC BufferChainingDpc;
|
sca8er |
2:5853bf44af9f
|
900
|
} WAIT_CONTEXT_BLOCK, *PWAIT_CONTEXT_BLOCK;
|
sca8er |
2:5853bf44af9f
|
901
|
|
sca8er |
2:5853bf44af9f
|
902
|
typedef struct _DISPATCHER_HEADER {
|
sca8er |
2:5853bf44af9f
|
903
|
UCHAR Type;
|
sca8er |
2:5853bf44af9f
|
904
|
UCHAR Absolute;
|
sca8er |
2:5853bf44af9f
|
905
|
UCHAR Size;
|
sca8er |
2:5853bf44af9f
|
906
|
UCHAR Inserted;
|
sca8er |
2:5853bf44af9f
|
907
|
LONG SignalState;
|
sca8er |
2:5853bf44af9f
|
908
|
LIST_ENTRY WaitListHead;
|
sca8er |
2:5853bf44af9f
|
909
|
} DISPATCHER_HEADER, *PDISPATCHER_HEADER;
|
sca8er |
2:5853bf44af9f
|
910
|
|
sca8er |
2:5853bf44af9f
|
911
|
typedef struct _KEVENT {
|
sca8er |
2:5853bf44af9f
|
912
|
DISPATCHER_HEADER Header;
|
sca8er |
2:5853bf44af9f
|
913
|
} KEVENT, *PKEVENT, *RESTRICTED_POINTER PRKEVENT;
|
sca8er |
2:5853bf44af9f
|
914
|
|
sca8er |
2:5853bf44af9f
|
915
|
typedef struct _KSEMAPHORE {
|
sca8er |
2:5853bf44af9f
|
916
|
DISPATCHER_HEADER Header;
|
sca8er |
2:5853bf44af9f
|
917
|
LONG Limit;
|
sca8er |
2:5853bf44af9f
|
918
|
} KSEMAPHORE, *PKSEMAPHORE, *RESTRICTED_POINTER PRKSEMAPHORE;
|
sca8er |
2:5853bf44af9f
|
919
|
|
sca8er |
2:5853bf44af9f
|
920
|
typedef struct _FAST_MUTEX {
|
sca8er |
2:5853bf44af9f
|
921
|
LONG Count;
|
sca8er |
2:5853bf44af9f
|
922
|
struct _KTHREAD *Owner;
|
sca8er |
2:5853bf44af9f
|
923
|
ULONG Contention;
|
sca8er |
2:5853bf44af9f
|
924
|
KEVENT Event;
|
sca8er |
2:5853bf44af9f
|
925
|
ULONG OldIrql;
|
sca8er |
2:5853bf44af9f
|
926
|
} FAST_MUTEX, *PFAST_MUTEX;
|
sca8er |
2:5853bf44af9f
|
927
|
|
sca8er |
2:5853bf44af9f
|
928
|
typedef struct _KTIMER {
|
sca8er |
2:5853bf44af9f
|
929
|
DISPATCHER_HEADER Header;
|
sca8er |
2:5853bf44af9f
|
930
|
ULARGE_INTEGER DueTime;
|
sca8er |
2:5853bf44af9f
|
931
|
LIST_ENTRY TimerListEntry;
|
sca8er |
2:5853bf44af9f
|
932
|
struct _KDPC *Dpc;
|
sca8er |
2:5853bf44af9f
|
933
|
LONG Period;
|
sca8er |
2:5853bf44af9f
|
934
|
} KTIMER, *PKTIMER, *RESTRICTED_POINTER PRKTIMER;
|
sca8er |
2:5853bf44af9f
|
935
|
|
sca8er |
2:5853bf44af9f
|
936
|
typedef struct _KMUTANT {
|
sca8er |
2:5853bf44af9f
|
937
|
DISPATCHER_HEADER Header;
|
sca8er |
2:5853bf44af9f
|
938
|
LIST_ENTRY MutantListEntry;
|
sca8er |
2:5853bf44af9f
|
939
|
struct _KTHREAD *RESTRICTED_POINTER OwnerThread;
|
sca8er |
2:5853bf44af9f
|
940
|
BOOLEAN Abandoned;
|
sca8er |
2:5853bf44af9f
|
941
|
UCHAR ApcDisable;
|
sca8er |
2:5853bf44af9f
|
942
|
} KMUTANT, *PKMUTANT, *RESTRICTED_POINTER PRKMUTANT, KMUTEX, *PKMUTEX, *RESTRICTED_POINTER PRKMUTEX;
|
sca8er |
2:5853bf44af9f
|
943
|
|
sca8er |
2:5853bf44af9f
|
944
|
typedef enum _TIMER_TYPE {
|
sca8er |
2:5853bf44af9f
|
945
|
NotificationTimer,
|
sca8er |
2:5853bf44af9f
|
946
|
SynchronizationTimer
|
sca8er |
2:5853bf44af9f
|
947
|
} TIMER_TYPE;
|
sca8er |
2:5853bf44af9f
|
948
|
|
sca8er |
2:5853bf44af9f
|
949
|
#define EVENT_INCREMENT 1
|
sca8er |
2:5853bf44af9f
|
950
|
#define IO_NO_INCREMENT 0
|
sca8er |
2:5853bf44af9f
|
951
|
#define IO_CD_ROM_INCREMENT 1
|
sca8er |
2:5853bf44af9f
|
952
|
#define IO_DISK_INCREMENT 1
|
sca8er |
2:5853bf44af9f
|
953
|
#define IO_KEYBOARD_INCREMENT 6
|
sca8er |
2:5853bf44af9f
|
954
|
#define IO_MAILSLOT_INCREMENT 2
|
sca8er |
2:5853bf44af9f
|
955
|
#define IO_MOUSE_INCREMENT 6
|
sca8er |
2:5853bf44af9f
|
956
|
#define IO_NAMED_PIPE_INCREMENT 2
|
sca8er |
2:5853bf44af9f
|
957
|
#define IO_NETWORK_INCREMENT 2
|
sca8er |
2:5853bf44af9f
|
958
|
#define IO_PARALLEL_INCREMENT 1
|
sca8er |
2:5853bf44af9f
|
959
|
#define IO_SERIAL_INCREMENT 2
|
sca8er |
2:5853bf44af9f
|
960
|
#define IO_SOUND_INCREMENT 8
|
sca8er |
2:5853bf44af9f
|
961
|
#define IO_VIDEO_INCREMENT 1
|
sca8er |
2:5853bf44af9f
|
962
|
#define SEMAPHORE_INCREMENT 1
|
sca8er |
2:5853bf44af9f
|
963
|
|
sca8er |
2:5853bf44af9f
|
964
|
typedef struct _IRP {
|
sca8er |
2:5853bf44af9f
|
965
|
CSHORT Type;
|
sca8er |
2:5853bf44af9f
|
966
|
USHORT Size;
|
sca8er |
2:5853bf44af9f
|
967
|
struct _MDL *MdlAddress;
|
sca8er |
2:5853bf44af9f
|
968
|
ULONG Flags;
|
sca8er |
2:5853bf44af9f
|
969
|
union {
|
sca8er |
2:5853bf44af9f
|
970
|
struct _IRP *MasterIrp;
|
sca8er |
2:5853bf44af9f
|
971
|
LONG IrpCount;
|
sca8er |
2:5853bf44af9f
|
972
|
PVOID SystemBuffer;
|
sca8er |
2:5853bf44af9f
|
973
|
} AssociatedIrp;
|
sca8er |
2:5853bf44af9f
|
974
|
LIST_ENTRY ThreadListEntry;
|
sca8er |
2:5853bf44af9f
|
975
|
IO_STATUS_BLOCK IoStatus;
|
sca8er |
2:5853bf44af9f
|
976
|
KPROCESSOR_MODE RequestorMode;
|
sca8er |
2:5853bf44af9f
|
977
|
BOOLEAN PendingReturned;
|
sca8er |
2:5853bf44af9f
|
978
|
CHAR StackCount;
|
sca8er |
2:5853bf44af9f
|
979
|
CHAR CurrentLocation;
|
sca8er |
2:5853bf44af9f
|
980
|
BOOLEAN Cancel;
|
sca8er |
2:5853bf44af9f
|
981
|
KIRQL CancelIrql;
|
sca8er |
2:5853bf44af9f
|
982
|
CCHAR ApcEnvironment;
|
sca8er |
2:5853bf44af9f
|
983
|
UCHAR AllocationFlags;
|
sca8er |
2:5853bf44af9f
|
984
|
PIO_STATUS_BLOCK UserIosb;
|
sca8er |
2:5853bf44af9f
|
985
|
PKEVENT UserEvent;
|
sca8er |
2:5853bf44af9f
|
986
|
union {
|
sca8er |
2:5853bf44af9f
|
987
|
struct {
|
sca8er |
2:5853bf44af9f
|
988
|
PIO_APC_ROUTINE UserApcRoutine;
|
sca8er |
2:5853bf44af9f
|
989
|
PVOID UserApcContext;
|
sca8er |
2:5853bf44af9f
|
990
|
} AsynchronousParameters;
|
sca8er |
2:5853bf44af9f
|
991
|
LARGE_INTEGER AllocationSize;
|
sca8er |
2:5853bf44af9f
|
992
|
} Overlay;
|
sca8er |
2:5853bf44af9f
|
993
|
PDRIVER_CANCEL CancelRoutine;
|
sca8er |
2:5853bf44af9f
|
994
|
PVOID UserBuffer;
|
sca8er |
2:5853bf44af9f
|
995
|
union {
|
sca8er |
2:5853bf44af9f
|
996
|
struct {
|
sca8er |
2:5853bf44af9f
|
997
|
_ANONYMOUS_UNION union {
|
sca8er |
2:5853bf44af9f
|
998
|
KDEVICE_QUEUE_ENTRY DeviceQueueEntry;
|
sca8er |
2:5853bf44af9f
|
999
|
_ANONYMOUS_STRUCT struct {
|
sca8er |
2:5853bf44af9f
|
1000
|
PVOID DriverContext[4];
|
sca8er |
2:5853bf44af9f
|
1001
|
} DUMMYSTRUCTNAME;
|
sca8er |
2:5853bf44af9f
|
1002
|
} DUMMYUNIONNAME;
|
sca8er |
2:5853bf44af9f
|
1003
|
PETHREAD Thread;
|
sca8er |
2:5853bf44af9f
|
1004
|
PCHAR AuxiliaryBuffer;
|
sca8er |
2:5853bf44af9f
|
1005
|
_ANONYMOUS_STRUCT struct {
|
sca8er |
2:5853bf44af9f
|
1006
|
LIST_ENTRY ListEntry;
|
sca8er |
2:5853bf44af9f
|
1007
|
_ANONYMOUS_UNION union {
|
sca8er |
2:5853bf44af9f
|
1008
|
struct _IO_STACK_LOCATION *CurrentStackLocation;
|
sca8er |
2:5853bf44af9f
|
1009
|
ULONG PacketType;
|
sca8er |
2:5853bf44af9f
|
1010
|
} DUMMYUNIONNAME;
|
sca8er |
2:5853bf44af9f
|
1011
|
} DUMMYSTRUCTNAME;
|
sca8er |
2:5853bf44af9f
|
1012
|
struct _FILE_OBJECT *OriginalFileObject;
|
sca8er |
2:5853bf44af9f
|
1013
|
} Overlay;
|
sca8er |
2:5853bf44af9f
|
1014
|
KAPC Apc;
|
sca8er |
2:5853bf44af9f
|
1015
|
PVOID CompletionKey;
|
sca8er |
2:5853bf44af9f
|
1016
|
} Tail;
|
sca8er |
2:5853bf44af9f
|
1017
|
} IRP;
|
sca8er |
2:5853bf44af9f
|
1018
|
typedef struct _IRP *PIRP;
|
sca8er |
2:5853bf44af9f
|
1019
|
|
sca8er |
2:5853bf44af9f
|
1020
|
/* IRP.Flags */
|
sca8er |
2:5853bf44af9f
|
1021
|
|
sca8er |
2:5853bf44af9f
|
1022
|
#define SL_FORCE_ACCESS_CHECK 0x01
|
sca8er |
2:5853bf44af9f
|
1023
|
#define SL_OPEN_PAGING_FILE 0x02
|
sca8er |
2:5853bf44af9f
|
1024
|
#define SL_OPEN_TARGET_DIRECTORY 0x04
|
sca8er |
2:5853bf44af9f
|
1025
|
#define SL_CASE_SENSITIVE 0x80
|
sca8er |
2:5853bf44af9f
|
1026
|
|
sca8er |
2:5853bf44af9f
|
1027
|
#define SL_KEY_SPECIFIED 0x01
|
sca8er |
2:5853bf44af9f
|
1028
|
#define SL_OVERRIDE_VERIFY_VOLUME 0x02
|
sca8er |
2:5853bf44af9f
|
1029
|
#define SL_WRITE_THROUGH 0x04
|
sca8er |
2:5853bf44af9f
|
1030
|
#define SL_FT_SEQUENTIAL_WRITE 0x08
|
sca8er |
2:5853bf44af9f
|
1031
|
|
sca8er |
2:5853bf44af9f
|
1032
|
#define SL_FAIL_IMMEDIATELY 0x01
|
sca8er |
2:5853bf44af9f
|
1033
|
#define SL_EXCLUSIVE_LOCK 0x02
|
sca8er |
2:5853bf44af9f
|
1034
|
|
sca8er |
2:5853bf44af9f
|
1035
|
#define SL_RESTART_SCAN 0x01
|
sca8er |
2:5853bf44af9f
|
1036
|
#define SL_RETURN_SINGLE_ENTRY 0x02
|
sca8er |
2:5853bf44af9f
|
1037
|
#define SL_INDEX_SPECIFIED 0x04
|
sca8er |
2:5853bf44af9f
|
1038
|
|
sca8er |
2:5853bf44af9f
|
1039
|
#define SL_WATCH_TREE 0x01
|
sca8er |
2:5853bf44af9f
|
1040
|
|
sca8er |
2:5853bf44af9f
|
1041
|
#define SL_ALLOW_RAW_MOUNT 0x01
|
sca8er |
2:5853bf44af9f
|
1042
|
|
sca8er |
2:5853bf44af9f
|
1043
|
#define CTL_CODE(DeviceType, Function, Method, Access)( \
|
sca8er |
2:5853bf44af9f
|
1044
|
((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method))
|
sca8er |
2:5853bf44af9f
|
1045
|
|
sca8er |
2:5853bf44af9f
|
1046
|
#define DEVICE_TYPE_FROM_CTL_CODE(ctl) (((ULONG) (ctl & 0xffff0000)) >> 16)
|
sca8er |
2:5853bf44af9f
|
1047
|
|
sca8er |
2:5853bf44af9f
|
1048
|
enum
|
sca8er |
2:5853bf44af9f
|
1049
|
{
|
sca8er |
2:5853bf44af9f
|
1050
|
IRP_NOCACHE = 0x1,
|
sca8er |
2:5853bf44af9f
|
1051
|
IRP_PAGING_IO = 0x2,
|
sca8er |
2:5853bf44af9f
|
1052
|
IRP_MOUNT_COMPLETION = 0x2,
|
sca8er |
2:5853bf44af9f
|
1053
|
IRP_SYNCHRONOUS_API = 0x4,
|
sca8er |
2:5853bf44af9f
|
1054
|
IRP_ASSOCIATED_IRP = 0x8,
|
sca8er |
2:5853bf44af9f
|
1055
|
IRP_BUFFERED_IO = 0x10,
|
sca8er |
2:5853bf44af9f
|
1056
|
IRP_DEALLOCATE_BUFFER = 0x20,
|
sca8er |
2:5853bf44af9f
|
1057
|
IRP_INPUT_OPERATION = 0x40,
|
sca8er |
2:5853bf44af9f
|
1058
|
IRP_SYNCHRONOUS_PAGING_IO = 0x40,
|
sca8er |
2:5853bf44af9f
|
1059
|
IRP_CREATE_OPERATION = 0x80,
|
sca8er |
2:5853bf44af9f
|
1060
|
IRP_READ_OPERATION = 0x100,
|
sca8er |
2:5853bf44af9f
|
1061
|
IRP_WRITE_OPERATION = 0x200,
|
sca8er |
2:5853bf44af9f
|
1062
|
IRP_CLOSE_OPERATION = 0x400,
|
sca8er |
2:5853bf44af9f
|
1063
|
IRP_DEFER_IO_COMPLETION = 0x800,
|
sca8er |
2:5853bf44af9f
|
1064
|
IRP_OB_QUERY_NAME = 0x1000,
|
sca8er |
2:5853bf44af9f
|
1065
|
IRP_HOLD_DEVICE_QUEUE = 0x2000,
|
sca8er |
2:5853bf44af9f
|
1066
|
IRP_RETRY_IO_COMPLETION = 0x4000
|
sca8er |
2:5853bf44af9f
|
1067
|
};
|
sca8er |
2:5853bf44af9f
|
1068
|
|
sca8er |
2:5853bf44af9f
|
1069
|
|
sca8er |
2:5853bf44af9f
|
1070
|
typedef struct _DRIVE_LAYOUT_INFORMATION_MBR {
|
sca8er |
2:5853bf44af9f
|
1071
|
ULONG Signature;
|
sca8er |
2:5853bf44af9f
|
1072
|
} DRIVE_LAYOUT_INFORMATION_MBR, *PDRIVE_LAYOUT_INFORMATION_MBR;
|
sca8er |
2:5853bf44af9f
|
1073
|
|
sca8er |
2:5853bf44af9f
|
1074
|
typedef struct _DRIVE_LAYOUT_INFORMATION_GPT {
|
sca8er |
2:5853bf44af9f
|
1075
|
GUID DiskId;
|
sca8er |
2:5853bf44af9f
|
1076
|
LARGE_INTEGER StartingUsableOffset;
|
sca8er |
2:5853bf44af9f
|
1077
|
LARGE_INTEGER UsableLength;
|
sca8er |
2:5853bf44af9f
|
1078
|
ULONG MaxPartitionCount;
|
sca8er |
2:5853bf44af9f
|
1079
|
} DRIVE_LAYOUT_INFORMATION_GPT, *PDRIVE_LAYOUT_INFORMATION_GPT;
|
sca8er |
2:5853bf44af9f
|
1080
|
|
sca8er |
2:5853bf44af9f
|
1081
|
typedef struct _PARTITION_INFORMATION_MBR {
|
sca8er |
2:5853bf44af9f
|
1082
|
UCHAR PartitionType;
|
sca8er |
2:5853bf44af9f
|
1083
|
BOOLEAN BootIndicator;
|
sca8er |
2:5853bf44af9f
|
1084
|
BOOLEAN RecognizedPartition;
|
sca8er |
2:5853bf44af9f
|
1085
|
ULONG HiddenSectors;
|
sca8er |
2:5853bf44af9f
|
1086
|
} PARTITION_INFORMATION_MBR, *PPARTITION_INFORMATION_MBR;
|
sca8er |
2:5853bf44af9f
|
1087
|
|
sca8er |
2:5853bf44af9f
|
1088
|
|
sca8er |
2:5853bf44af9f
|
1089
|
typedef struct _BOOTDISK_INFORMATION {
|
sca8er |
2:5853bf44af9f
|
1090
|
LONGLONG BootPartitionOffset;
|
sca8er |
2:5853bf44af9f
|
1091
|
LONGLONG SystemPartitionOffset;
|
sca8er |
2:5853bf44af9f
|
1092
|
ULONG BootDeviceSignature;
|
sca8er |
2:5853bf44af9f
|
1093
|
ULONG SystemDeviceSignature;
|
sca8er |
2:5853bf44af9f
|
1094
|
} BOOTDISK_INFORMATION, *PBOOTDISK_INFORMATION;
|
sca8er |
2:5853bf44af9f
|
1095
|
|
sca8er |
2:5853bf44af9f
|
1096
|
typedef struct _BOOTDISK_INFORMATION_EX {
|
sca8er |
2:5853bf44af9f
|
1097
|
LONGLONG BootPartitionOffset;
|
sca8er |
2:5853bf44af9f
|
1098
|
LONGLONG SystemPartitionOffset;
|
sca8er |
2:5853bf44af9f
|
1099
|
ULONG BootDeviceSignature;
|
sca8er |
2:5853bf44af9f
|
1100
|
ULONG SystemDeviceSignature;
|
sca8er |
2:5853bf44af9f
|
1101
|
GUID BootDeviceGuid;
|
sca8er |
2:5853bf44af9f
|
1102
|
GUID SystemDeviceGuid;
|
sca8er |
2:5853bf44af9f
|
1103
|
BOOLEAN BootDeviceIsGpt;
|
sca8er |
2:5853bf44af9f
|
1104
|
BOOLEAN SystemDeviceIsGpt;
|
sca8er |
2:5853bf44af9f
|
1105
|
} BOOTDISK_INFORMATION_EX, *PBOOTDISK_INFORMATION_EX;
|
sca8er |
2:5853bf44af9f
|
1106
|
|
sca8er |
2:5853bf44af9f
|
1107
|
typedef struct _EISA_MEMORY_TYPE {
|
sca8er |
2:5853bf44af9f
|
1108
|
UCHAR ReadWrite : 1;
|
sca8er |
2:5853bf44af9f
|
1109
|
UCHAR Cached : 1;
|
sca8er |
2:5853bf44af9f
|
1110
|
UCHAR Reserved0 : 1;
|
sca8er |
2:5853bf44af9f
|
1111
|
UCHAR Type : 2;
|
sca8er |
2:5853bf44af9f
|
1112
|
UCHAR Shared : 1;
|
sca8er |
2:5853bf44af9f
|
1113
|
UCHAR Reserved1 : 1;
|
sca8er |
2:5853bf44af9f
|
1114
|
UCHAR MoreEntries : 1;
|
sca8er |
2:5853bf44af9f
|
1115
|
} EISA_MEMORY_TYPE, *PEISA_MEMORY_TYPE;
|
sca8er |
2:5853bf44af9f
|
1116
|
|
sca8er |
2:5853bf44af9f
|
1117
|
#include <pshpack1.h>
|
sca8er |
2:5853bf44af9f
|
1118
|
typedef struct _EISA_MEMORY_CONFIGURATION {
|
sca8er |
2:5853bf44af9f
|
1119
|
EISA_MEMORY_TYPE ConfigurationByte;
|
sca8er |
2:5853bf44af9f
|
1120
|
UCHAR DataSize;
|
sca8er |
2:5853bf44af9f
|
1121
|
USHORT AddressLowWord;
|
sca8er |
2:5853bf44af9f
|
1122
|
UCHAR AddressHighByte;
|
sca8er |
2:5853bf44af9f
|
1123
|
USHORT MemorySize;
|
sca8er |
2:5853bf44af9f
|
1124
|
} EISA_MEMORY_CONFIGURATION, *PEISA_MEMORY_CONFIGURATION;
|
sca8er |
2:5853bf44af9f
|
1125
|
#include <poppack.h>
|
sca8er |
2:5853bf44af9f
|
1126
|
|
sca8er |
2:5853bf44af9f
|
1127
|
typedef struct _EISA_IRQ_DESCRIPTOR {
|
sca8er |
2:5853bf44af9f
|
1128
|
UCHAR Interrupt : 4;
|
sca8er |
2:5853bf44af9f
|
1129
|
UCHAR Reserved : 1;
|
sca8er |
2:5853bf44af9f
|
1130
|
UCHAR LevelTriggered : 1;
|
sca8er |
2:5853bf44af9f
|
1131
|
UCHAR Shared : 1;
|
sca8er |
2:5853bf44af9f
|
1132
|
UCHAR MoreEntries : 1;
|
sca8er |
2:5853bf44af9f
|
1133
|
} EISA_IRQ_DESCRIPTOR, *PEISA_IRQ_DESCRIPTOR;
|
sca8er |
2:5853bf44af9f
|
1134
|
|
sca8er |
2:5853bf44af9f
|
1135
|
typedef struct _EISA_IRQ_CONFIGURATION {
|
sca8er |
2:5853bf44af9f
|
1136
|
EISA_IRQ_DESCRIPTOR ConfigurationByte;
|
sca8er |
2:5853bf44af9f
|
1137
|
UCHAR Reserved;
|
sca8er |
2:5853bf44af9f
|
1138
|
} EISA_IRQ_CONFIGURATION, *PEISA_IRQ_CONFIGURATION;
|
sca8er |
2:5853bf44af9f
|
1139
|
|
sca8er |
2:5853bf44af9f
|
1140
|
typedef struct _DMA_CONFIGURATION_BYTE0 {
|
sca8er |
2:5853bf44af9f
|
1141
|
UCHAR Channel : 3;
|
sca8er |
2:5853bf44af9f
|
1142
|
UCHAR Reserved : 3;
|
sca8er |
2:5853bf44af9f
|
1143
|
UCHAR Shared : 1;
|
sca8er |
2:5853bf44af9f
|
1144
|
UCHAR MoreEntries : 1;
|
sca8er |
2:5853bf44af9f
|
1145
|
} DMA_CONFIGURATION_BYTE0;
|
sca8er |
2:5853bf44af9f
|
1146
|
|
sca8er |
2:5853bf44af9f
|
1147
|
typedef struct _DMA_CONFIGURATION_BYTE1 {
|
sca8er |
2:5853bf44af9f
|
1148
|
UCHAR Reserved0 : 2;
|
sca8er |
2:5853bf44af9f
|
1149
|
UCHAR TransferSize : 2;
|
sca8er |
2:5853bf44af9f
|
1150
|
UCHAR Timing : 2;
|
sca8er |
2:5853bf44af9f
|
1151
|
UCHAR Reserved1 : 2;
|
sca8er |
2:5853bf44af9f
|
1152
|
} DMA_CONFIGURATION_BYTE1;
|
sca8er |
2:5853bf44af9f
|
1153
|
|
sca8er |
2:5853bf44af9f
|
1154
|
typedef struct _EISA_DMA_CONFIGURATION {
|
sca8er |
2:5853bf44af9f
|
1155
|
DMA_CONFIGURATION_BYTE0 ConfigurationByte0;
|
sca8er |
2:5853bf44af9f
|
1156
|
DMA_CONFIGURATION_BYTE1 ConfigurationByte1;
|
sca8er |
2:5853bf44af9f
|
1157
|
} EISA_DMA_CONFIGURATION, *PEISA_DMA_CONFIGURATION;
|
sca8er |
2:5853bf44af9f
|
1158
|
|
sca8er |
2:5853bf44af9f
|
1159
|
#include <pshpack1.h>
|
sca8er |
2:5853bf44af9f
|
1160
|
typedef struct _EISA_PORT_DESCRIPTOR {
|
sca8er |
2:5853bf44af9f
|
1161
|
UCHAR NumberPorts : 5;
|
sca8er |
2:5853bf44af9f
|
1162
|
UCHAR Reserved : 1;
|
sca8er |
2:5853bf44af9f
|
1163
|
UCHAR Shared : 1;
|
sca8er |
2:5853bf44af9f
|
1164
|
UCHAR MoreEntries : 1;
|
sca8er |
2:5853bf44af9f
|
1165
|
} EISA_PORT_DESCRIPTOR, *PEISA_PORT_DESCRIPTOR;
|
sca8er |
2:5853bf44af9f
|
1166
|
|
sca8er |
2:5853bf44af9f
|
1167
|
typedef struct _EISA_PORT_CONFIGURATION {
|
sca8er |
2:5853bf44af9f
|
1168
|
EISA_PORT_DESCRIPTOR Configuration;
|
sca8er |
2:5853bf44af9f
|
1169
|
USHORT PortAddress;
|
sca8er |
2:5853bf44af9f
|
1170
|
} EISA_PORT_CONFIGURATION, *PEISA_PORT_CONFIGURATION;
|
sca8er |
2:5853bf44af9f
|
1171
|
#include <poppack.h>
|
sca8er |
2:5853bf44af9f
|
1172
|
|
sca8er |
2:5853bf44af9f
|
1173
|
typedef struct _CM_EISA_FUNCTION_INFORMATION {
|
sca8er |
2:5853bf44af9f
|
1174
|
ULONG CompressedId;
|
sca8er |
2:5853bf44af9f
|
1175
|
UCHAR IdSlotFlags1;
|
sca8er |
2:5853bf44af9f
|
1176
|
UCHAR IdSlotFlags2;
|
sca8er |
2:5853bf44af9f
|
1177
|
UCHAR MinorRevision;
|
sca8er |
2:5853bf44af9f
|
1178
|
UCHAR MajorRevision;
|
sca8er |
2:5853bf44af9f
|
1179
|
UCHAR Selections[26];
|
sca8er |
2:5853bf44af9f
|
1180
|
UCHAR FunctionFlags;
|
sca8er |
2:5853bf44af9f
|
1181
|
UCHAR TypeString[80];
|
sca8er |
2:5853bf44af9f
|
1182
|
EISA_MEMORY_CONFIGURATION EisaMemory[9];
|
sca8er |
2:5853bf44af9f
|
1183
|
EISA_IRQ_CONFIGURATION EisaIrq[7];
|
sca8er |
2:5853bf44af9f
|
1184
|
EISA_DMA_CONFIGURATION EisaDma[4];
|
sca8er |
2:5853bf44af9f
|
1185
|
EISA_PORT_CONFIGURATION EisaPort[20];
|
sca8er |
2:5853bf44af9f
|
1186
|
UCHAR InitializationData[60];
|
sca8er |
2:5853bf44af9f
|
1187
|
} CM_EISA_FUNCTION_INFORMATION, *PCM_EISA_FUNCTION_INFORMATION;
|
sca8er |
2:5853bf44af9f
|
1188
|
|
sca8er |
2:5853bf44af9f
|
1189
|
/* CM_EISA_FUNCTION_INFORMATION.FunctionFlags */
|
sca8er |
2:5853bf44af9f
|
1190
|
|
sca8er |
2:5853bf44af9f
|
1191
|
#define EISA_FUNCTION_ENABLED 0x80
|
sca8er |
2:5853bf44af9f
|
1192
|
#define EISA_FREE_FORM_DATA 0x40
|
sca8er |
2:5853bf44af9f
|
1193
|
#define EISA_HAS_PORT_INIT_ENTRY 0x20
|
sca8er |
2:5853bf44af9f
|
1194
|
#define EISA_HAS_PORT_RANGE 0x10
|
sca8er |
2:5853bf44af9f
|
1195
|
#define EISA_HAS_DMA_ENTRY 0x08
|
sca8er |
2:5853bf44af9f
|
1196
|
#define EISA_HAS_IRQ_ENTRY 0x04
|
sca8er |
2:5853bf44af9f
|
1197
|
#define EISA_HAS_MEMORY_ENTRY 0x02
|
sca8er |
2:5853bf44af9f
|
1198
|
#define EISA_HAS_TYPE_ENTRY 0x01
|
sca8er |
2:5853bf44af9f
|
1199
|
#define EISA_HAS_INFORMATION \
|
sca8er |
2:5853bf44af9f
|
1200
|
(EISA_HAS_PORT_RANGE + EISA_HAS_DMA_ENTRY + EISA_HAS_IRQ_ENTRY \
|
sca8er |
2:5853bf44af9f
|
1201
|
+ EISA_HAS_MEMORY_ENTRY + EISA_HAS_TYPE_ENTRY)
|
sca8er |
2:5853bf44af9f
|
1202
|
|
sca8er |
2:5853bf44af9f
|
1203
|
typedef struct _CM_EISA_SLOT_INFORMATION {
|
sca8er |
2:5853bf44af9f
|
1204
|
UCHAR ReturnCode;
|
sca8er |
2:5853bf44af9f
|
1205
|
UCHAR ReturnFlags;
|
sca8er |
2:5853bf44af9f
|
1206
|
UCHAR MajorRevision;
|
sca8er |
2:5853bf44af9f
|
1207
|
UCHAR MinorRevision;
|
sca8er |
2:5853bf44af9f
|
1208
|
USHORT Checksum;
|
sca8er |
2:5853bf44af9f
|
1209
|
UCHAR NumberFunctions;
|
sca8er |
2:5853bf44af9f
|
1210
|
UCHAR FunctionInformation;
|
sca8er |
2:5853bf44af9f
|
1211
|
ULONG CompressedId;
|
sca8er |
2:5853bf44af9f
|
1212
|
} CM_EISA_SLOT_INFORMATION, *PCM_EISA_SLOT_INFORMATION;
|
sca8er |
2:5853bf44af9f
|
1213
|
|
sca8er |
2:5853bf44af9f
|
1214
|
/* CM_EISA_SLOT_INFORMATION.ReturnCode */
|
sca8er |
2:5853bf44af9f
|
1215
|
|
sca8er |
2:5853bf44af9f
|
1216
|
#define EISA_INVALID_SLOT 0x80
|
sca8er |
2:5853bf44af9f
|
1217
|
#define EISA_INVALID_FUNCTION 0x81
|
sca8er |
2:5853bf44af9f
|
1218
|
#define EISA_INVALID_CONFIGURATION 0x82
|
sca8er |
2:5853bf44af9f
|
1219
|
#define EISA_EMPTY_SLOT 0x83
|
sca8er |
2:5853bf44af9f
|
1220
|
#define EISA_INVALID_BIOS_CALL 0x86
|
sca8er |
2:5853bf44af9f
|
1221
|
|
sca8er |
2:5853bf44af9f
|
1222
|
typedef struct _CM_FLOPPY_DEVICE_DATA {
|
sca8er |
2:5853bf44af9f
|
1223
|
USHORT Version;
|
sca8er |
2:5853bf44af9f
|
1224
|
USHORT Revision;
|
sca8er |
2:5853bf44af9f
|
1225
|
CHAR Size[8];
|
sca8er |
2:5853bf44af9f
|
1226
|
ULONG MaxDensity;
|
sca8er |
2:5853bf44af9f
|
1227
|
ULONG MountDensity;
|
sca8er |
2:5853bf44af9f
|
1228
|
UCHAR StepRateHeadUnloadTime;
|
sca8er |
2:5853bf44af9f
|
1229
|
UCHAR HeadLoadTime;
|
sca8er |
2:5853bf44af9f
|
1230
|
UCHAR MotorOffTime;
|
sca8er |
2:5853bf44af9f
|
1231
|
UCHAR SectorLengthCode;
|
sca8er |
2:5853bf44af9f
|
1232
|
UCHAR SectorPerTrack;
|
sca8er |
2:5853bf44af9f
|
1233
|
UCHAR ReadWriteGapLength;
|
sca8er |
2:5853bf44af9f
|
1234
|
UCHAR DataTransferLength;
|
sca8er |
2:5853bf44af9f
|
1235
|
UCHAR FormatGapLength;
|
sca8er |
2:5853bf44af9f
|
1236
|
UCHAR FormatFillCharacter;
|
sca8er |
2:5853bf44af9f
|
1237
|
UCHAR HeadSettleTime;
|
sca8er |
2:5853bf44af9f
|
1238
|
UCHAR MotorSettleTime;
|
sca8er |
2:5853bf44af9f
|
1239
|
UCHAR MaximumTrackValue;
|
sca8er |
2:5853bf44af9f
|
1240
|
UCHAR DataTransferRate;
|
sca8er |
2:5853bf44af9f
|
1241
|
} CM_FLOPPY_DEVICE_DATA, *PCM_FLOPPY_DEVICE_DATA;
|
sca8er |
2:5853bf44af9f
|
1242
|
|
sca8er |
2:5853bf44af9f
|
1243
|
typedef enum _INTERFACE_TYPE {
|
sca8er |
2:5853bf44af9f
|
1244
|
InterfaceTypeUndefined = -1,
|
sca8er |
2:5853bf44af9f
|
1245
|
Internal,
|
sca8er |
2:5853bf44af9f
|
1246
|
Isa,
|
sca8er |
2:5853bf44af9f
|
1247
|
Eisa,
|
sca8er |
2:5853bf44af9f
|
1248
|
MicroChannel,
|
sca8er |
2:5853bf44af9f
|
1249
|
TurboChannel,
|
sca8er |
2:5853bf44af9f
|
1250
|
PCIBus,
|
sca8er |
2:5853bf44af9f
|
1251
|
VMEBus,
|
sca8er |
2:5853bf44af9f
|
1252
|
NuBus,
|
sca8er |
2:5853bf44af9f
|
1253
|
PCMCIABus,
|
sca8er |
2:5853bf44af9f
|
1254
|
CBus,
|
sca8er |
2:5853bf44af9f
|
1255
|
MPIBus,
|
sca8er |
2:5853bf44af9f
|
1256
|
MPSABus,
|
sca8er |
2:5853bf44af9f
|
1257
|
ProcessorInternal,
|
sca8er |
2:5853bf44af9f
|
1258
|
InternalPowerBus,
|
sca8er |
2:5853bf44af9f
|
1259
|
PNPISABus,
|
sca8er |
2:5853bf44af9f
|
1260
|
PNPBus,
|
sca8er |
2:5853bf44af9f
|
1261
|
MaximumInterfaceType
|
sca8er |
2:5853bf44af9f
|
1262
|
} INTERFACE_TYPE, *PINTERFACE_TYPE;
|
sca8er |
2:5853bf44af9f
|
1263
|
|
sca8er |
2:5853bf44af9f
|
1264
|
typedef struct _PNP_BUS_INFORMATION {
|
sca8er |
2:5853bf44af9f
|
1265
|
GUID BusTypeGuid;
|
sca8er |
2:5853bf44af9f
|
1266
|
INTERFACE_TYPE LegacyBusType;
|
sca8er |
2:5853bf44af9f
|
1267
|
ULONG BusNumber;
|
sca8er |
2:5853bf44af9f
|
1268
|
} PNP_BUS_INFORMATION, *PPNP_BUS_INFORMATION;
|
sca8er |
2:5853bf44af9f
|
1269
|
|
sca8er |
2:5853bf44af9f
|
1270
|
#include <pshpack1.h>
|
sca8er |
2:5853bf44af9f
|
1271
|
typedef struct _CM_PARTIAL_RESOURCE_DESCRIPTOR {
|
sca8er |
2:5853bf44af9f
|
1272
|
UCHAR Type;
|
sca8er |
2:5853bf44af9f
|
1273
|
UCHAR ShareDisposition;
|
sca8er |
2:5853bf44af9f
|
1274
|
USHORT Flags;
|
sca8er |
2:5853bf44af9f
|
1275
|
union {
|
sca8er |
2:5853bf44af9f
|
1276
|
struct {
|
sca8er |
2:5853bf44af9f
|
1277
|
PHYSICAL_ADDRESS Start;
|
sca8er |
2:5853bf44af9f
|
1278
|
ULONG Length;
|
sca8er |
2:5853bf44af9f
|
1279
|
} Generic;
|
sca8er |
2:5853bf44af9f
|
1280
|
struct {
|
sca8er |
2:5853bf44af9f
|
1281
|
PHYSICAL_ADDRESS Start;
|
sca8er |
2:5853bf44af9f
|
1282
|
ULONG Length;
|
sca8er |
2:5853bf44af9f
|
1283
|
} Port;
|
sca8er |
2:5853bf44af9f
|
1284
|
struct {
|
sca8er |
2:5853bf44af9f
|
1285
|
ULONG Level;
|
sca8er |
2:5853bf44af9f
|
1286
|
ULONG Vector;
|
sca8er |
2:5853bf44af9f
|
1287
|
ULONG Affinity;
|
sca8er |
2:5853bf44af9f
|
1288
|
} Interrupt;
|
sca8er |
2:5853bf44af9f
|
1289
|
struct {
|
sca8er |
2:5853bf44af9f
|
1290
|
PHYSICAL_ADDRESS Start;
|
sca8er |
2:5853bf44af9f
|
1291
|
ULONG Length;
|
sca8er |
2:5853bf44af9f
|
1292
|
} Memory;
|
sca8er |
2:5853bf44af9f
|
1293
|
struct {
|
sca8er |
2:5853bf44af9f
|
1294
|
ULONG Channel;
|
sca8er |
2:5853bf44af9f
|
1295
|
ULONG Port;
|
sca8er |
2:5853bf44af9f
|
1296
|
ULONG Reserved1;
|
sca8er |
2:5853bf44af9f
|
1297
|
} Dma;
|
sca8er |
2:5853bf44af9f
|
1298
|
struct {
|
sca8er |
2:5853bf44af9f
|
1299
|
ULONG Data[3];
|
sca8er |
2:5853bf44af9f
|
1300
|
} DevicePrivate;
|
sca8er |
2:5853bf44af9f
|
1301
|
struct {
|
sca8er |
2:5853bf44af9f
|
1302
|
ULONG Start;
|
sca8er |
2:5853bf44af9f
|
1303
|
ULONG Length;
|
sca8er |
2:5853bf44af9f
|
1304
|
ULONG Reserved;
|
sca8er |
2:5853bf44af9f
|
1305
|
} BusNumber;
|
sca8er |
2:5853bf44af9f
|
1306
|
struct {
|
sca8er |
2:5853bf44af9f
|
1307
|
ULONG DataSize;
|
sca8er |
2:5853bf44af9f
|
1308
|
ULONG Reserved1;
|
sca8er |
2:5853bf44af9f
|
1309
|
ULONG Reserved2;
|
sca8er |
2:5853bf44af9f
|
1310
|
} DeviceSpecificData;
|
sca8er |
2:5853bf44af9f
|
1311
|
} u;
|
sca8er |
2:5853bf44af9f
|
1312
|
} CM_PARTIAL_RESOURCE_DESCRIPTOR, *PCM_PARTIAL_RESOURCE_DESCRIPTOR;
|
sca8er |
2:5853bf44af9f
|
1313
|
|
sca8er |
2:5853bf44af9f
|
1314
|
/* CM_PARTIAL_RESOURCE_DESCRIPTOR.Type */
|
sca8er |
2:5853bf44af9f
|
1315
|
|
sca8er |
2:5853bf44af9f
|
1316
|
#define CmResourceTypeNull 0
|
sca8er |
2:5853bf44af9f
|
1317
|
#define CmResourceTypePort 1
|
sca8er |
2:5853bf44af9f
|
1318
|
#define CmResourceTypeInterrupt 2
|
sca8er |
2:5853bf44af9f
|
1319
|
#define CmResourceTypeMemory 3
|
sca8er |
2:5853bf44af9f
|
1320
|
#define CmResourceTypeDma 4
|
sca8er |
2:5853bf44af9f
|
1321
|
#define CmResourceTypeDeviceSpecific 5
|
sca8er |
2:5853bf44af9f
|
1322
|
#define CmResourceTypeBusNumber 6
|
sca8er |
2:5853bf44af9f
|
1323
|
#define CmResourceTypeMaximum 7
|
sca8er |
2:5853bf44af9f
|
1324
|
#define CmResourceTypeNonArbitrated 128
|
sca8er |
2:5853bf44af9f
|
1325
|
#define CmResourceTypeConfigData 128
|
sca8er |
2:5853bf44af9f
|
1326
|
#define CmResourceTypeDevicePrivate 129
|
sca8er |
2:5853bf44af9f
|
1327
|
#define CmResourceTypePcCardConfig 130
|
sca8er |
2:5853bf44af9f
|
1328
|
#define CmResourceTypeMfCardConfig 131
|
sca8er |
2:5853bf44af9f
|
1329
|
|
sca8er |
2:5853bf44af9f
|
1330
|
/* CM_PARTIAL_RESOURCE_DESCRIPTOR.ShareDisposition */
|
sca8er |
2:5853bf44af9f
|
1331
|
|
sca8er |
2:5853bf44af9f
|
1332
|
typedef enum _CM_SHARE_DISPOSITION {
|
sca8er |
2:5853bf44af9f
|
1333
|
CmResourceShareUndetermined,
|
sca8er |
2:5853bf44af9f
|
1334
|
CmResourceShareDeviceExclusive,
|
sca8er |
2:5853bf44af9f
|
1335
|
CmResourceShareDriverExclusive,
|
sca8er |
2:5853bf44af9f
|
1336
|
CmResourceShareShared
|
sca8er |
2:5853bf44af9f
|
1337
|
} CM_SHARE_DISPOSITION;
|
sca8er |
2:5853bf44af9f
|
1338
|
|
sca8er |
2:5853bf44af9f
|
1339
|
/* CM_PARTIAL_RESOURCE_DESCRIPTOR.Flags if Type = CmResourceTypePort */
|
sca8er |
2:5853bf44af9f
|
1340
|
|
sca8er |
2:5853bf44af9f
|
1341
|
#define CM_RESOURCE_PORT_MEMORY 0x0000
|
sca8er |
2:5853bf44af9f
|
1342
|
#define CM_RESOURCE_PORT_IO 0x0001
|
sca8er |
2:5853bf44af9f
|
1343
|
#define CM_RESOURCE_PORT_10_BIT_DECODE 0x0004
|
sca8er |
2:5853bf44af9f
|
1344
|
#define CM_RESOURCE_PORT_12_BIT_DECODE 0x0008
|
sca8er |
2:5853bf44af9f
|
1345
|
#define CM_RESOURCE_PORT_16_BIT_DECODE 0x0010
|
sca8er |
2:5853bf44af9f
|
1346
|
#define CM_RESOURCE_PORT_POSITIVE_DECODE 0x0020
|
sca8er |
2:5853bf44af9f
|
1347
|
#define CM_RESOURCE_PORT_PASSIVE_DECODE 0x0040
|
sca8er |
2:5853bf44af9f
|
1348
|
#define CM_RESOURCE_PORT_WINDOW_DECODE 0x0080
|
sca8er |
2:5853bf44af9f
|
1349
|
|
sca8er |
2:5853bf44af9f
|
1350
|
/* CM_PARTIAL_RESOURCE_DESCRIPTOR.Flags if Type = CmResourceTypeInterrupt */
|
sca8er |
2:5853bf44af9f
|
1351
|
|
sca8er |
2:5853bf44af9f
|
1352
|
#define CM_RESOURCE_INTERRUPT_LEVEL_SENSITIVE 0x0000
|
sca8er |
2:5853bf44af9f
|
1353
|
#define CM_RESOURCE_INTERRUPT_LATCHED 0x0001
|
sca8er |
2:5853bf44af9f
|
1354
|
|
sca8er |
2:5853bf44af9f
|
1355
|
/* CM_PARTIAL_RESOURCE_DESCRIPTOR.Flags if Type = CmResourceTypeMemory */
|
sca8er |
2:5853bf44af9f
|
1356
|
|
sca8er |
2:5853bf44af9f
|
1357
|
#define CM_RESOURCE_MEMORY_READ_WRITE 0x0000
|
sca8er |
2:5853bf44af9f
|
1358
|
#define CM_RESOURCE_MEMORY_READ_ONLY 0x0001
|
sca8er |
2:5853bf44af9f
|
1359
|
#define CM_RESOURCE_MEMORY_WRITE_ONLY 0x0002
|
sca8er |
2:5853bf44af9f
|
1360
|
#define CM_RESOURCE_MEMORY_PREFETCHABLE 0x0004
|
sca8er |
2:5853bf44af9f
|
1361
|
#define CM_RESOURCE_MEMORY_COMBINEDWRITE 0x0008
|
sca8er |
2:5853bf44af9f
|
1362
|
#define CM_RESOURCE_MEMORY_24 0x0010
|
sca8er |
2:5853bf44af9f
|
1363
|
#define CM_RESOURCE_MEMORY_CACHEABLE 0x0020
|
sca8er |
2:5853bf44af9f
|
1364
|
|
sca8er |
2:5853bf44af9f
|
1365
|
/* CM_PARTIAL_RESOURCE_DESCRIPTOR.Flags if Type = CmResourceTypeDma */
|
sca8er |
2:5853bf44af9f
|
1366
|
|
sca8er |
2:5853bf44af9f
|
1367
|
#define CM_RESOURCE_DMA_8 0x0000
|
sca8er |
2:5853bf44af9f
|
1368
|
#define CM_RESOURCE_DMA_16 0x0001
|
sca8er |
2:5853bf44af9f
|
1369
|
#define CM_RESOURCE_DMA_32 0x0002
|
sca8er |
2:5853bf44af9f
|
1370
|
#define CM_RESOURCE_DMA_8_AND_16 0x0004
|
sca8er |
2:5853bf44af9f
|
1371
|
#define CM_RESOURCE_DMA_BUS_MASTER 0x0008
|
sca8er |
2:5853bf44af9f
|
1372
|
#define CM_RESOURCE_DMA_TYPE_A 0x0010
|
sca8er |
2:5853bf44af9f
|
1373
|
#define CM_RESOURCE_DMA_TYPE_B 0x0020
|
sca8er |
2:5853bf44af9f
|
1374
|
#define CM_RESOURCE_DMA_TYPE_F 0x0040
|
sca8er |
2:5853bf44af9f
|
1375
|
|
sca8er |
2:5853bf44af9f
|
1376
|
typedef struct _CM_PARTIAL_RESOURCE_LIST {
|
sca8er |
2:5853bf44af9f
|
1377
|
USHORT Version;
|
sca8er |
2:5853bf44af9f
|
1378
|
USHORT Revision;
|
sca8er |
2:5853bf44af9f
|
1379
|
ULONG Count;
|
sca8er |
2:5853bf44af9f
|
1380
|
CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1];
|
sca8er |
2:5853bf44af9f
|
1381
|
} CM_PARTIAL_RESOURCE_LIST, *PCM_PARTIAL_RESOURCE_LIST;
|
sca8er |
2:5853bf44af9f
|
1382
|
|
sca8er |
2:5853bf44af9f
|
1383
|
typedef struct _CM_FULL_RESOURCE_DESCRIPTOR {
|
sca8er |
2:5853bf44af9f
|
1384
|
INTERFACE_TYPE InterfaceType;
|
sca8er |
2:5853bf44af9f
|
1385
|
ULONG BusNumber;
|
sca8er |
2:5853bf44af9f
|
1386
|
CM_PARTIAL_RESOURCE_LIST PartialResourceList;
|
sca8er |
2:5853bf44af9f
|
1387
|
} CM_FULL_RESOURCE_DESCRIPTOR, *PCM_FULL_RESOURCE_DESCRIPTOR;
|
sca8er |
2:5853bf44af9f
|
1388
|
|
sca8er |
2:5853bf44af9f
|
1389
|
typedef struct _CM_RESOURCE_LIST {
|
sca8er |
2:5853bf44af9f
|
1390
|
ULONG Count;
|
sca8er |
2:5853bf44af9f
|
1391
|
CM_FULL_RESOURCE_DESCRIPTOR List[1];
|
sca8er |
2:5853bf44af9f
|
1392
|
} CM_RESOURCE_LIST, *PCM_RESOURCE_LIST;
|
sca8er |
2:5853bf44af9f
|
1393
|
|
sca8er |
2:5853bf44af9f
|
1394
|
typedef struct _CM_INT13_DRIVE_PARAMETER {
|
sca8er |
2:5853bf44af9f
|
1395
|
USHORT DriveSelect;
|
sca8er |
2:5853bf44af9f
|
1396
|
ULONG MaxCylinders;
|
sca8er |
2:5853bf44af9f
|
1397
|
USHORT SectorsPerTrack;
|
sca8er |
2:5853bf44af9f
|
1398
|
USHORT MaxHeads;
|
sca8er |
2:5853bf44af9f
|
1399
|
USHORT NumberDrives;
|
sca8er |
2:5853bf44af9f
|
1400
|
} CM_INT13_DRIVE_PARAMETER, *PCM_INT13_DRIVE_PARAMETER;
|
sca8er |
2:5853bf44af9f
|
1401
|
#include <poppack.h>
|
sca8er |
2:5853bf44af9f
|
1402
|
|
sca8er |
2:5853bf44af9f
|
1403
|
typedef struct _CM_KEYBOARD_DEVICE_DATA {
|
sca8er |
2:5853bf44af9f
|
1404
|
USHORT Version;
|
sca8er |
2:5853bf44af9f
|
1405
|
USHORT Revision;
|
sca8er |
2:5853bf44af9f
|
1406
|
UCHAR Type;
|
sca8er |
2:5853bf44af9f
|
1407
|
UCHAR Subtype;
|
sca8er |
2:5853bf44af9f
|
1408
|
USHORT KeyboardFlags;
|
sca8er |
2:5853bf44af9f
|
1409
|
} CM_KEYBOARD_DEVICE_DATA, *PCM_KEYBOARD_DEVICE_DATA;
|
sca8er |
2:5853bf44af9f
|
1410
|
|
sca8er |
2:5853bf44af9f
|
1411
|
#define KEYBOARD_INSERT_ON 0x80
|
sca8er |
2:5853bf44af9f
|
1412
|
#define KEYBOARD_CAPS_LOCK_ON 0x40
|
sca8er |
2:5853bf44af9f
|
1413
|
#define KEYBOARD_NUM_LOCK_ON 0x20
|
sca8er |
2:5853bf44af9f
|
1414
|
#define KEYBOARD_SCROLL_LOCK_ON 0x10
|
sca8er |
2:5853bf44af9f
|
1415
|
#define KEYBOARD_ALT_KEY_DOWN 0x08
|
sca8er |
2:5853bf44af9f
|
1416
|
#define KEYBOARD_CTRL_KEY_DOWN 0x04
|
sca8er |
2:5853bf44af9f
|
1417
|
#define KEYBOARD_LEFT_SHIFT_DOWN 0x02
|
sca8er |
2:5853bf44af9f
|
1418
|
#define KEYBOARD_RIGHT_SHIFT_DOWN 0x01
|
sca8er |
2:5853bf44af9f
|
1419
|
|
sca8er |
2:5853bf44af9f
|
1420
|
typedef struct _CM_MCA_POS_DATA {
|
sca8er |
2:5853bf44af9f
|
1421
|
USHORT AdapterId;
|
sca8er |
2:5853bf44af9f
|
1422
|
UCHAR PosData1;
|
sca8er |
2:5853bf44af9f
|
1423
|
UCHAR PosData2;
|
sca8er |
2:5853bf44af9f
|
1424
|
UCHAR PosData3;
|
sca8er |
2:5853bf44af9f
|
1425
|
UCHAR PosData4;
|
sca8er |
2:5853bf44af9f
|
1426
|
} CM_MCA_POS_DATA, *PCM_MCA_POS_DATA;
|
sca8er |
2:5853bf44af9f
|
1427
|
|
sca8er |
2:5853bf44af9f
|
1428
|
typedef struct CM_Power_Data_s {
|
sca8er |
2:5853bf44af9f
|
1429
|
ULONG PD_Size;
|
sca8er |
2:5853bf44af9f
|
1430
|
DEVICE_POWER_STATE PD_MostRecentPowerState;
|
sca8er |
2:5853bf44af9f
|
1431
|
ULONG PD_Capabilities;
|
sca8er |
2:5853bf44af9f
|
1432
|
ULONG PD_D1Latency;
|
sca8er |
2:5853bf44af9f
|
1433
|
ULONG PD_D2Latency;
|
sca8er |
2:5853bf44af9f
|
1434
|
ULONG PD_D3Latency;
|
sca8er |
2:5853bf44af9f
|
1435
|
DEVICE_POWER_STATE PD_PowerStateMapping[PowerSystemMaximum];
|
sca8er |
2:5853bf44af9f
|
1436
|
} CM_POWER_DATA, *PCM_POWER_DATA;
|
sca8er |
2:5853bf44af9f
|
1437
|
|
sca8er |
2:5853bf44af9f
|
1438
|
#define PDCAP_D0_SUPPORTED 0x00000001
|
sca8er |
2:5853bf44af9f
|
1439
|
#define PDCAP_D1_SUPPORTED 0x00000002
|
sca8er |
2:5853bf44af9f
|
1440
|
#define PDCAP_D2_SUPPORTED 0x00000004
|
sca8er |
2:5853bf44af9f
|
1441
|
#define PDCAP_D3_SUPPORTED 0x00000008
|
sca8er |
2:5853bf44af9f
|
1442
|
#define PDCAP_WAKE_FROM_D0_SUPPORTED 0x00000010
|
sca8er |
2:5853bf44af9f
|
1443
|
#define PDCAP_WAKE_FROM_D1_SUPPORTED 0x00000020
|
sca8er |
2:5853bf44af9f
|
1444
|
#define PDCAP_WAKE_FROM_D2_SUPPORTED 0x00000040
|
sca8er |
2:5853bf44af9f
|
1445
|
#define PDCAP_WAKE_FROM_D3_SUPPORTED 0x00000080
|
sca8er |
2:5853bf44af9f
|
1446
|
#define PDCAP_WARM_EJECT_SUPPORTED 0x00000100
|
sca8er |
2:5853bf44af9f
|
1447
|
|
sca8er |
2:5853bf44af9f
|
1448
|
typedef struct _CM_SCSI_DEVICE_DATA {
|
sca8er |
2:5853bf44af9f
|
1449
|
USHORT Version;
|
sca8er |
2:5853bf44af9f
|
1450
|
USHORT Revision;
|
sca8er |
2:5853bf44af9f
|
1451
|
UCHAR HostIdentifier;
|
sca8er |
2:5853bf44af9f
|
1452
|
} CM_SCSI_DEVICE_DATA, *PCM_SCSI_DEVICE_DATA;
|
sca8er |
2:5853bf44af9f
|
1453
|
|
sca8er |
2:5853bf44af9f
|
1454
|
typedef struct _CM_SERIAL_DEVICE_DATA {
|
sca8er |
2:5853bf44af9f
|
1455
|
USHORT Version;
|
sca8er |
2:5853bf44af9f
|
1456
|
USHORT Revision;
|
sca8er |
2:5853bf44af9f
|
1457
|
ULONG BaudClock;
|
sca8er |
2:5853bf44af9f
|
1458
|
} CM_SERIAL_DEVICE_DATA, *PCM_SERIAL_DEVICE_DATA;
|
sca8er |
2:5853bf44af9f
|
1459
|
|
sca8er |
2:5853bf44af9f
|
1460
|
/* IO_RESOURCE_DESCRIPTOR.Option */
|
sca8er |
2:5853bf44af9f
|
1461
|
|
sca8er |
2:5853bf44af9f
|
1462
|
#define IO_RESOURCE_PREFERRED 0x01
|
sca8er |
2:5853bf44af9f
|
1463
|
#define IO_RESOURCE_DEFAULT 0x02
|
sca8er |
2:5853bf44af9f
|
1464
|
#define IO_RESOURCE_ALTERNATIVE 0x08
|
sca8er |
2:5853bf44af9f
|
1465
|
|
sca8er |
2:5853bf44af9f
|
1466
|
typedef struct _IO_RESOURCE_DESCRIPTOR {
|
sca8er |
2:5853bf44af9f
|
1467
|
UCHAR Option;
|
sca8er |
2:5853bf44af9f
|
1468
|
UCHAR Type;
|
sca8er |
2:5853bf44af9f
|
1469
|
UCHAR ShareDisposition;
|
sca8er |
2:5853bf44af9f
|
1470
|
UCHAR Spare1;
|
sca8er |
2:5853bf44af9f
|
1471
|
USHORT Flags;
|
sca8er |
2:5853bf44af9f
|
1472
|
USHORT Spare2;
|
sca8er |
2:5853bf44af9f
|
1473
|
union {
|
sca8er |
2:5853bf44af9f
|
1474
|
struct {
|
sca8er |
2:5853bf44af9f
|
1475
|
ULONG Length;
|
sca8er |
2:5853bf44af9f
|
1476
|
ULONG Alignment;
|
sca8er |
2:5853bf44af9f
|
1477
|
PHYSICAL_ADDRESS MinimumAddress;
|
sca8er |
2:5853bf44af9f
|
1478
|
PHYSICAL_ADDRESS MaximumAddress;
|
sca8er |
2:5853bf44af9f
|
1479
|
} Port;
|
sca8er |
2:5853bf44af9f
|
1480
|
struct {
|
sca8er |
2:5853bf44af9f
|
1481
|
ULONG Length;
|
sca8er |
2:5853bf44af9f
|
1482
|
ULONG Alignment;
|
sca8er |
2:5853bf44af9f
|
1483
|
PHYSICAL_ADDRESS MinimumAddress;
|
sca8er |
2:5853bf44af9f
|
1484
|
PHYSICAL_ADDRESS MaximumAddress;
|
sca8er |
2:5853bf44af9f
|
1485
|
} Memory;
|
sca8er |
2:5853bf44af9f
|
1486
|
struct {
|
sca8er |
2:5853bf44af9f
|
1487
|
ULONG MinimumVector;
|
sca8er |
2:5853bf44af9f
|
1488
|
ULONG MaximumVector;
|
sca8er |
2:5853bf44af9f
|
1489
|
} Interrupt;
|
sca8er |
2:5853bf44af9f
|
1490
|
struct {
|
sca8er |
2:5853bf44af9f
|
1491
|
ULONG MinimumChannel;
|
sca8er |
2:5853bf44af9f
|
1492
|
ULONG MaximumChannel;
|
sca8er |
2:5853bf44af9f
|
1493
|
} Dma;
|
sca8er |
2:5853bf44af9f
|
1494
|
struct {
|
sca8er |
2:5853bf44af9f
|
1495
|
ULONG Length;
|
sca8er |
2:5853bf44af9f
|
1496
|
ULONG Alignment;
|
sca8er |
2:5853bf44af9f
|
1497
|
PHYSICAL_ADDRESS MinimumAddress;
|
sca8er |
2:5853bf44af9f
|
1498
|
PHYSICAL_ADDRESS MaximumAddress;
|
sca8er |
2:5853bf44af9f
|
1499
|
} Generic;
|
sca8er |
2:5853bf44af9f
|
1500
|
struct {
|
sca8er |
2:5853bf44af9f
|
1501
|
ULONG Data[3];
|
sca8er |
2:5853bf44af9f
|
1502
|
} DevicePrivate;
|
sca8er |
2:5853bf44af9f
|
1503
|
struct {
|
sca8er |
2:5853bf44af9f
|
1504
|
ULONG Length;
|
sca8er |
2:5853bf44af9f
|
1505
|
ULONG MinBusNumber;
|
sca8er |
2:5853bf44af9f
|
1506
|
ULONG MaxBusNumber;
|
sca8er |
2:5853bf44af9f
|
1507
|
ULONG Reserved;
|
sca8er |
2:5853bf44af9f
|
1508
|
} BusNumber;
|
sca8er |
2:5853bf44af9f
|
1509
|
struct {
|
sca8er |
2:5853bf44af9f
|
1510
|
ULONG Priority;
|
sca8er |
2:5853bf44af9f
|
1511
|
ULONG Reserved1;
|
sca8er |
2:5853bf44af9f
|
1512
|
ULONG Reserved2;
|
sca8er |
2:5853bf44af9f
|
1513
|
} ConfigData;
|
sca8er |
2:5853bf44af9f
|
1514
|
} u;
|
sca8er |
2:5853bf44af9f
|
1515
|
} IO_RESOURCE_DESCRIPTOR, *PIO_RESOURCE_DESCRIPTOR;
|
sca8er |
2:5853bf44af9f
|
1516
|
|
sca8er |
2:5853bf44af9f
|
1517
|
typedef struct _IO_RESOURCE_LIST {
|
sca8er |
2:5853bf44af9f
|
1518
|
USHORT Version;
|
sca8er |
2:5853bf44af9f
|
1519
|
USHORT Revision;
|
sca8er |
2:5853bf44af9f
|
1520
|
ULONG Count;
|
sca8er |
2:5853bf44af9f
|
1521
|
IO_RESOURCE_DESCRIPTOR Descriptors[1];
|
sca8er |
2:5853bf44af9f
|
1522
|
} IO_RESOURCE_LIST, *PIO_RESOURCE_LIST;
|
sca8er |
2:5853bf44af9f
|
1523
|
|
sca8er |
2:5853bf44af9f
|
1524
|
typedef struct _IO_RESOURCE_REQUIREMENTS_LIST {
|
sca8er |
2:5853bf44af9f
|
1525
|
ULONG ListSize;
|
sca8er |
2:5853bf44af9f
|
1526
|
INTERFACE_TYPE InterfaceType;
|
sca8er |
2:5853bf44af9f
|
1527
|
ULONG BusNumber;
|
sca8er |
2:5853bf44af9f
|
1528
|
ULONG SlotNumber;
|
sca8er |
2:5853bf44af9f
|
1529
|
ULONG Reserved[3];
|
sca8er |
2:5853bf44af9f
|
1530
|
ULONG AlternativeLists;
|
sca8er |
2:5853bf44af9f
|
1531
|
IO_RESOURCE_LIST List[1];
|
sca8er |
2:5853bf44af9f
|
1532
|
} IO_RESOURCE_REQUIREMENTS_LIST, *PIO_RESOURCE_REQUIREMENTS_LIST;
|
sca8er |
2:5853bf44af9f
|
1533
|
|
sca8er |
2:5853bf44af9f
|
1534
|
typedef struct _CONTROLLER_OBJECT {
|
sca8er |
2:5853bf44af9f
|
1535
|
CSHORT Type;
|
sca8er |
2:5853bf44af9f
|
1536
|
CSHORT Size;
|
sca8er |
2:5853bf44af9f
|
1537
|
PVOID ControllerExtension;
|
sca8er |
2:5853bf44af9f
|
1538
|
KDEVICE_QUEUE DeviceWaitQueue;
|
sca8er |
2:5853bf44af9f
|
1539
|
ULONG Spare1;
|
sca8er |
2:5853bf44af9f
|
1540
|
LARGE_INTEGER Spare2;
|
sca8er |
2:5853bf44af9f
|
1541
|
} CONTROLLER_OBJECT, *PCONTROLLER_OBJECT;
|
sca8er |
2:5853bf44af9f
|
1542
|
|
sca8er |
2:5853bf44af9f
|
1543
|
typedef enum _DMA_WIDTH {
|
sca8er |
2:5853bf44af9f
|
1544
|
Width8Bits,
|
sca8er |
2:5853bf44af9f
|
1545
|
Width16Bits,
|
sca8er |
2:5853bf44af9f
|
1546
|
Width32Bits,
|
sca8er |
2:5853bf44af9f
|
1547
|
MaximumDmaWidth
|
sca8er |
2:5853bf44af9f
|
1548
|
} DMA_WIDTH, *PDMA_WIDTH;
|
sca8er |
2:5853bf44af9f
|
1549
|
|
sca8er |
2:5853bf44af9f
|
1550
|
typedef enum _DMA_SPEED {
|
sca8er |
2:5853bf44af9f
|
1551
|
Compatible,
|
sca8er |
2:5853bf44af9f
|
1552
|
TypeA,
|
sca8er |
2:5853bf44af9f
|
1553
|
TypeB,
|
sca8er |
2:5853bf44af9f
|
1554
|
TypeC,
|
sca8er |
2:5853bf44af9f
|
1555
|
TypeF,
|
sca8er |
2:5853bf44af9f
|
1556
|
MaximumDmaSpeed
|
sca8er |
2:5853bf44af9f
|
1557
|
} DMA_SPEED, *PDMA_SPEED;
|
sca8er |
2:5853bf44af9f
|
1558
|
|
sca8er |
2:5853bf44af9f
|
1559
|
/* DEVICE_DESCRIPTION.Version */
|
sca8er |
2:5853bf44af9f
|
1560
|
|
sca8er |
2:5853bf44af9f
|
1561
|
#define DEVICE_DESCRIPTION_VERSION 0x0000
|
sca8er |
2:5853bf44af9f
|
1562
|
#define DEVICE_DESCRIPTION_VERSION1 0x0001
|
sca8er |
2:5853bf44af9f
|
1563
|
#define DEVICE_DESCRIPTION_VERSION2 0x0002
|
sca8er |
2:5853bf44af9f
|
1564
|
|
sca8er |
2:5853bf44af9f
|
1565
|
typedef struct _DEVICE_DESCRIPTION {
|
sca8er |
2:5853bf44af9f
|
1566
|
ULONG Version;
|
sca8er |
2:5853bf44af9f
|
1567
|
BOOLEAN Master;
|
sca8er |
2:5853bf44af9f
|
1568
|
BOOLEAN ScatterGather;
|
sca8er |
2:5853bf44af9f
|
1569
|
BOOLEAN DemandMode;
|
sca8er |
2:5853bf44af9f
|
1570
|
BOOLEAN AutoInitialize;
|
sca8er |
2:5853bf44af9f
|
1571
|
BOOLEAN Dma32BitAddresses;
|
sca8er |
2:5853bf44af9f
|
1572
|
BOOLEAN IgnoreCount;
|
sca8er |
2:5853bf44af9f
|
1573
|
BOOLEAN Reserved1;
|
sca8er |
2:5853bf44af9f
|
1574
|
BOOLEAN Dma64BitAddresses;
|
sca8er |
2:5853bf44af9f
|
1575
|
ULONG BusNumber;
|
sca8er |
2:5853bf44af9f
|
1576
|
ULONG DmaChannel;
|
sca8er |
2:5853bf44af9f
|
1577
|
INTERFACE_TYPE InterfaceType;
|
sca8er |
2:5853bf44af9f
|
1578
|
DMA_WIDTH DmaWidth;
|
sca8er |
2:5853bf44af9f
|
1579
|
DMA_SPEED DmaSpeed;
|
sca8er |
2:5853bf44af9f
|
1580
|
ULONG MaximumLength;
|
sca8er |
2:5853bf44af9f
|
1581
|
ULONG DmaPort;
|
sca8er |
2:5853bf44af9f
|
1582
|
} DEVICE_DESCRIPTION, *PDEVICE_DESCRIPTION;
|
sca8er |
2:5853bf44af9f
|
1583
|
|
sca8er |
2:5853bf44af9f
|
1584
|
/* VPB.Flags */
|
sca8er |
2:5853bf44af9f
|
1585
|
#define VPB_MOUNTED 0x0001
|
sca8er |
2:5853bf44af9f
|
1586
|
#define VPB_LOCKED 0x0002
|
sca8er |
2:5853bf44af9f
|
1587
|
#define VPB_PERSISTENT 0x0004
|
sca8er |
2:5853bf44af9f
|
1588
|
#define VPB_REMOVE_PENDING 0x0008
|
sca8er |
2:5853bf44af9f
|
1589
|
#define VPB_RAW_MOUNT 0x0010
|
sca8er |
2:5853bf44af9f
|
1590
|
|
sca8er |
2:5853bf44af9f
|
1591
|
#define MAXIMUM_VOLUME_LABEL_LENGTH (32 * sizeof(WCHAR))
|
sca8er |
2:5853bf44af9f
|
1592
|
|
sca8er |
2:5853bf44af9f
|
1593
|
typedef struct _VPB {
|
sca8er |
2:5853bf44af9f
|
1594
|
CSHORT Type;
|
sca8er |
2:5853bf44af9f
|
1595
|
CSHORT Size;
|
sca8er |
2:5853bf44af9f
|
1596
|
USHORT Flags;
|
sca8er |
2:5853bf44af9f
|
1597
|
USHORT VolumeLabelLength;
|
sca8er |
2:5853bf44af9f
|
1598
|
struct _DEVICE_OBJECT *DeviceObject;
|
sca8er |
2:5853bf44af9f
|
1599
|
struct _DEVICE_OBJECT *RealDevice;
|
sca8er |
2:5853bf44af9f
|
1600
|
ULONG SerialNumber;
|
sca8er |
2:5853bf44af9f
|
1601
|
ULONG ReferenceCount;
|
sca8er |
2:5853bf44af9f
|
1602
|
WCHAR VolumeLabel[MAXIMUM_VOLUME_LABEL_LENGTH / sizeof(WCHAR)];
|
sca8er |
2:5853bf44af9f
|
1603
|
} VPB, *PVPB;
|
sca8er |
2:5853bf44af9f
|
1604
|
|
sca8er |
2:5853bf44af9f
|
1605
|
/* DEVICE_OBJECT.Flags */
|
sca8er |
2:5853bf44af9f
|
1606
|
|
sca8er |
2:5853bf44af9f
|
1607
|
#define DO_VERIFY_VOLUME 0x00000002
|
sca8er |
2:5853bf44af9f
|
1608
|
#define DO_BUFFERED_IO 0x00000004
|
sca8er |
2:5853bf44af9f
|
1609
|
#define DO_EXCLUSIVE 0x00000008
|
sca8er |
2:5853bf44af9f
|
1610
|
#define DO_DIRECT_IO 0x00000010
|
sca8er |
2:5853bf44af9f
|
1611
|
#define DO_MAP_IO_BUFFER 0x00000020
|
sca8er |
2:5853bf44af9f
|
1612
|
#define DO_DEVICE_HAS_NAME 0x00000040
|
sca8er |
2:5853bf44af9f
|
1613
|
#define DO_DEVICE_INITIALIZING 0x00000080
|
sca8er |
2:5853bf44af9f
|
1614
|
#define DO_SYSTEM_BOOT_PARTITION 0x00000100
|
sca8er |
2:5853bf44af9f
|
1615
|
#define DO_LONG_TERM_REQUESTS 0x00000200
|
sca8er |
2:5853bf44af9f
|
1616
|
#define DO_NEVER_LAST_DEVICE 0x00000400
|
sca8er |
2:5853bf44af9f
|
1617
|
#define DO_SHUTDOWN_REGISTERED 0x00000800
|
sca8er |
2:5853bf44af9f
|
1618
|
#define DO_BUS_ENUMERATED_DEVICE 0x00001000
|
sca8er |
2:5853bf44af9f
|
1619
|
#define DO_POWER_PAGABLE 0x00002000
|
sca8er |
2:5853bf44af9f
|
1620
|
#define DO_POWER_INRUSH 0x00004000
|
sca8er |
2:5853bf44af9f
|
1621
|
#define DO_LOW_PRIORITY_FILESYSTEM 0x00010000
|
sca8er |
2:5853bf44af9f
|
1622
|
|
sca8er |
2:5853bf44af9f
|
1623
|
/* DEVICE_OBJECT.Characteristics */
|
sca8er |
2:5853bf44af9f
|
1624
|
|
sca8er |
2:5853bf44af9f
|
1625
|
#define FILE_REMOVABLE_MEDIA 0x00000001
|
sca8er |
2:5853bf44af9f
|
1626
|
#define FILE_READ_ONLY_DEVICE 0x00000002
|
sca8er |
2:5853bf44af9f
|
1627
|
#define FILE_FLOPPY_DISKETTE 0x00000004
|
sca8er |
2:5853bf44af9f
|
1628
|
#define FILE_WRITE_ONCE_MEDIA 0x00000008
|
sca8er |
2:5853bf44af9f
|
1629
|
#define FILE_REMOTE_DEVICE 0x00000010
|
sca8er |
2:5853bf44af9f
|
1630
|
#define FILE_DEVICE_IS_MOUNTED 0x00000020
|
sca8er |
2:5853bf44af9f
|
1631
|
#define FILE_VIRTUAL_VOLUME 0x00000040
|
sca8er |
2:5853bf44af9f
|
1632
|
#define FILE_AUTOGENERATED_DEVICE_NAME 0x00000080
|
sca8er |
2:5853bf44af9f
|
1633
|
#define FILE_DEVICE_SECURE_OPEN 0x00000100
|
sca8er |
2:5853bf44af9f
|
1634
|
|
sca8er |
2:5853bf44af9f
|
1635
|
/* DEVICE_OBJECT.AlignmentRequirement */
|
sca8er |
2:5853bf44af9f
|
1636
|
|
sca8er |
2:5853bf44af9f
|
1637
|
#define FILE_BYTE_ALIGNMENT 0x00000000
|
sca8er |
2:5853bf44af9f
|
1638
|
#define FILE_WORD_ALIGNMENT 0x00000001
|
sca8er |
2:5853bf44af9f
|
1639
|
#define FILE_LONG_ALIGNMENT 0x00000003
|
sca8er |
2:5853bf44af9f
|
1640
|
#define FILE_QUAD_ALIGNMENT 0x00000007
|
sca8er |
2:5853bf44af9f
|
1641
|
#define FILE_OCTA_ALIGNMENT 0x0000000f
|
sca8er |
2:5853bf44af9f
|
1642
|
#define FILE_32_BYTE_ALIGNMENT 0x0000001f
|
sca8er |
2:5853bf44af9f
|
1643
|
#define FILE_64_BYTE_ALIGNMENT 0x0000003f
|
sca8er |
2:5853bf44af9f
|
1644
|
#define FILE_128_BYTE_ALIGNMENT 0x0000007f
|
sca8er |
2:5853bf44af9f
|
1645
|
#define FILE_256_BYTE_ALIGNMENT 0x000000ff
|
sca8er |
2:5853bf44af9f
|
1646
|
#define FILE_512_BYTE_ALIGNMENT 0x000001ff
|
sca8er |
2:5853bf44af9f
|
1647
|
|
sca8er |
2:5853bf44af9f
|
1648
|
/* DEVICE_OBJECT.DeviceType */
|
sca8er |
2:5853bf44af9f
|
1649
|
|
sca8er |
2:5853bf44af9f
|
1650
|
#define DEVICE_TYPE ULONG
|
sca8er |
2:5853bf44af9f
|
1651
|
|
sca8er |
2:5853bf44af9f
|
1652
|
#define FILE_DEVICE_BEEP 0x00000001
|
sca8er |
2:5853bf44af9f
|
1653
|
#define FILE_DEVICE_CD_ROM 0x00000002
|
sca8er |
2:5853bf44af9f
|
1654
|
#define FILE_DEVICE_CD_ROM_FILE_SYSTEM 0x00000003
|
sca8er |
2:5853bf44af9f
|
1655
|
#define FILE_DEVICE_CONTROLLER 0x00000004
|
sca8er |
2:5853bf44af9f
|
1656
|
#define FILE_DEVICE_DATALINK 0x00000005
|
sca8er |
2:5853bf44af9f
|
1657
|
#define FILE_DEVICE_DFS 0x00000006
|
sca8er |
2:5853bf44af9f
|
1658
|
#define FILE_DEVICE_DISK 0x00000007
|
sca8er |
2:5853bf44af9f
|
1659
|
#define FILE_DEVICE_DISK_FILE_SYSTEM 0x00000008
|
sca8er |
2:5853bf44af9f
|
1660
|
#define FILE_DEVICE_FILE_SYSTEM 0x00000009
|
sca8er |
2:5853bf44af9f
|
1661
|
#define FILE_DEVICE_INPORT_PORT 0x0000000a
|
sca8er |
2:5853bf44af9f
|
1662
|
#define FILE_DEVICE_KEYBOARD 0x0000000b
|
sca8er |
2:5853bf44af9f
|
1663
|
#define FILE_DEVICE_MAILSLOT 0x0000000c
|
sca8er |
2:5853bf44af9f
|
1664
|
#define FILE_DEVICE_MIDI_IN 0x0000000d
|
sca8er |
2:5853bf44af9f
|
1665
|
#define FILE_DEVICE_MIDI_OUT 0x0000000e
|
sca8er |
2:5853bf44af9f
|
1666
|
#define FILE_DEVICE_MOUSE 0x0000000f
|
sca8er |
2:5853bf44af9f
|
1667
|
#define FILE_DEVICE_MULTI_UNC_PROVIDER 0x00000010
|
sca8er |
2:5853bf44af9f
|
1668
|
#define FILE_DEVICE_NAMED_PIPE 0x00000011
|
sca8er |
2:5853bf44af9f
|
1669
|
#define FILE_DEVICE_NETWORK 0x00000012
|
sca8er |
2:5853bf44af9f
|
1670
|
#define FILE_DEVICE_NETWORK_BROWSER 0x00000013
|
sca8er |
2:5853bf44af9f
|
1671
|
#define FILE_DEVICE_NETWORK_FILE_SYSTEM 0x00000014
|
sca8er |
2:5853bf44af9f
|
1672
|
#define FILE_DEVICE_NULL 0x00000015
|
sca8er |
2:5853bf44af9f
|
1673
|
#define FILE_DEVICE_PARALLEL_PORT 0x00000016
|
sca8er |
2:5853bf44af9f
|
1674
|
#define FILE_DEVICE_PHYSICAL_NETCARD 0x00000017
|
sca8er |
2:5853bf44af9f
|
1675
|
#define FILE_DEVICE_PRINTER 0x00000018
|
sca8er |
2:5853bf44af9f
|
1676
|
#define FILE_DEVICE_SCANNER 0x00000019
|
sca8er |
2:5853bf44af9f
|
1677
|
#define FILE_DEVICE_SERIAL_MOUSE_PORT 0x0000001a
|
sca8er |
2:5853bf44af9f
|
1678
|
#define FILE_DEVICE_SERIAL_PORT 0x0000001b
|
sca8er |
2:5853bf44af9f
|
1679
|
#define FILE_DEVICE_SCREEN 0x0000001c
|
sca8er |
2:5853bf44af9f
|
1680
|
#define FILE_DEVICE_SOUND 0x0000001d
|
sca8er |
2:5853bf44af9f
|
1681
|
#define FILE_DEVICE_STREAMS 0x0000001e
|
sca8er |
2:5853bf44af9f
|
1682
|
#define FILE_DEVICE_TAPE 0x0000001f
|
sca8er |
2:5853bf44af9f
|
1683
|
#define FILE_DEVICE_TAPE_FILE_SYSTEM 0x00000020
|
sca8er |
2:5853bf44af9f
|
1684
|
#define FILE_DEVICE_TRANSPORT 0x00000021
|
sca8er |
2:5853bf44af9f
|
1685
|
#define FILE_DEVICE_UNKNOWN 0x00000022
|
sca8er |
2:5853bf44af9f
|
1686
|
#define FILE_DEVICE_VIDEO 0x00000023
|
sca8er |
2:5853bf44af9f
|
1687
|
#define FILE_DEVICE_VIRTUAL_DISK 0x00000024
|
sca8er |
2:5853bf44af9f
|
1688
|
#define FILE_DEVICE_WAVE_IN 0x00000025
|
sca8er |
2:5853bf44af9f
|
1689
|
#define FILE_DEVICE_WAVE_OUT 0x00000026
|
sca8er |
2:5853bf44af9f
|
1690
|
#define FILE_DEVICE_8042_PORT 0x00000027
|
sca8er |
2:5853bf44af9f
|
1691
|
#define FILE_DEVICE_NETWORK_REDIRECTOR 0x00000028
|
sca8er |
2:5853bf44af9f
|
1692
|
#define FILE_DEVICE_BATTERY 0x00000029
|
sca8er |
2:5853bf44af9f
|
1693
|
#define FILE_DEVICE_BUS_EXTENDER 0x0000002a
|
sca8er |
2:5853bf44af9f
|
1694
|
#define FILE_DEVICE_MODEM 0x0000002b
|
sca8er |
2:5853bf44af9f
|
1695
|
#define FILE_DEVICE_VDM 0x0000002c
|
sca8er |
2:5853bf44af9f
|
1696
|
#define FILE_DEVICE_MASS_STORAGE 0x0000002d
|
sca8er |
2:5853bf44af9f
|
1697
|
#define FILE_DEVICE_SMB 0x0000002e
|
sca8er |
2:5853bf44af9f
|
1698
|
#define FILE_DEVICE_KS 0x0000002f
|
sca8er |
2:5853bf44af9f
|
1699
|
#define FILE_DEVICE_CHANGER 0x00000030
|
sca8er |
2:5853bf44af9f
|
1700
|
#define FILE_DEVICE_SMARTCARD 0x00000031
|
sca8er |
2:5853bf44af9f
|
1701
|
#define FILE_DEVICE_ACPI 0x00000032
|
sca8er |
2:5853bf44af9f
|
1702
|
#define FILE_DEVICE_DVD 0x00000033
|
sca8er |
2:5853bf44af9f
|
1703
|
#define FILE_DEVICE_FULLSCREEN_VIDEO 0x00000034
|
sca8er |
2:5853bf44af9f
|
1704
|
#define FILE_DEVICE_DFS_FILE_SYSTEM 0x00000035
|
sca8er |
2:5853bf44af9f
|
1705
|
#define FILE_DEVICE_DFS_VOLUME 0x00000036
|
sca8er |
2:5853bf44af9f
|
1706
|
#define FILE_DEVICE_SERENUM 0x00000037
|
sca8er |
2:5853bf44af9f
|
1707
|
#define FILE_DEVICE_TERMSRV 0x00000038
|
sca8er |
2:5853bf44af9f
|
1708
|
#define FILE_DEVICE_KSEC 0x00000039
|
sca8er |
2:5853bf44af9f
|
1709
|
#define FILE_DEVICE_FIPS 0x0000003a
|
sca8er |
2:5853bf44af9f
|
1710
|
|
sca8er |
2:5853bf44af9f
|
1711
|
typedef struct _DEVICE_OBJECT {
|
sca8er |
2:5853bf44af9f
|
1712
|
CSHORT Type;
|
sca8er |
2:5853bf44af9f
|
1713
|
USHORT Size;
|
sca8er |
2:5853bf44af9f
|
1714
|
LONG ReferenceCount;
|
sca8er |
2:5853bf44af9f
|
1715
|
struct _DRIVER_OBJECT *DriverObject;
|
sca8er |
2:5853bf44af9f
|
1716
|
struct _DEVICE_OBJECT *NextDevice;
|
sca8er |
2:5853bf44af9f
|
1717
|
struct _DEVICE_OBJECT *AttachedDevice;
|
sca8er |
2:5853bf44af9f
|
1718
|
struct _IRP *CurrentIrp;
|
sca8er |
2:5853bf44af9f
|
1719
|
PIO_TIMER Timer;
|
sca8er |
2:5853bf44af9f
|
1720
|
ULONG Flags;
|
sca8er |
2:5853bf44af9f
|
1721
|
ULONG Characteristics;
|
sca8er |
2:5853bf44af9f
|
1722
|
PVPB Vpb;
|
sca8er |
2:5853bf44af9f
|
1723
|
PVOID DeviceExtension;
|
sca8er |
2:5853bf44af9f
|
1724
|
DEVICE_TYPE DeviceType;
|
sca8er |
2:5853bf44af9f
|
1725
|
CCHAR StackSize;
|
sca8er |
2:5853bf44af9f
|
1726
|
union {
|
sca8er |
2:5853bf44af9f
|
1727
|
LIST_ENTRY ListEntry;
|
sca8er |
2:5853bf44af9f
|
1728
|
WAIT_CONTEXT_BLOCK Wcb;
|
sca8er |
2:5853bf44af9f
|
1729
|
} Queue;
|
sca8er |
2:5853bf44af9f
|
1730
|
ULONG AlignmentRequirement;
|
sca8er |
2:5853bf44af9f
|
1731
|
KDEVICE_QUEUE DeviceQueue;
|
sca8er |
2:5853bf44af9f
|
1732
|
KDPC Dpc;
|
sca8er |
2:5853bf44af9f
|
1733
|
ULONG ActiveThreadCount;
|
sca8er |
2:5853bf44af9f
|
1734
|
PSECURITY_DESCRIPTOR SecurityDescriptor;
|
sca8er |
2:5853bf44af9f
|
1735
|
KEVENT DeviceLock;
|
sca8er |
2:5853bf44af9f
|
1736
|
USHORT SectorSize;
|
sca8er |
2:5853bf44af9f
|
1737
|
USHORT Spare1;
|
sca8er |
2:5853bf44af9f
|
1738
|
struct _DEVOBJ_EXTENSION *DeviceObjectExtension;
|
sca8er |
2:5853bf44af9f
|
1739
|
PVOID Reserved;
|
sca8er |
2:5853bf44af9f
|
1740
|
} DEVICE_OBJECT;
|
sca8er |
2:5853bf44af9f
|
1741
|
typedef struct _DEVICE_OBJECT *PDEVICE_OBJECT;
|
sca8er |
2:5853bf44af9f
|
1742
|
|
sca8er |
2:5853bf44af9f
|
1743
|
typedef enum _DEVICE_RELATION_TYPE {
|
sca8er |
2:5853bf44af9f
|
1744
|
BusRelations,
|
sca8er |
2:5853bf44af9f
|
1745
|
EjectionRelations,
|
sca8er |
2:5853bf44af9f
|
1746
|
PowerRelations,
|
sca8er |
2:5853bf44af9f
|
1747
|
RemovalRelations,
|
sca8er |
2:5853bf44af9f
|
1748
|
TargetDeviceRelation,
|
sca8er |
2:5853bf44af9f
|
1749
|
SingleBusRelations
|
sca8er |
2:5853bf44af9f
|
1750
|
} DEVICE_RELATION_TYPE, *PDEVICE_RELATION_TYPE;
|
sca8er |
2:5853bf44af9f
|
1751
|
|
sca8er |
2:5853bf44af9f
|
1752
|
typedef struct _DEVICE_RELATIONS {
|
sca8er |
2:5853bf44af9f
|
1753
|
ULONG Count;
|
sca8er |
2:5853bf44af9f
|
1754
|
PDEVICE_OBJECT Objects[1];
|
sca8er |
2:5853bf44af9f
|
1755
|
} DEVICE_RELATIONS, *PDEVICE_RELATIONS;
|
sca8er |
2:5853bf44af9f
|
1756
|
|
sca8er |
2:5853bf44af9f
|
1757
|
typedef struct _SCATTER_GATHER_ELEMENT {
|
sca8er |
2:5853bf44af9f
|
1758
|
PHYSICAL_ADDRESS Address;
|
sca8er |
2:5853bf44af9f
|
1759
|
ULONG Length;
|
sca8er |
2:5853bf44af9f
|
1760
|
ULONG_PTR Reserved;
|
sca8er |
2:5853bf44af9f
|
1761
|
} SCATTER_GATHER_ELEMENT, *PSCATTER_GATHER_ELEMENT;
|
sca8er |
2:5853bf44af9f
|
1762
|
|
sca8er |
2:5853bf44af9f
|
1763
|
typedef struct _SCATTER_GATHER_LIST {
|
sca8er |
2:5853bf44af9f
|
1764
|
ULONG NumberOfElements;
|
sca8er |
2:5853bf44af9f
|
1765
|
ULONG_PTR Reserved;
|
sca8er |
2:5853bf44af9f
|
1766
|
SCATTER_GATHER_ELEMENT Elements[0];
|
sca8er |
2:5853bf44af9f
|
1767
|
} SCATTER_GATHER_LIST, *PSCATTER_GATHER_LIST;
|
sca8er |
2:5853bf44af9f
|
1768
|
|
sca8er |
2:5853bf44af9f
|
1769
|
typedef struct _MDL {
|
sca8er |
2:5853bf44af9f
|
1770
|
struct _MDL *Next;
|
sca8er |
2:5853bf44af9f
|
1771
|
CSHORT Size;
|
sca8er |
2:5853bf44af9f
|
1772
|
CSHORT MdlFlags;
|
sca8er |
2:5853bf44af9f
|
1773
|
struct _EPROCESS *Process;
|
sca8er |
2:5853bf44af9f
|
1774
|
PVOID MappedSystemVa;
|
sca8er |
2:5853bf44af9f
|
1775
|
PVOID StartVa;
|
sca8er |
2:5853bf44af9f
|
1776
|
ULONG ByteCount;
|
sca8er |
2:5853bf44af9f
|
1777
|
ULONG ByteOffset;
|
sca8er |
2:5853bf44af9f
|
1778
|
} MDL, *PMDL;
|
sca8er |
2:5853bf44af9f
|
1779
|
|
sca8er |
2:5853bf44af9f
|
1780
|
#define MDL_MAPPED_TO_SYSTEM_VA 0x0001
|
sca8er |
2:5853bf44af9f
|
1781
|
#define MDL_PAGES_LOCKED 0x0002
|
sca8er |
2:5853bf44af9f
|
1782
|
#define MDL_SOURCE_IS_NONPAGED_POOL 0x0004
|
sca8er |
2:5853bf44af9f
|
1783
|
#define MDL_ALLOCATED_FIXED_SIZE 0x0008
|
sca8er |
2:5853bf44af9f
|
1784
|
#define MDL_PARTIAL 0x0010
|
sca8er |
2:5853bf44af9f
|
1785
|
#define MDL_PARTIAL_HAS_BEEN_MAPPED 0x0020
|
sca8er |
2:5853bf44af9f
|
1786
|
#define MDL_IO_PAGE_READ 0x0040
|
sca8er |
2:5853bf44af9f
|
1787
|
#define MDL_WRITE_OPERATION 0x0080
|
sca8er |
2:5853bf44af9f
|
1788
|
#define MDL_PARENT_MAPPED_SYSTEM_VA 0x0100
|
sca8er |
2:5853bf44af9f
|
1789
|
#define MDL_FREE_EXTRA_PTES 0x0200
|
sca8er |
2:5853bf44af9f
|
1790
|
#define MDL_IO_SPACE 0x0800
|
sca8er |
2:5853bf44af9f
|
1791
|
#define MDL_NETWORK_HEADER 0x1000
|
sca8er |
2:5853bf44af9f
|
1792
|
#define MDL_MAPPING_CAN_FAIL 0x2000
|
sca8er |
2:5853bf44af9f
|
1793
|
#define MDL_ALLOCATED_MUST_SUCCEED 0x4000
|
sca8er |
2:5853bf44af9f
|
1794
|
|
sca8er |
2:5853bf44af9f
|
1795
|
#define MDL_MAPPING_FLAGS ( \
|
sca8er |
2:5853bf44af9f
|
1796
|
MDL_MAPPED_TO_SYSTEM_VA | \
|
sca8er |
2:5853bf44af9f
|
1797
|
MDL_PAGES_LOCKED | \
|
sca8er |
2:5853bf44af9f
|
1798
|
MDL_SOURCE_IS_NONPAGED_POOL | \
|
sca8er |
2:5853bf44af9f
|
1799
|
MDL_PARTIAL_HAS_BEEN_MAPPED | \
|
sca8er |
2:5853bf44af9f
|
1800
|
MDL_PARENT_MAPPED_SYSTEM_VA | \
|
sca8er |
2:5853bf44af9f
|
1801
|
MDL_SYSTEM_VA | \
|
sca8er |
2:5853bf44af9f
|
1802
|
MDL_IO_SPACE)
|
sca8er |
2:5853bf44af9f
|
1803
|
|
sca8er |
2:5853bf44af9f
|
1804
|
typedef VOID DDKAPI
|
sca8er |
2:5853bf44af9f
|
1805
|
(*PPUT_DMA_ADAPTER)(
|
sca8er |
2:5853bf44af9f
|
1806
|
/*IN*/ PDMA_ADAPTER DmaAdapter);
|
sca8er |
2:5853bf44af9f
|
1807
|
|
sca8er |
2:5853bf44af9f
|
1808
|
typedef PVOID DDKAPI
|
sca8er |
2:5853bf44af9f
|
1809
|
(*PALLOCATE_COMMON_BUFFER)(
|
sca8er |
2:5853bf44af9f
|
1810
|
/*IN*/ PDMA_ADAPTER DmaAdapter,
|
sca8er |
2:5853bf44af9f
|
1811
|
/*IN*/ ULONG Length,
|
sca8er |
2:5853bf44af9f
|
1812
|
/*OUT*/ PPHYSICAL_ADDRESS LogicalAddress,
|
sca8er |
2:5853bf44af9f
|
1813
|
/*IN*/ BOOLEAN CacheEnabled);
|
sca8er |
2:5853bf44af9f
|
1814
|
|
sca8er |
2:5853bf44af9f
|
1815
|
typedef VOID DDKAPI
|
sca8er |
2:5853bf44af9f
|
1816
|
(*PFREE_COMMON_BUFFER)(
|
sca8er |
2:5853bf44af9f
|
1817
|
/*IN*/ PDMA_ADAPTER DmaAdapter,
|
sca8er |
2:5853bf44af9f
|
1818
|
/*IN*/ ULONG Length,
|
sca8er |
2:5853bf44af9f
|
1819
|
/*IN*/ PHYSICAL_ADDRESS LogicalAddress,
|
sca8er |
2:5853bf44af9f
|
1820
|
/*IN*/ PVOID VirtualAddress,
|
sca8er |
2:5853bf44af9f
|
1821
|
/*IN*/ BOOLEAN CacheEnabled);
|
sca8er |
2:5853bf44af9f
|
1822
|
|
sca8er |
2:5853bf44af9f
|
1823
|
typedef NTSTATUS DDKAPI
|
sca8er |
2:5853bf44af9f
|
1824
|
(*PALLOCATE_ADAPTER_CHANNEL)(
|
sca8er |
2:5853bf44af9f
|
1825
|
/*IN*/ PDMA_ADAPTER DmaAdapter,
|
sca8er |
2:5853bf44af9f
|
1826
|
/*IN*/ PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
1827
|
/*IN*/ ULONG NumberOfMapRegisters,
|
sca8er |
2:5853bf44af9f
|
1828
|
/*IN*/ PDRIVER_CONTROL ExecutionRoutine,
|
sca8er |
2:5853bf44af9f
|
1829
|
/*IN*/ PVOID Context);
|
sca8er |
2:5853bf44af9f
|
1830
|
|
sca8er |
2:5853bf44af9f
|
1831
|
typedef BOOLEAN DDKAPI
|
sca8er |
2:5853bf44af9f
|
1832
|
(*PFLUSH_ADAPTER_BUFFERS)(
|
sca8er |
2:5853bf44af9f
|
1833
|
/*IN*/ PDMA_ADAPTER DmaAdapter,
|
sca8er |
2:5853bf44af9f
|
1834
|
/*IN*/ PMDL Mdl,
|
sca8er |
2:5853bf44af9f
|
1835
|
/*IN*/ PVOID MapRegisterBase,
|
sca8er |
2:5853bf44af9f
|
1836
|
/*IN*/ PVOID CurrentVa,
|
sca8er |
2:5853bf44af9f
|
1837
|
/*IN*/ ULONG Length,
|
sca8er |
2:5853bf44af9f
|
1838
|
/*IN*/ BOOLEAN WriteToDevice);
|
sca8er |
2:5853bf44af9f
|
1839
|
|
sca8er |
2:5853bf44af9f
|
1840
|
typedef VOID DDKAPI
|
sca8er |
2:5853bf44af9f
|
1841
|
(*PFREE_ADAPTER_CHANNEL)(
|
sca8er |
2:5853bf44af9f
|
1842
|
/*IN*/ PDMA_ADAPTER DmaAdapter);
|
sca8er |
2:5853bf44af9f
|
1843
|
|
sca8er |
2:5853bf44af9f
|
1844
|
typedef VOID DDKAPI
|
sca8er |
2:5853bf44af9f
|
1845
|
(*PFREE_MAP_REGISTERS)(
|
sca8er |
2:5853bf44af9f
|
1846
|
/*IN*/ PDMA_ADAPTER DmaAdapter,
|
sca8er |
2:5853bf44af9f
|
1847
|
PVOID MapRegisterBase,
|
sca8er |
2:5853bf44af9f
|
1848
|
ULONG NumberOfMapRegisters);
|
sca8er |
2:5853bf44af9f
|
1849
|
|
sca8er |
2:5853bf44af9f
|
1850
|
typedef PHYSICAL_ADDRESS DDKAPI
|
sca8er |
2:5853bf44af9f
|
1851
|
(*PMAP_TRANSFER)(
|
sca8er |
2:5853bf44af9f
|
1852
|
/*IN*/ PDMA_ADAPTER DmaAdapter,
|
sca8er |
2:5853bf44af9f
|
1853
|
/*IN*/ PMDL Mdl,
|
sca8er |
2:5853bf44af9f
|
1854
|
/*IN*/ PVOID MapRegisterBase,
|
sca8er |
2:5853bf44af9f
|
1855
|
/*IN*/ PVOID CurrentVa,
|
sca8er |
2:5853bf44af9f
|
1856
|
/*IN OUT*/ PULONG Length,
|
sca8er |
2:5853bf44af9f
|
1857
|
/*IN*/ BOOLEAN WriteToDevice);
|
sca8er |
2:5853bf44af9f
|
1858
|
|
sca8er |
2:5853bf44af9f
|
1859
|
typedef ULONG DDKAPI
|
sca8er |
2:5853bf44af9f
|
1860
|
(*PGET_DMA_ALIGNMENT)(
|
sca8er |
2:5853bf44af9f
|
1861
|
/*IN*/ PDMA_ADAPTER DmaAdapter);
|
sca8er |
2:5853bf44af9f
|
1862
|
|
sca8er |
2:5853bf44af9f
|
1863
|
typedef ULONG DDKAPI
|
sca8er |
2:5853bf44af9f
|
1864
|
(*PREAD_DMA_COUNTER)(
|
sca8er |
2:5853bf44af9f
|
1865
|
/*IN*/ PDMA_ADAPTER DmaAdapter);
|
sca8er |
2:5853bf44af9f
|
1866
|
|
sca8er |
2:5853bf44af9f
|
1867
|
typedef NTSTATUS DDKAPI
|
sca8er |
2:5853bf44af9f
|
1868
|
(*PGET_SCATTER_GATHER_LIST)(
|
sca8er |
2:5853bf44af9f
|
1869
|
/*IN*/ PDMA_ADAPTER DmaAdapter,
|
sca8er |
2:5853bf44af9f
|
1870
|
/*IN*/ PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
1871
|
/*IN*/ PMDL Mdl,
|
sca8er |
2:5853bf44af9f
|
1872
|
/*IN*/ PVOID CurrentVa,
|
sca8er |
2:5853bf44af9f
|
1873
|
/*IN*/ ULONG Length,
|
sca8er |
2:5853bf44af9f
|
1874
|
/*IN*/ PDRIVER_LIST_CONTROL ExecutionRoutine,
|
sca8er |
2:5853bf44af9f
|
1875
|
/*IN*/ PVOID Context,
|
sca8er |
2:5853bf44af9f
|
1876
|
/*IN*/ BOOLEAN WriteToDevice);
|
sca8er |
2:5853bf44af9f
|
1877
|
|
sca8er |
2:5853bf44af9f
|
1878
|
typedef VOID DDKAPI
|
sca8er |
2:5853bf44af9f
|
1879
|
(*PPUT_SCATTER_GATHER_LIST)(
|
sca8er |
2:5853bf44af9f
|
1880
|
/*IN*/ PDMA_ADAPTER DmaAdapter,
|
sca8er |
2:5853bf44af9f
|
1881
|
/*IN*/ PSCATTER_GATHER_LIST ScatterGather,
|
sca8er |
2:5853bf44af9f
|
1882
|
/*IN*/ BOOLEAN WriteToDevice);
|
sca8er |
2:5853bf44af9f
|
1883
|
|
sca8er |
2:5853bf44af9f
|
1884
|
typedef NTSTATUS DDKAPI
|
sca8er |
2:5853bf44af9f
|
1885
|
(*PCALCULATE_SCATTER_GATHER_LIST_SIZE)(
|
sca8er |
2:5853bf44af9f
|
1886
|
/*IN*/ PDMA_ADAPTER DmaAdapter,
|
sca8er |
2:5853bf44af9f
|
1887
|
/*IN*/ PMDL Mdl /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
1888
|
/*IN*/ PVOID CurrentVa,
|
sca8er |
2:5853bf44af9f
|
1889
|
/*IN*/ ULONG Length,
|
sca8er |
2:5853bf44af9f
|
1890
|
/*OUT*/ PULONG ScatterGatherListSize,
|
sca8er |
2:5853bf44af9f
|
1891
|
/*OUT*/ PULONG pNumberOfMapRegisters /*OPTIONAL*/);
|
sca8er |
2:5853bf44af9f
|
1892
|
|
sca8er |
2:5853bf44af9f
|
1893
|
typedef NTSTATUS DDKAPI
|
sca8er |
2:5853bf44af9f
|
1894
|
(*PBUILD_SCATTER_GATHER_LIST)(
|
sca8er |
2:5853bf44af9f
|
1895
|
/*IN*/ PDMA_ADAPTER DmaAdapter,
|
sca8er |
2:5853bf44af9f
|
1896
|
/*IN*/ PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
1897
|
/*IN*/ PMDL Mdl,
|
sca8er |
2:5853bf44af9f
|
1898
|
/*IN*/ PVOID CurrentVa,
|
sca8er |
2:5853bf44af9f
|
1899
|
/*IN*/ ULONG Length,
|
sca8er |
2:5853bf44af9f
|
1900
|
/*IN*/ PDRIVER_LIST_CONTROL ExecutionRoutine,
|
sca8er |
2:5853bf44af9f
|
1901
|
/*IN*/ PVOID Context,
|
sca8er |
2:5853bf44af9f
|
1902
|
/*IN*/ BOOLEAN WriteToDevice,
|
sca8er |
2:5853bf44af9f
|
1903
|
/*IN*/ PVOID ScatterGatherBuffer,
|
sca8er |
2:5853bf44af9f
|
1904
|
/*IN*/ ULONG ScatterGatherLength);
|
sca8er |
2:5853bf44af9f
|
1905
|
|
sca8er |
2:5853bf44af9f
|
1906
|
typedef NTSTATUS DDKAPI
|
sca8er |
2:5853bf44af9f
|
1907
|
(*PBUILD_MDL_FROM_SCATTER_GATHER_LIST)(
|
sca8er |
2:5853bf44af9f
|
1908
|
/*IN*/ PDMA_ADAPTER DmaAdapter,
|
sca8er |
2:5853bf44af9f
|
1909
|
/*IN*/ PSCATTER_GATHER_LIST ScatterGather,
|
sca8er |
2:5853bf44af9f
|
1910
|
/*IN*/ PMDL OriginalMdl,
|
sca8er |
2:5853bf44af9f
|
1911
|
/*OUT*/ PMDL *TargetMdl);
|
sca8er |
2:5853bf44af9f
|
1912
|
|
sca8er |
2:5853bf44af9f
|
1913
|
typedef struct _DMA_OPERATIONS {
|
sca8er |
2:5853bf44af9f
|
1914
|
ULONG Size;
|
sca8er |
2:5853bf44af9f
|
1915
|
PPUT_DMA_ADAPTER PutDmaAdapter;
|
sca8er |
2:5853bf44af9f
|
1916
|
PALLOCATE_COMMON_BUFFER AllocateCommonBuffer;
|
sca8er |
2:5853bf44af9f
|
1917
|
PFREE_COMMON_BUFFER FreeCommonBuffer;
|
sca8er |
2:5853bf44af9f
|
1918
|
PALLOCATE_ADAPTER_CHANNEL AllocateAdapterChannel;
|
sca8er |
2:5853bf44af9f
|
1919
|
PFLUSH_ADAPTER_BUFFERS FlushAdapterBuffers;
|
sca8er |
2:5853bf44af9f
|
1920
|
PFREE_ADAPTER_CHANNEL FreeAdapterChannel;
|
sca8er |
2:5853bf44af9f
|
1921
|
PFREE_MAP_REGISTERS FreeMapRegisters;
|
sca8er |
2:5853bf44af9f
|
1922
|
PMAP_TRANSFER MapTransfer;
|
sca8er |
2:5853bf44af9f
|
1923
|
PGET_DMA_ALIGNMENT GetDmaAlignment;
|
sca8er |
2:5853bf44af9f
|
1924
|
PREAD_DMA_COUNTER ReadDmaCounter;
|
sca8er |
2:5853bf44af9f
|
1925
|
PGET_SCATTER_GATHER_LIST GetScatterGatherList;
|
sca8er |
2:5853bf44af9f
|
1926
|
PPUT_SCATTER_GATHER_LIST PutScatterGatherList;
|
sca8er |
2:5853bf44af9f
|
1927
|
PCALCULATE_SCATTER_GATHER_LIST_SIZE CalculateScatterGatherList;
|
sca8er |
2:5853bf44af9f
|
1928
|
PBUILD_SCATTER_GATHER_LIST BuildScatterGatherList;
|
sca8er |
2:5853bf44af9f
|
1929
|
PBUILD_MDL_FROM_SCATTER_GATHER_LIST BuildMdlFromScatterGatherList;
|
sca8er |
2:5853bf44af9f
|
1930
|
} DMA_OPERATIONS, *PDMA_OPERATIONS;
|
sca8er |
2:5853bf44af9f
|
1931
|
|
sca8er |
2:5853bf44af9f
|
1932
|
typedef struct _DMA_ADAPTER {
|
sca8er |
2:5853bf44af9f
|
1933
|
USHORT Version;
|
sca8er |
2:5853bf44af9f
|
1934
|
USHORT Size;
|
sca8er |
2:5853bf44af9f
|
1935
|
PDMA_OPERATIONS DmaOperations;
|
sca8er |
2:5853bf44af9f
|
1936
|
} DMA_ADAPTER;
|
sca8er |
2:5853bf44af9f
|
1937
|
|
sca8er |
2:5853bf44af9f
|
1938
|
typedef enum _FILE_INFORMATION_CLASS {
|
sca8er |
2:5853bf44af9f
|
1939
|
FileDirectoryInformation = 1,
|
sca8er |
2:5853bf44af9f
|
1940
|
FileFullDirectoryInformation,
|
sca8er |
2:5853bf44af9f
|
1941
|
FileBothDirectoryInformation,
|
sca8er |
2:5853bf44af9f
|
1942
|
FileBasicInformation,
|
sca8er |
2:5853bf44af9f
|
1943
|
FileStandardInformation,
|
sca8er |
2:5853bf44af9f
|
1944
|
FileInternalInformation,
|
sca8er |
2:5853bf44af9f
|
1945
|
FileEaInformation,
|
sca8er |
2:5853bf44af9f
|
1946
|
FileAccessInformation,
|
sca8er |
2:5853bf44af9f
|
1947
|
FileNameInformation,
|
sca8er |
2:5853bf44af9f
|
1948
|
FileRenameInformation,
|
sca8er |
2:5853bf44af9f
|
1949
|
FileLinkInformation,
|
sca8er |
2:5853bf44af9f
|
1950
|
FileNamesInformation,
|
sca8er |
2:5853bf44af9f
|
1951
|
FileDispositionInformation,
|
sca8er |
2:5853bf44af9f
|
1952
|
FilePositionInformation,
|
sca8er |
2:5853bf44af9f
|
1953
|
FileFullEaInformation,
|
sca8er |
2:5853bf44af9f
|
1954
|
FileModeInformation,
|
sca8er |
2:5853bf44af9f
|
1955
|
FileAlignmentInformation,
|
sca8er |
2:5853bf44af9f
|
1956
|
FileAllInformation,
|
sca8er |
2:5853bf44af9f
|
1957
|
FileAllocationInformation,
|
sca8er |
2:5853bf44af9f
|
1958
|
FileEndOfFileInformation,
|
sca8er |
2:5853bf44af9f
|
1959
|
FileAlternateNameInformation,
|
sca8er |
2:5853bf44af9f
|
1960
|
FileStreamInformation,
|
sca8er |
2:5853bf44af9f
|
1961
|
FilePipeInformation,
|
sca8er |
2:5853bf44af9f
|
1962
|
FilePipeLocalInformation,
|
sca8er |
2:5853bf44af9f
|
1963
|
FilePipeRemoteInformation,
|
sca8er |
2:5853bf44af9f
|
1964
|
FileMailslotQueryInformation,
|
sca8er |
2:5853bf44af9f
|
1965
|
FileMailslotSetInformation,
|
sca8er |
2:5853bf44af9f
|
1966
|
FileCompressionInformation,
|
sca8er |
2:5853bf44af9f
|
1967
|
FileObjectIdInformation,
|
sca8er |
2:5853bf44af9f
|
1968
|
FileCompletionInformation,
|
sca8er |
2:5853bf44af9f
|
1969
|
FileMoveClusterInformation,
|
sca8er |
2:5853bf44af9f
|
1970
|
FileQuotaInformation,
|
sca8er |
2:5853bf44af9f
|
1971
|
FileReparsePointInformation,
|
sca8er |
2:5853bf44af9f
|
1972
|
FileNetworkOpenInformation,
|
sca8er |
2:5853bf44af9f
|
1973
|
FileAttributeTagInformation,
|
sca8er |
2:5853bf44af9f
|
1974
|
FileTrackingInformation,
|
sca8er |
2:5853bf44af9f
|
1975
|
FileIdBothDirectoryInformation,
|
sca8er |
2:5853bf44af9f
|
1976
|
FileIdFullDirectoryInformation,
|
sca8er |
2:5853bf44af9f
|
1977
|
FileValidDataLengthInformation,
|
sca8er |
2:5853bf44af9f
|
1978
|
FileShortNameInformation,
|
sca8er |
2:5853bf44af9f
|
1979
|
FileMaximumInformation
|
sca8er |
2:5853bf44af9f
|
1980
|
} FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS;
|
sca8er |
2:5853bf44af9f
|
1981
|
|
sca8er |
2:5853bf44af9f
|
1982
|
typedef struct _FILE_POSITION_INFORMATION {
|
sca8er |
2:5853bf44af9f
|
1983
|
LARGE_INTEGER CurrentByteOffset;
|
sca8er |
2:5853bf44af9f
|
1984
|
} FILE_POSITION_INFORMATION, *PFILE_POSITION_INFORMATION;
|
sca8er |
2:5853bf44af9f
|
1985
|
|
sca8er |
2:5853bf44af9f
|
1986
|
typedef struct _FILE_ALIGNMENT_INFORMATION {
|
sca8er |
2:5853bf44af9f
|
1987
|
ULONG AlignmentRequirement;
|
sca8er |
2:5853bf44af9f
|
1988
|
} FILE_ALIGNMENT_INFORMATION;
|
sca8er |
2:5853bf44af9f
|
1989
|
|
sca8er |
2:5853bf44af9f
|
1990
|
typedef struct _FILE_NAME_INFORMATION {
|
sca8er |
2:5853bf44af9f
|
1991
|
ULONG FileNameLength;
|
sca8er |
2:5853bf44af9f
|
1992
|
WCHAR FileName[1];
|
sca8er |
2:5853bf44af9f
|
1993
|
} FILE_NAME_INFORMATION, *PFILE_NAME_INFORMATION;
|
sca8er |
2:5853bf44af9f
|
1994
|
|
sca8er |
2:5853bf44af9f
|
1995
|
typedef struct _FILE_BASIC_INFORMATION {
|
sca8er |
2:5853bf44af9f
|
1996
|
LARGE_INTEGER CreationTime;
|
sca8er |
2:5853bf44af9f
|
1997
|
LARGE_INTEGER LastAccessTime;
|
sca8er |
2:5853bf44af9f
|
1998
|
LARGE_INTEGER LastWriteTime;
|
sca8er |
2:5853bf44af9f
|
1999
|
LARGE_INTEGER ChangeTime;
|
sca8er |
2:5853bf44af9f
|
2000
|
ULONG FileAttributes;
|
sca8er |
2:5853bf44af9f
|
2001
|
} FILE_BASIC_INFORMATION, *PFILE_BASIC_INFORMATION;
|
sca8er |
2:5853bf44af9f
|
2002
|
|
sca8er |
2:5853bf44af9f
|
2003
|
typedef struct _FILE_STANDARD_INFORMATION {
|
sca8er |
2:5853bf44af9f
|
2004
|
LARGE_INTEGER AllocationSize;
|
sca8er |
2:5853bf44af9f
|
2005
|
LARGE_INTEGER EndOfFile;
|
sca8er |
2:5853bf44af9f
|
2006
|
ULONG NumberOfLinks;
|
sca8er |
2:5853bf44af9f
|
2007
|
BOOLEAN DeletePending;
|
sca8er |
2:5853bf44af9f
|
2008
|
BOOLEAN Directory;
|
sca8er |
2:5853bf44af9f
|
2009
|
} FILE_STANDARD_INFORMATION, *PFILE_STANDARD_INFORMATION;
|
sca8er |
2:5853bf44af9f
|
2010
|
|
sca8er |
2:5853bf44af9f
|
2011
|
typedef struct _FILE_NETWORK_OPEN_INFORMATION {
|
sca8er |
2:5853bf44af9f
|
2012
|
LARGE_INTEGER CreationTime;
|
sca8er |
2:5853bf44af9f
|
2013
|
LARGE_INTEGER LastAccessTime;
|
sca8er |
2:5853bf44af9f
|
2014
|
LARGE_INTEGER LastWriteTime;
|
sca8er |
2:5853bf44af9f
|
2015
|
LARGE_INTEGER ChangeTime;
|
sca8er |
2:5853bf44af9f
|
2016
|
LARGE_INTEGER AllocationSize;
|
sca8er |
2:5853bf44af9f
|
2017
|
LARGE_INTEGER EndOfFile;
|
sca8er |
2:5853bf44af9f
|
2018
|
ULONG FileAttributes;
|
sca8er |
2:5853bf44af9f
|
2019
|
} FILE_NETWORK_OPEN_INFORMATION, *PFILE_NETWORK_OPEN_INFORMATION;
|
sca8er |
2:5853bf44af9f
|
2020
|
|
sca8er |
2:5853bf44af9f
|
2021
|
typedef struct _FILE_ATTRIBUTE_TAG_INFORMATION {
|
sca8er |
2:5853bf44af9f
|
2022
|
ULONG FileAttributes;
|
sca8er |
2:5853bf44af9f
|
2023
|
ULONG ReparseTag;
|
sca8er |
2:5853bf44af9f
|
2024
|
} FILE_ATTRIBUTE_TAG_INFORMATION, *PFILE_ATTRIBUTE_TAG_INFORMATION;
|
sca8er |
2:5853bf44af9f
|
2025
|
|
sca8er |
2:5853bf44af9f
|
2026
|
typedef struct _FILE_DISPOSITION_INFORMATION {
|
sca8er |
2:5853bf44af9f
|
2027
|
BOOLEAN DoDeleteFile;
|
sca8er |
2:5853bf44af9f
|
2028
|
} FILE_DISPOSITION_INFORMATION, *PFILE_DISPOSITION_INFORMATION;
|
sca8er |
2:5853bf44af9f
|
2029
|
|
sca8er |
2:5853bf44af9f
|
2030
|
typedef struct _FILE_END_OF_FILE_INFORMATION {
|
sca8er |
2:5853bf44af9f
|
2031
|
LARGE_INTEGER EndOfFile;
|
sca8er |
2:5853bf44af9f
|
2032
|
} FILE_END_OF_FILE_INFORMATION, *PFILE_END_OF_FILE_INFORMATION;
|
sca8er |
2:5853bf44af9f
|
2033
|
|
sca8er |
2:5853bf44af9f
|
2034
|
typedef struct _FILE_VALID_DATA_LENGTH_INFORMATION {
|
sca8er |
2:5853bf44af9f
|
2035
|
LARGE_INTEGER ValidDataLength;
|
sca8er |
2:5853bf44af9f
|
2036
|
} FILE_VALID_DATA_LENGTH_INFORMATION, *PFILE_VALID_DATA_LENGTH_INFORMATION;
|
sca8er |
2:5853bf44af9f
|
2037
|
|
sca8er |
2:5853bf44af9f
|
2038
|
typedef enum _FSINFOCLASS {
|
sca8er |
2:5853bf44af9f
|
2039
|
FileFsVolumeInformation = 1,
|
sca8er |
2:5853bf44af9f
|
2040
|
FileFsLabelInformation,
|
sca8er |
2:5853bf44af9f
|
2041
|
FileFsSizeInformation,
|
sca8er |
2:5853bf44af9f
|
2042
|
FileFsDeviceInformation,
|
sca8er |
2:5853bf44af9f
|
2043
|
FileFsAttributeInformation,
|
sca8er |
2:5853bf44af9f
|
2044
|
FileFsControlInformation,
|
sca8er |
2:5853bf44af9f
|
2045
|
FileFsFullSizeInformation,
|
sca8er |
2:5853bf44af9f
|
2046
|
FileFsObjectIdInformation,
|
sca8er |
2:5853bf44af9f
|
2047
|
FileFsDriverPathInformation,
|
sca8er |
2:5853bf44af9f
|
2048
|
FileFsMaximumInformation
|
sca8er |
2:5853bf44af9f
|
2049
|
} FS_INFORMATION_CLASS, *PFS_INFORMATION_CLASS;
|
sca8er |
2:5853bf44af9f
|
2050
|
|
sca8er |
2:5853bf44af9f
|
2051
|
typedef struct _FILE_FS_DEVICE_INFORMATION {
|
sca8er |
2:5853bf44af9f
|
2052
|
DEVICE_TYPE DeviceType;
|
sca8er |
2:5853bf44af9f
|
2053
|
ULONG Characteristics;
|
sca8er |
2:5853bf44af9f
|
2054
|
} FILE_FS_DEVICE_INFORMATION, *PFILE_FS_DEVICE_INFORMATION;
|
sca8er |
2:5853bf44af9f
|
2055
|
|
sca8er |
2:5853bf44af9f
|
2056
|
typedef struct _FILE_FULL_EA_INFORMATION {
|
sca8er |
2:5853bf44af9f
|
2057
|
ULONG NextEntryOffset;
|
sca8er |
2:5853bf44af9f
|
2058
|
UCHAR Flags;
|
sca8er |
2:5853bf44af9f
|
2059
|
UCHAR EaNameLength;
|
sca8er |
2:5853bf44af9f
|
2060
|
USHORT EaValueLength;
|
sca8er |
2:5853bf44af9f
|
2061
|
CHAR EaName[1];
|
sca8er |
2:5853bf44af9f
|
2062
|
} FILE_FULL_EA_INFORMATION, *PFILE_FULL_EA_INFORMATION;
|
sca8er |
2:5853bf44af9f
|
2063
|
|
sca8er |
2:5853bf44af9f
|
2064
|
typedef ULONG_PTR ERESOURCE_THREAD;
|
sca8er |
2:5853bf44af9f
|
2065
|
typedef ERESOURCE_THREAD *PERESOURCE_THREAD;
|
sca8er |
2:5853bf44af9f
|
2066
|
|
sca8er |
2:5853bf44af9f
|
2067
|
typedef struct _OWNER_ENTRY {
|
sca8er |
2:5853bf44af9f
|
2068
|
ERESOURCE_THREAD OwnerThread;
|
sca8er |
2:5853bf44af9f
|
2069
|
_ANONYMOUS_UNION union {
|
sca8er |
2:5853bf44af9f
|
2070
|
LONG OwnerCount;
|
sca8er |
2:5853bf44af9f
|
2071
|
ULONG TableSize;
|
sca8er |
2:5853bf44af9f
|
2072
|
} DUMMYUNIONNAME;
|
sca8er |
2:5853bf44af9f
|
2073
|
} OWNER_ENTRY, *POWNER_ENTRY;
|
sca8er |
2:5853bf44af9f
|
2074
|
|
sca8er |
2:5853bf44af9f
|
2075
|
/* ERESOURCE.Flag */
|
sca8er |
2:5853bf44af9f
|
2076
|
|
sca8er |
2:5853bf44af9f
|
2077
|
#define ResourceNeverExclusive 0x0010
|
sca8er |
2:5853bf44af9f
|
2078
|
#define ResourceReleaseByOtherThread 0x0020
|
sca8er |
2:5853bf44af9f
|
2079
|
#define ResourceOwnedExclusive 0x0080
|
sca8er |
2:5853bf44af9f
|
2080
|
|
sca8er |
2:5853bf44af9f
|
2081
|
#define RESOURCE_HASH_TABLE_SIZE 64
|
sca8er |
2:5853bf44af9f
|
2082
|
|
sca8er |
2:5853bf44af9f
|
2083
|
typedef struct _ERESOURCE {
|
sca8er |
2:5853bf44af9f
|
2084
|
LIST_ENTRY SystemResourcesList;
|
sca8er |
2:5853bf44af9f
|
2085
|
POWNER_ENTRY OwnerTable;
|
sca8er |
2:5853bf44af9f
|
2086
|
SHORT ActiveCount;
|
sca8er |
2:5853bf44af9f
|
2087
|
USHORT Flag;
|
sca8er |
2:5853bf44af9f
|
2088
|
PKSEMAPHORE SharedWaiters;
|
sca8er |
2:5853bf44af9f
|
2089
|
PKEVENT ExclusiveWaiters;
|
sca8er |
2:5853bf44af9f
|
2090
|
OWNER_ENTRY OwnerThreads[2];
|
sca8er |
2:5853bf44af9f
|
2091
|
ULONG ContentionCount;
|
sca8er |
2:5853bf44af9f
|
2092
|
USHORT NumberOfSharedWaiters;
|
sca8er |
2:5853bf44af9f
|
2093
|
USHORT NumberOfExclusiveWaiters;
|
sca8er |
2:5853bf44af9f
|
2094
|
_ANONYMOUS_UNION union {
|
sca8er |
2:5853bf44af9f
|
2095
|
PVOID Address;
|
sca8er |
2:5853bf44af9f
|
2096
|
ULONG_PTR CreatorBackTraceIndex;
|
sca8er |
2:5853bf44af9f
|
2097
|
} DUMMYUNIONNAME;
|
sca8er |
2:5853bf44af9f
|
2098
|
KSPIN_LOCK SpinLock;
|
sca8er |
2:5853bf44af9f
|
2099
|
} ERESOURCE, *PERESOURCE;
|
sca8er |
2:5853bf44af9f
|
2100
|
|
sca8er |
2:5853bf44af9f
|
2101
|
/* NOTE: PVOID for methods to avoid 'assignment from incompatible pointer type' warning */
|
sca8er |
2:5853bf44af9f
|
2102
|
typedef struct _DRIVER_EXTENSION {
|
sca8er |
2:5853bf44af9f
|
2103
|
struct _DRIVER_OBJECT *DriverObject;
|
sca8er |
2:5853bf44af9f
|
2104
|
PVOID AddDevice;
|
sca8er |
2:5853bf44af9f
|
2105
|
ULONG Count;
|
sca8er |
2:5853bf44af9f
|
2106
|
UNICODE_STRING ServiceKeyName;
|
sca8er |
2:5853bf44af9f
|
2107
|
} DRIVER_EXTENSION, *PDRIVER_EXTENSION;
|
sca8er |
2:5853bf44af9f
|
2108
|
|
sca8er |
2:5853bf44af9f
|
2109
|
typedef BOOLEAN DDKAPI
|
sca8er |
2:5853bf44af9f
|
2110
|
(*PFAST_IO_CHECK_IF_POSSIBLE)(
|
sca8er |
2:5853bf44af9f
|
2111
|
/*IN*/ struct _FILE_OBJECT *FileObject,
|
sca8er |
2:5853bf44af9f
|
2112
|
/*IN*/ PLARGE_INTEGER FileOffset,
|
sca8er |
2:5853bf44af9f
|
2113
|
/*IN*/ ULONG Length,
|
sca8er |
2:5853bf44af9f
|
2114
|
/*IN*/ BOOLEAN Wait,
|
sca8er |
2:5853bf44af9f
|
2115
|
/*IN*/ ULONG LockKey,
|
sca8er |
2:5853bf44af9f
|
2116
|
/*IN*/ BOOLEAN CheckForReadOperation,
|
sca8er |
2:5853bf44af9f
|
2117
|
/*OUT*/ PIO_STATUS_BLOCK IoStatus,
|
sca8er |
2:5853bf44af9f
|
2118
|
/*IN*/ struct _DEVICE_OBJECT *DeviceObject);
|
sca8er |
2:5853bf44af9f
|
2119
|
|
sca8er |
2:5853bf44af9f
|
2120
|
typedef BOOLEAN DDKAPI
|
sca8er |
2:5853bf44af9f
|
2121
|
(*PFAST_IO_READ)(
|
sca8er |
2:5853bf44af9f
|
2122
|
/*IN*/ struct _FILE_OBJECT *FileObject,
|
sca8er |
2:5853bf44af9f
|
2123
|
/*IN*/ PLARGE_INTEGER FileOffset,
|
sca8er |
2:5853bf44af9f
|
2124
|
/*IN*/ ULONG Length,
|
sca8er |
2:5853bf44af9f
|
2125
|
/*IN*/ BOOLEAN Wait,
|
sca8er |
2:5853bf44af9f
|
2126
|
/*IN*/ ULONG LockKey,
|
sca8er |
2:5853bf44af9f
|
2127
|
/*OUT*/ PVOID Buffer,
|
sca8er |
2:5853bf44af9f
|
2128
|
/*OUT*/ PIO_STATUS_BLOCK IoStatus,
|
sca8er |
2:5853bf44af9f
|
2129
|
/*IN*/ struct _DEVICE_OBJECT *DeviceObject);
|
sca8er |
2:5853bf44af9f
|
2130
|
|
sca8er |
2:5853bf44af9f
|
2131
|
typedef BOOLEAN DDKAPI
|
sca8er |
2:5853bf44af9f
|
2132
|
(*PFAST_IO_WRITE)(
|
sca8er |
2:5853bf44af9f
|
2133
|
/*IN*/ struct _FILE_OBJECT *FileObject,
|
sca8er |
2:5853bf44af9f
|
2134
|
/*IN*/ PLARGE_INTEGER FileOffset,
|
sca8er |
2:5853bf44af9f
|
2135
|
/*IN*/ ULONG Length,
|
sca8er |
2:5853bf44af9f
|
2136
|
/*IN*/ BOOLEAN Wait,
|
sca8er |
2:5853bf44af9f
|
2137
|
/*IN*/ ULONG LockKey,
|
sca8er |
2:5853bf44af9f
|
2138
|
/*IN*/ PVOID Buffer,
|
sca8er |
2:5853bf44af9f
|
2139
|
/*OUT*/ PIO_STATUS_BLOCK IoStatus,
|
sca8er |
2:5853bf44af9f
|
2140
|
/*IN*/ struct _DEVICE_OBJECT *DeviceObject);
|
sca8er |
2:5853bf44af9f
|
2141
|
|
sca8er |
2:5853bf44af9f
|
2142
|
typedef BOOLEAN DDKAPI
|
sca8er |
2:5853bf44af9f
|
2143
|
(*PFAST_IO_QUERY_BASIC_INFO)(
|
sca8er |
2:5853bf44af9f
|
2144
|
/*IN*/ struct _FILE_OBJECT *FileObject,
|
sca8er |
2:5853bf44af9f
|
2145
|
/*IN*/ BOOLEAN Wait,
|
sca8er |
2:5853bf44af9f
|
2146
|
/*OUT*/ PFILE_BASIC_INFORMATION Buffer,
|
sca8er |
2:5853bf44af9f
|
2147
|
/*OUT*/ PIO_STATUS_BLOCK IoStatus,
|
sca8er |
2:5853bf44af9f
|
2148
|
/*IN*/ struct _DEVICE_OBJECT *DeviceObject);
|
sca8er |
2:5853bf44af9f
|
2149
|
|
sca8er |
2:5853bf44af9f
|
2150
|
typedef BOOLEAN DDKAPI
|
sca8er |
2:5853bf44af9f
|
2151
|
(*PFAST_IO_QUERY_STANDARD_INFO)(
|
sca8er |
2:5853bf44af9f
|
2152
|
/*IN*/ struct _FILE_OBJECT *FileObject,
|
sca8er |
2:5853bf44af9f
|
2153
|
/*IN*/ BOOLEAN Wait,
|
sca8er |
2:5853bf44af9f
|
2154
|
/*OUT*/ PFILE_STANDARD_INFORMATION Buffer,
|
sca8er |
2:5853bf44af9f
|
2155
|
/*OUT*/ PIO_STATUS_BLOCK IoStatus,
|
sca8er |
2:5853bf44af9f
|
2156
|
/*IN*/ struct _DEVICE_OBJECT *DeviceObject);
|
sca8er |
2:5853bf44af9f
|
2157
|
|
sca8er |
2:5853bf44af9f
|
2158
|
typedef BOOLEAN DDKAPI
|
sca8er |
2:5853bf44af9f
|
2159
|
(*PFAST_IO_LOCK)(
|
sca8er |
2:5853bf44af9f
|
2160
|
/*IN*/ struct _FILE_OBJECT *FileObject,
|
sca8er |
2:5853bf44af9f
|
2161
|
/*IN*/ PLARGE_INTEGER FileOffset,
|
sca8er |
2:5853bf44af9f
|
2162
|
/*IN*/ PLARGE_INTEGER Length,
|
sca8er |
2:5853bf44af9f
|
2163
|
PEPROCESS ProcessId,
|
sca8er |
2:5853bf44af9f
|
2164
|
ULONG Key,
|
sca8er |
2:5853bf44af9f
|
2165
|
BOOLEAN FailImmediately,
|
sca8er |
2:5853bf44af9f
|
2166
|
BOOLEAN ExclusiveLock,
|
sca8er |
2:5853bf44af9f
|
2167
|
/*OUT*/ PIO_STATUS_BLOCK IoStatus,
|
sca8er |
2:5853bf44af9f
|
2168
|
/*IN*/ struct _DEVICE_OBJECT *DeviceObject);
|
sca8er |
2:5853bf44af9f
|
2169
|
|
sca8er |
2:5853bf44af9f
|
2170
|
typedef BOOLEAN DDKAPI
|
sca8er |
2:5853bf44af9f
|
2171
|
(*PFAST_IO_UNLOCK_SINGLE)(
|
sca8er |
2:5853bf44af9f
|
2172
|
/*IN*/ struct _FILE_OBJECT *FileObject,
|
sca8er |
2:5853bf44af9f
|
2173
|
/*IN*/ PLARGE_INTEGER FileOffset,
|
sca8er |
2:5853bf44af9f
|
2174
|
/*IN*/ PLARGE_INTEGER Length,
|
sca8er |
2:5853bf44af9f
|
2175
|
PEPROCESS ProcessId,
|
sca8er |
2:5853bf44af9f
|
2176
|
ULONG Key,
|
sca8er |
2:5853bf44af9f
|
2177
|
/*OUT*/ PIO_STATUS_BLOCK IoStatus,
|
sca8er |
2:5853bf44af9f
|
2178
|
/*IN*/ struct _DEVICE_OBJECT *DeviceObject);
|
sca8er |
2:5853bf44af9f
|
2179
|
|
sca8er |
2:5853bf44af9f
|
2180
|
typedef BOOLEAN DDKAPI
|
sca8er |
2:5853bf44af9f
|
2181
|
(*PFAST_IO_UNLOCK_ALL)(
|
sca8er |
2:5853bf44af9f
|
2182
|
/*IN*/ struct _FILE_OBJECT *FileObject,
|
sca8er |
2:5853bf44af9f
|
2183
|
PEPROCESS ProcessId,
|
sca8er |
2:5853bf44af9f
|
2184
|
/*OUT*/ PIO_STATUS_BLOCK IoStatus,
|
sca8er |
2:5853bf44af9f
|
2185
|
/*IN*/ struct _DEVICE_OBJECT *DeviceObject);
|
sca8er |
2:5853bf44af9f
|
2186
|
|
sca8er |
2:5853bf44af9f
|
2187
|
typedef BOOLEAN DDKAPI
|
sca8er |
2:5853bf44af9f
|
2188
|
(*PFAST_IO_UNLOCK_ALL_BY_KEY)(
|
sca8er |
2:5853bf44af9f
|
2189
|
/*IN*/ struct _FILE_OBJECT *FileObject,
|
sca8er |
2:5853bf44af9f
|
2190
|
PVOID ProcessId,
|
sca8er |
2:5853bf44af9f
|
2191
|
ULONG Key,
|
sca8er |
2:5853bf44af9f
|
2192
|
/*OUT*/ PIO_STATUS_BLOCK IoStatus,
|
sca8er |
2:5853bf44af9f
|
2193
|
/*IN*/ struct _DEVICE_OBJECT *DeviceObject);
|
sca8er |
2:5853bf44af9f
|
2194
|
|
sca8er |
2:5853bf44af9f
|
2195
|
typedef BOOLEAN DDKAPI
|
sca8er |
2:5853bf44af9f
|
2196
|
(*PFAST_IO_DEVICE_CONTROL)(
|
sca8er |
2:5853bf44af9f
|
2197
|
/*IN*/ struct _FILE_OBJECT *FileObject,
|
sca8er |
2:5853bf44af9f
|
2198
|
/*IN*/ BOOLEAN Wait,
|
sca8er |
2:5853bf44af9f
|
2199
|
/*IN*/ PVOID InputBuffer /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
2200
|
/*IN*/ ULONG InputBufferLength,
|
sca8er |
2:5853bf44af9f
|
2201
|
/*OUT*/ PVOID OutputBuffer /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
2202
|
/*IN*/ ULONG OutputBufferLength,
|
sca8er |
2:5853bf44af9f
|
2203
|
/*IN*/ ULONG IoControlCode,
|
sca8er |
2:5853bf44af9f
|
2204
|
/*OUT*/ PIO_STATUS_BLOCK IoStatus,
|
sca8er |
2:5853bf44af9f
|
2205
|
/*IN*/ struct _DEVICE_OBJECT *DeviceObject);
|
sca8er |
2:5853bf44af9f
|
2206
|
|
sca8er |
2:5853bf44af9f
|
2207
|
typedef VOID DDKAPI
|
sca8er |
2:5853bf44af9f
|
2208
|
(*PFAST_IO_ACQUIRE_FILE)(
|
sca8er |
2:5853bf44af9f
|
2209
|
/*IN*/ struct _FILE_OBJECT *FileObject);
|
sca8er |
2:5853bf44af9f
|
2210
|
|
sca8er |
2:5853bf44af9f
|
2211
|
typedef VOID DDKAPI
|
sca8er |
2:5853bf44af9f
|
2212
|
(*PFAST_IO_RELEASE_FILE)(
|
sca8er |
2:5853bf44af9f
|
2213
|
/*IN*/ struct _FILE_OBJECT *FileObject);
|
sca8er |
2:5853bf44af9f
|
2214
|
|
sca8er |
2:5853bf44af9f
|
2215
|
typedef VOID DDKAPI
|
sca8er |
2:5853bf44af9f
|
2216
|
(*PFAST_IO_DETACH_DEVICE)(
|
sca8er |
2:5853bf44af9f
|
2217
|
/*IN*/ struct _DEVICE_OBJECT *SourceDevice,
|
sca8er |
2:5853bf44af9f
|
2218
|
/*IN*/ struct _DEVICE_OBJECT *TargetDevice);
|
sca8er |
2:5853bf44af9f
|
2219
|
|
sca8er |
2:5853bf44af9f
|
2220
|
typedef BOOLEAN DDKAPI
|
sca8er |
2:5853bf44af9f
|
2221
|
(*PFAST_IO_QUERY_NETWORK_OPEN_INFO)(
|
sca8er |
2:5853bf44af9f
|
2222
|
/*IN*/ struct _FILE_OBJECT *FileObject,
|
sca8er |
2:5853bf44af9f
|
2223
|
/*IN*/ BOOLEAN Wait,
|
sca8er |
2:5853bf44af9f
|
2224
|
/*OUT*/ struct _FILE_NETWORK_OPEN_INFORMATION *Buffer,
|
sca8er |
2:5853bf44af9f
|
2225
|
/*OUT*/ struct _IO_STATUS_BLOCK *IoStatus,
|
sca8er |
2:5853bf44af9f
|
2226
|
/*IN*/ struct _DEVICE_OBJECT *DeviceObject);
|
sca8er |
2:5853bf44af9f
|
2227
|
|
sca8er |
2:5853bf44af9f
|
2228
|
typedef NTSTATUS DDKAPI
|
sca8er |
2:5853bf44af9f
|
2229
|
(*PFAST_IO_ACQUIRE_FOR_MOD_WRITE)(
|
sca8er |
2:5853bf44af9f
|
2230
|
/*IN*/ struct _FILE_OBJECT *FileObject,
|
sca8er |
2:5853bf44af9f
|
2231
|
/*IN*/ PLARGE_INTEGER EndingOffset,
|
sca8er |
2:5853bf44af9f
|
2232
|
/*OUT*/ struct _ERESOURCE **ResourceToRelease,
|
sca8er |
2:5853bf44af9f
|
2233
|
/*IN*/ struct _DEVICE_OBJECT *DeviceObject);
|
sca8er |
2:5853bf44af9f
|
2234
|
|
sca8er |
2:5853bf44af9f
|
2235
|
typedef BOOLEAN DDKAPI
|
sca8er |
2:5853bf44af9f
|
2236
|
(*PFAST_IO_MDL_READ)(
|
sca8er |
2:5853bf44af9f
|
2237
|
/*IN*/ struct _FILE_OBJECT *FileObject,
|
sca8er |
2:5853bf44af9f
|
2238
|
/*IN*/ PLARGE_INTEGER FileOffset,
|
sca8er |
2:5853bf44af9f
|
2239
|
/*IN*/ ULONG Length,
|
sca8er |
2:5853bf44af9f
|
2240
|
/*IN*/ ULONG LockKey,
|
sca8er |
2:5853bf44af9f
|
2241
|
/*OUT*/ PMDL *MdlChain,
|
sca8er |
2:5853bf44af9f
|
2242
|
/*OUT*/ PIO_STATUS_BLOCK IoStatus,
|
sca8er |
2:5853bf44af9f
|
2243
|
/*IN*/ struct _DEVICE_OBJECT *DeviceObject);
|
sca8er |
2:5853bf44af9f
|
2244
|
|
sca8er |
2:5853bf44af9f
|
2245
|
typedef BOOLEAN DDKAPI
|
sca8er |
2:5853bf44af9f
|
2246
|
(*PFAST_IO_MDL_READ_COMPLETE)(
|
sca8er |
2:5853bf44af9f
|
2247
|
/*IN*/ struct _FILE_OBJECT *FileObject,
|
sca8er |
2:5853bf44af9f
|
2248
|
/*IN*/ PMDL MdlChain,
|
sca8er |
2:5853bf44af9f
|
2249
|
/*IN*/ struct _DEVICE_OBJECT *DeviceObject);
|
sca8er |
2:5853bf44af9f
|
2250
|
|
sca8er |
2:5853bf44af9f
|
2251
|
typedef BOOLEAN DDKAPI
|
sca8er |
2:5853bf44af9f
|
2252
|
(*PFAST_IO_PREPARE_MDL_WRITE)(
|
sca8er |
2:5853bf44af9f
|
2253
|
/*IN*/ struct _FILE_OBJECT *FileObject,
|
sca8er |
2:5853bf44af9f
|
2254
|
/*IN*/ PLARGE_INTEGER FileOffset,
|
sca8er |
2:5853bf44af9f
|
2255
|
/*IN*/ ULONG Length,
|
sca8er |
2:5853bf44af9f
|
2256
|
/*IN*/ ULONG LockKey,
|
sca8er |
2:5853bf44af9f
|
2257
|
/*OUT*/ PMDL *MdlChain,
|
sca8er |
2:5853bf44af9f
|
2258
|
/*OUT*/ PIO_STATUS_BLOCK IoStatus,
|
sca8er |
2:5853bf44af9f
|
2259
|
/*IN*/ struct _DEVICE_OBJECT *DeviceObject);
|
sca8er |
2:5853bf44af9f
|
2260
|
|
sca8er |
2:5853bf44af9f
|
2261
|
typedef BOOLEAN DDKAPI
|
sca8er |
2:5853bf44af9f
|
2262
|
(*PFAST_IO_MDL_WRITE_COMPLETE)(
|
sca8er |
2:5853bf44af9f
|
2263
|
/*IN*/ struct _FILE_OBJECT *FileObject,
|
sca8er |
2:5853bf44af9f
|
2264
|
/*IN*/ PLARGE_INTEGER FileOffset,
|
sca8er |
2:5853bf44af9f
|
2265
|
/*IN*/ PMDL MdlChain,
|
sca8er |
2:5853bf44af9f
|
2266
|
/*IN*/ struct _DEVICE_OBJECT *DeviceObject);
|
sca8er |
2:5853bf44af9f
|
2267
|
|
sca8er |
2:5853bf44af9f
|
2268
|
typedef BOOLEAN DDKAPI
|
sca8er |
2:5853bf44af9f
|
2269
|
(*PFAST_IO_READ_COMPRESSED)(
|
sca8er |
2:5853bf44af9f
|
2270
|
/*IN*/ struct _FILE_OBJECT *FileObject,
|
sca8er |
2:5853bf44af9f
|
2271
|
/*IN*/ PLARGE_INTEGER FileOffset,
|
sca8er |
2:5853bf44af9f
|
2272
|
/*IN*/ ULONG Length,
|
sca8er |
2:5853bf44af9f
|
2273
|
/*IN*/ ULONG LockKey,
|
sca8er |
2:5853bf44af9f
|
2274
|
/*OUT*/ PVOID Buffer,
|
sca8er |
2:5853bf44af9f
|
2275
|
/*OUT*/ PMDL *MdlChain,
|
sca8er |
2:5853bf44af9f
|
2276
|
/*OUT*/ PIO_STATUS_BLOCK IoStatus,
|
sca8er |
2:5853bf44af9f
|
2277
|
/*OUT*/ struct _COMPRESSED_DATA_INFO *CompressedDataInfo,
|
sca8er |
2:5853bf44af9f
|
2278
|
/*IN*/ ULONG CompressedDataInfoLength,
|
sca8er |
2:5853bf44af9f
|
2279
|
/*IN*/ struct _DEVICE_OBJECT *DeviceObject);
|
sca8er |
2:5853bf44af9f
|
2280
|
|
sca8er |
2:5853bf44af9f
|
2281
|
typedef BOOLEAN DDKAPI
|
sca8er |
2:5853bf44af9f
|
2282
|
(*PFAST_IO_WRITE_COMPRESSED)(
|
sca8er |
2:5853bf44af9f
|
2283
|
/*IN*/ struct _FILE_OBJECT *FileObject,
|
sca8er |
2:5853bf44af9f
|
2284
|
/*IN*/ PLARGE_INTEGER FileOffset,
|
sca8er |
2:5853bf44af9f
|
2285
|
/*IN*/ ULONG Length,
|
sca8er |
2:5853bf44af9f
|
2286
|
/*IN*/ ULONG LockKey,
|
sca8er |
2:5853bf44af9f
|
2287
|
/*IN*/ PVOID Buffer,
|
sca8er |
2:5853bf44af9f
|
2288
|
/*OUT*/ PMDL *MdlChain,
|
sca8er |
2:5853bf44af9f
|
2289
|
/*OUT*/ PIO_STATUS_BLOCK IoStatus,
|
sca8er |
2:5853bf44af9f
|
2290
|
/*IN*/ struct _COMPRESSED_DATA_INFO *CompressedDataInfo,
|
sca8er |
2:5853bf44af9f
|
2291
|
/*IN*/ ULONG CompressedDataInfoLength,
|
sca8er |
2:5853bf44af9f
|
2292
|
/*IN*/ struct _DEVICE_OBJECT *DeviceObject);
|
sca8er |
2:5853bf44af9f
|
2293
|
|
sca8er |
2:5853bf44af9f
|
2294
|
typedef BOOLEAN DDKAPI
|
sca8er |
2:5853bf44af9f
|
2295
|
(*PFAST_IO_MDL_READ_COMPLETE_COMPRESSED)(
|
sca8er |
2:5853bf44af9f
|
2296
|
/*IN*/ struct _FILE_OBJECT *FileObject,
|
sca8er |
2:5853bf44af9f
|
2297
|
/*IN*/ PMDL MdlChain,
|
sca8er |
2:5853bf44af9f
|
2298
|
/*IN*/ struct _DEVICE_OBJECT *DeviceObject);
|
sca8er |
2:5853bf44af9f
|
2299
|
|
sca8er |
2:5853bf44af9f
|
2300
|
typedef BOOLEAN DDKAPI
|
sca8er |
2:5853bf44af9f
|
2301
|
(*PFAST_IO_MDL_WRITE_COMPLETE_COMPRESSED)(
|
sca8er |
2:5853bf44af9f
|
2302
|
/*IN*/ struct _FILE_OBJECT *FileObject,
|
sca8er |
2:5853bf44af9f
|
2303
|
/*IN*/ PLARGE_INTEGER FileOffset,
|
sca8er |
2:5853bf44af9f
|
2304
|
/*IN*/ PMDL MdlChain,
|
sca8er |
2:5853bf44af9f
|
2305
|
/*IN*/ struct _DEVICE_OBJECT *DeviceObject);
|
sca8er |
2:5853bf44af9f
|
2306
|
|
sca8er |
2:5853bf44af9f
|
2307
|
typedef BOOLEAN DDKAPI
|
sca8er |
2:5853bf44af9f
|
2308
|
(*PFAST_IO_QUERY_OPEN)(
|
sca8er |
2:5853bf44af9f
|
2309
|
/*IN*/ struct _IRP *Irp,
|
sca8er |
2:5853bf44af9f
|
2310
|
/*OUT*/ PFILE_NETWORK_OPEN_INFORMATION NetworkInformation,
|
sca8er |
2:5853bf44af9f
|
2311
|
/*IN*/ struct _DEVICE_OBJECT *DeviceObject);
|
sca8er |
2:5853bf44af9f
|
2312
|
|
sca8er |
2:5853bf44af9f
|
2313
|
typedef NTSTATUS DDKAPI
|
sca8er |
2:5853bf44af9f
|
2314
|
(*PFAST_IO_RELEASE_FOR_MOD_WRITE)(
|
sca8er |
2:5853bf44af9f
|
2315
|
/*IN*/ struct _FILE_OBJECT *FileObject,
|
sca8er |
2:5853bf44af9f
|
2316
|
/*IN*/ struct _ERESOURCE *ResourceToRelease,
|
sca8er |
2:5853bf44af9f
|
2317
|
/*IN*/ struct _DEVICE_OBJECT *DeviceObject);
|
sca8er |
2:5853bf44af9f
|
2318
|
|
sca8er |
2:5853bf44af9f
|
2319
|
typedef NTSTATUS DDKAPI
|
sca8er |
2:5853bf44af9f
|
2320
|
(*PFAST_IO_ACQUIRE_FOR_CCFLUSH)(
|
sca8er |
2:5853bf44af9f
|
2321
|
/*IN*/ struct _FILE_OBJECT *FileObject,
|
sca8er |
2:5853bf44af9f
|
2322
|
/*IN*/ struct _DEVICE_OBJECT *DeviceObject);
|
sca8er |
2:5853bf44af9f
|
2323
|
|
sca8er |
2:5853bf44af9f
|
2324
|
typedef NTSTATUS DDKAPI
|
sca8er |
2:5853bf44af9f
|
2325
|
(*PFAST_IO_RELEASE_FOR_CCFLUSH) (
|
sca8er |
2:5853bf44af9f
|
2326
|
/*IN*/ struct _FILE_OBJECT *FileObject,
|
sca8er |
2:5853bf44af9f
|
2327
|
/*IN*/ struct _DEVICE_OBJECT *DeviceObject);
|
sca8er |
2:5853bf44af9f
|
2328
|
|
sca8er |
2:5853bf44af9f
|
2329
|
typedef struct _FAST_IO_DISPATCH {
|
sca8er |
2:5853bf44af9f
|
2330
|
ULONG SizeOfFastIoDispatch;
|
sca8er |
2:5853bf44af9f
|
2331
|
PFAST_IO_CHECK_IF_POSSIBLE FastIoCheckIfPossible;
|
sca8er |
2:5853bf44af9f
|
2332
|
PFAST_IO_READ FastIoRead;
|
sca8er |
2:5853bf44af9f
|
2333
|
PFAST_IO_WRITE FastIoWrite;
|
sca8er |
2:5853bf44af9f
|
2334
|
PFAST_IO_QUERY_BASIC_INFO FastIoQueryBasicInfo;
|
sca8er |
2:5853bf44af9f
|
2335
|
PFAST_IO_QUERY_STANDARD_INFO FastIoQueryStandardInfo;
|
sca8er |
2:5853bf44af9f
|
2336
|
PFAST_IO_LOCK FastIoLock;
|
sca8er |
2:5853bf44af9f
|
2337
|
PFAST_IO_UNLOCK_SINGLE FastIoUnlockSingle;
|
sca8er |
2:5853bf44af9f
|
2338
|
PFAST_IO_UNLOCK_ALL FastIoUnlockAll;
|
sca8er |
2:5853bf44af9f
|
2339
|
PFAST_IO_UNLOCK_ALL_BY_KEY FastIoUnlockAllByKey;
|
sca8er |
2:5853bf44af9f
|
2340
|
PFAST_IO_DEVICE_CONTROL FastIoDeviceControl;
|
sca8er |
2:5853bf44af9f
|
2341
|
PFAST_IO_ACQUIRE_FILE AcquireFileForNtCreateSection;
|
sca8er |
2:5853bf44af9f
|
2342
|
PFAST_IO_RELEASE_FILE ReleaseFileForNtCreateSection;
|
sca8er |
2:5853bf44af9f
|
2343
|
PFAST_IO_DETACH_DEVICE FastIoDetachDevice;
|
sca8er |
2:5853bf44af9f
|
2344
|
PFAST_IO_QUERY_NETWORK_OPEN_INFO FastIoQueryNetworkOpenInfo;
|
sca8er |
2:5853bf44af9f
|
2345
|
PFAST_IO_ACQUIRE_FOR_MOD_WRITE AcquireForModWrite;
|
sca8er |
2:5853bf44af9f
|
2346
|
PFAST_IO_MDL_READ MdlRead;
|
sca8er |
2:5853bf44af9f
|
2347
|
PFAST_IO_MDL_READ_COMPLETE MdlReadComplete;
|
sca8er |
2:5853bf44af9f
|
2348
|
PFAST_IO_PREPARE_MDL_WRITE PrepareMdlWrite;
|
sca8er |
2:5853bf44af9f
|
2349
|
PFAST_IO_MDL_WRITE_COMPLETE MdlWriteComplete;
|
sca8er |
2:5853bf44af9f
|
2350
|
PFAST_IO_READ_COMPRESSED FastIoReadCompressed;
|
sca8er |
2:5853bf44af9f
|
2351
|
PFAST_IO_WRITE_COMPRESSED FastIoWriteCompressed;
|
sca8er |
2:5853bf44af9f
|
2352
|
PFAST_IO_MDL_READ_COMPLETE_COMPRESSED MdlReadCompleteCompressed;
|
sca8er |
2:5853bf44af9f
|
2353
|
PFAST_IO_MDL_WRITE_COMPLETE_COMPRESSED MdlWriteCompleteCompressed;
|
sca8er |
2:5853bf44af9f
|
2354
|
PFAST_IO_QUERY_OPEN FastIoQueryOpen;
|
sca8er |
2:5853bf44af9f
|
2355
|
PFAST_IO_RELEASE_FOR_MOD_WRITE ReleaseForModWrite;
|
sca8er |
2:5853bf44af9f
|
2356
|
PFAST_IO_ACQUIRE_FOR_CCFLUSH AcquireForCcFlush;
|
sca8er |
2:5853bf44af9f
|
2357
|
PFAST_IO_RELEASE_FOR_CCFLUSH ReleaseForCcFlush;
|
sca8er |
2:5853bf44af9f
|
2358
|
} FAST_IO_DISPATCH, *PFAST_IO_DISPATCH;
|
sca8er |
2:5853bf44af9f
|
2359
|
|
sca8er |
2:5853bf44af9f
|
2360
|
typedef struct _DRIVER_OBJECT {
|
sca8er |
2:5853bf44af9f
|
2361
|
CSHORT Type;
|
sca8er |
2:5853bf44af9f
|
2362
|
CSHORT Size;
|
sca8er |
2:5853bf44af9f
|
2363
|
PDEVICE_OBJECT DeviceObject;
|
sca8er |
2:5853bf44af9f
|
2364
|
ULONG Flags;
|
sca8er |
2:5853bf44af9f
|
2365
|
PVOID DriverStart;
|
sca8er |
2:5853bf44af9f
|
2366
|
ULONG DriverSize;
|
sca8er |
2:5853bf44af9f
|
2367
|
PVOID DriverSection;
|
sca8er |
2:5853bf44af9f
|
2368
|
PDRIVER_EXTENSION DriverExtension;
|
sca8er |
2:5853bf44af9f
|
2369
|
UNICODE_STRING DriverName;
|
sca8er |
2:5853bf44af9f
|
2370
|
PUNICODE_STRING HardwareDatabase;
|
sca8er |
2:5853bf44af9f
|
2371
|
PFAST_IO_DISPATCH FastIoDispatch;
|
sca8er |
2:5853bf44af9f
|
2372
|
PDRIVER_INITIALIZE DriverInit;
|
sca8er |
2:5853bf44af9f
|
2373
|
PDRIVER_STARTIO DriverStartIo;
|
sca8er |
2:5853bf44af9f
|
2374
|
PDRIVER_UNLOAD DriverUnload;
|
sca8er |
2:5853bf44af9f
|
2375
|
PDRIVER_DISPATCH MajorFunction[IRP_MJ_MAXIMUM_FUNCTION + 1];
|
sca8er |
2:5853bf44af9f
|
2376
|
} DRIVER_OBJECT;
|
sca8er |
2:5853bf44af9f
|
2377
|
typedef struct _DRIVER_OBJECT *PDRIVER_OBJECT;
|
sca8er |
2:5853bf44af9f
|
2378
|
|
sca8er |
2:5853bf44af9f
|
2379
|
typedef struct _SECTION_OBJECT_POINTERS {
|
sca8er |
2:5853bf44af9f
|
2380
|
PVOID DataSectionObject;
|
sca8er |
2:5853bf44af9f
|
2381
|
PVOID SharedCacheMap;
|
sca8er |
2:5853bf44af9f
|
2382
|
PVOID ImageSectionObject;
|
sca8er |
2:5853bf44af9f
|
2383
|
} SECTION_OBJECT_POINTERS, *PSECTION_OBJECT_POINTERS;
|
sca8er |
2:5853bf44af9f
|
2384
|
|
sca8er |
2:5853bf44af9f
|
2385
|
typedef struct _IO_COMPLETION_CONTEXT {
|
sca8er |
2:5853bf44af9f
|
2386
|
PVOID Port;
|
sca8er |
2:5853bf44af9f
|
2387
|
PVOID Key;
|
sca8er |
2:5853bf44af9f
|
2388
|
} IO_COMPLETION_CONTEXT, *PIO_COMPLETION_CONTEXT;
|
sca8er |
2:5853bf44af9f
|
2389
|
|
sca8er |
2:5853bf44af9f
|
2390
|
/* FILE_OBJECT.Flags */
|
sca8er |
2:5853bf44af9f
|
2391
|
|
sca8er |
2:5853bf44af9f
|
2392
|
#define FO_FILE_OPEN 0x00000001
|
sca8er |
2:5853bf44af9f
|
2393
|
#define FO_SYNCHRONOUS_IO 0x00000002
|
sca8er |
2:5853bf44af9f
|
2394
|
#define FO_ALERTABLE_IO 0x00000004
|
sca8er |
2:5853bf44af9f
|
2395
|
#define FO_NO_INTERMEDIATE_BUFFERING 0x00000008
|
sca8er |
2:5853bf44af9f
|
2396
|
#define FO_WRITE_THROUGH 0x00000010
|
sca8er |
2:5853bf44af9f
|
2397
|
#define FO_SEQUENTIAL_ONLY 0x00000020
|
sca8er |
2:5853bf44af9f
|
2398
|
#define FO_CACHE_SUPPORTED 0x00000040
|
sca8er |
2:5853bf44af9f
|
2399
|
#define FO_NAMED_PIPE 0x00000080
|
sca8er |
2:5853bf44af9f
|
2400
|
#define FO_STREAM_FILE 0x00000100
|
sca8er |
2:5853bf44af9f
|
2401
|
#define FO_MAILSLOT 0x00000200
|
sca8er |
2:5853bf44af9f
|
2402
|
#define FO_GENERATE_AUDIT_ON_CLOSE 0x00000400
|
sca8er |
2:5853bf44af9f
|
2403
|
#define FO_DIRECT_DEVICE_OPEN 0x00000800
|
sca8er |
2:5853bf44af9f
|
2404
|
#define FO_FILE_MODIFIED 0x00001000
|
sca8er |
2:5853bf44af9f
|
2405
|
#define FO_FILE_SIZE_CHANGED 0x00002000
|
sca8er |
2:5853bf44af9f
|
2406
|
#define FO_CLEANUP_COMPLETE 0x00004000
|
sca8er |
2:5853bf44af9f
|
2407
|
#define FO_TEMPORARY_FILE 0x00008000
|
sca8er |
2:5853bf44af9f
|
2408
|
#define FO_DELETE_ON_CLOSE 0x00010000
|
sca8er |
2:5853bf44af9f
|
2409
|
#define FO_OPENED_CASE_SENSITIVE 0x00020000
|
sca8er |
2:5853bf44af9f
|
2410
|
#define FO_HANDLE_CREATED 0x00040000
|
sca8er |
2:5853bf44af9f
|
2411
|
#define FO_FILE_FAST_IO_READ 0x00080000
|
sca8er |
2:5853bf44af9f
|
2412
|
#define FO_RANDOM_ACCESS 0x00100000
|
sca8er |
2:5853bf44af9f
|
2413
|
#define FO_FILE_OPEN_CANCELLED 0x00200000
|
sca8er |
2:5853bf44af9f
|
2414
|
#define FO_VOLUME_OPEN 0x00400000
|
sca8er |
2:5853bf44af9f
|
2415
|
#define FO_FILE_OBJECT_HAS_EXTENSION 0x00800000
|
sca8er |
2:5853bf44af9f
|
2416
|
#define FO_REMOTE_ORIGIN 0x01000000
|
sca8er |
2:5853bf44af9f
|
2417
|
|
sca8er |
2:5853bf44af9f
|
2418
|
typedef struct _FILE_OBJECT {
|
sca8er |
2:5853bf44af9f
|
2419
|
CSHORT Type;
|
sca8er |
2:5853bf44af9f
|
2420
|
CSHORT Size;
|
sca8er |
2:5853bf44af9f
|
2421
|
PDEVICE_OBJECT DeviceObject;
|
sca8er |
2:5853bf44af9f
|
2422
|
PVPB Vpb;
|
sca8er |
2:5853bf44af9f
|
2423
|
PVOID FsContext;
|
sca8er |
2:5853bf44af9f
|
2424
|
PVOID FsContext2;
|
sca8er |
2:5853bf44af9f
|
2425
|
PSECTION_OBJECT_POINTERS SectionObjectPointer;
|
sca8er |
2:5853bf44af9f
|
2426
|
PVOID PrivateCacheMap;
|
sca8er |
2:5853bf44af9f
|
2427
|
NTSTATUS FinalStatus;
|
sca8er |
2:5853bf44af9f
|
2428
|
struct _FILE_OBJECT *RelatedFileObject;
|
sca8er |
2:5853bf44af9f
|
2429
|
BOOLEAN LockOperation;
|
sca8er |
2:5853bf44af9f
|
2430
|
BOOLEAN DeletePending;
|
sca8er |
2:5853bf44af9f
|
2431
|
BOOLEAN ReadAccess;
|
sca8er |
2:5853bf44af9f
|
2432
|
BOOLEAN WriteAccess;
|
sca8er |
2:5853bf44af9f
|
2433
|
BOOLEAN DeleteAccess;
|
sca8er |
2:5853bf44af9f
|
2434
|
BOOLEAN SharedRead;
|
sca8er |
2:5853bf44af9f
|
2435
|
BOOLEAN SharedWrite;
|
sca8er |
2:5853bf44af9f
|
2436
|
BOOLEAN SharedDelete;
|
sca8er |
2:5853bf44af9f
|
2437
|
ULONG Flags;
|
sca8er |
2:5853bf44af9f
|
2438
|
UNICODE_STRING FileName;
|
sca8er |
2:5853bf44af9f
|
2439
|
LARGE_INTEGER CurrentByteOffset;
|
sca8er |
2:5853bf44af9f
|
2440
|
ULONG Waiters;
|
sca8er |
2:5853bf44af9f
|
2441
|
ULONG Busy;
|
sca8er |
2:5853bf44af9f
|
2442
|
PVOID LastLock;
|
sca8er |
2:5853bf44af9f
|
2443
|
KEVENT Lock;
|
sca8er |
2:5853bf44af9f
|
2444
|
KEVENT Event;
|
sca8er |
2:5853bf44af9f
|
2445
|
PIO_COMPLETION_CONTEXT CompletionContext;
|
sca8er |
2:5853bf44af9f
|
2446
|
} FILE_OBJECT;
|
sca8er |
2:5853bf44af9f
|
2447
|
typedef struct _FILE_OBJECT *PFILE_OBJECT;
|
sca8er |
2:5853bf44af9f
|
2448
|
|
sca8er |
2:5853bf44af9f
|
2449
|
typedef enum _SECURITY_OPERATION_CODE {
|
sca8er |
2:5853bf44af9f
|
2450
|
SetSecurityDescriptor,
|
sca8er |
2:5853bf44af9f
|
2451
|
QuerySecurityDescriptor,
|
sca8er |
2:5853bf44af9f
|
2452
|
DeleteSecurityDescriptor,
|
sca8er |
2:5853bf44af9f
|
2453
|
AssignSecurityDescriptor
|
sca8er |
2:5853bf44af9f
|
2454
|
} SECURITY_OPERATION_CODE, *PSECURITY_OPERATION_CODE;
|
sca8er |
2:5853bf44af9f
|
2455
|
|
sca8er |
2:5853bf44af9f
|
2456
|
#define INITIAL_PRIVILEGE_COUNT 3
|
sca8er |
2:5853bf44af9f
|
2457
|
|
sca8er |
2:5853bf44af9f
|
2458
|
typedef struct _INITIAL_PRIVILEGE_SET {
|
sca8er |
2:5853bf44af9f
|
2459
|
ULONG PrivilegeCount;
|
sca8er |
2:5853bf44af9f
|
2460
|
ULONG Control;
|
sca8er |
2:5853bf44af9f
|
2461
|
LUID_AND_ATTRIBUTES Privilege[INITIAL_PRIVILEGE_COUNT];
|
sca8er |
2:5853bf44af9f
|
2462
|
} INITIAL_PRIVILEGE_SET, * PINITIAL_PRIVILEGE_SET;
|
sca8er |
2:5853bf44af9f
|
2463
|
|
sca8er |
2:5853bf44af9f
|
2464
|
typedef struct _SECURITY_SUBJECT_CONTEXT {
|
sca8er |
2:5853bf44af9f
|
2465
|
PACCESS_TOKEN ClientToken;
|
sca8er |
2:5853bf44af9f
|
2466
|
SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;
|
sca8er |
2:5853bf44af9f
|
2467
|
PACCESS_TOKEN PrimaryToken;
|
sca8er |
2:5853bf44af9f
|
2468
|
PVOID ProcessAuditId;
|
sca8er |
2:5853bf44af9f
|
2469
|
} SECURITY_SUBJECT_CONTEXT, *PSECURITY_SUBJECT_CONTEXT;
|
sca8er |
2:5853bf44af9f
|
2470
|
|
sca8er |
2:5853bf44af9f
|
2471
|
#include <pshpack4.h>
|
sca8er |
2:5853bf44af9f
|
2472
|
typedef struct _ACCESS_STATE {
|
sca8er |
2:5853bf44af9f
|
2473
|
LUID OperationID;
|
sca8er |
2:5853bf44af9f
|
2474
|
BOOLEAN SecurityEvaluated;
|
sca8er |
2:5853bf44af9f
|
2475
|
BOOLEAN GenerateAudit;
|
sca8er |
2:5853bf44af9f
|
2476
|
BOOLEAN GenerateOnClose;
|
sca8er |
2:5853bf44af9f
|
2477
|
BOOLEAN PrivilegesAllocated;
|
sca8er |
2:5853bf44af9f
|
2478
|
ULONG Flags;
|
sca8er |
2:5853bf44af9f
|
2479
|
ACCESS_MASK RemainingDesiredAccess;
|
sca8er |
2:5853bf44af9f
|
2480
|
ACCESS_MASK PreviouslyGrantedAccess;
|
sca8er |
2:5853bf44af9f
|
2481
|
ACCESS_MASK OriginalDesiredAccess;
|
sca8er |
2:5853bf44af9f
|
2482
|
SECURITY_SUBJECT_CONTEXT SubjectSecurityContext;
|
sca8er |
2:5853bf44af9f
|
2483
|
PSECURITY_DESCRIPTOR SecurityDescriptor;
|
sca8er |
2:5853bf44af9f
|
2484
|
PVOID AuxData;
|
sca8er |
2:5853bf44af9f
|
2485
|
union {
|
sca8er |
2:5853bf44af9f
|
2486
|
INITIAL_PRIVILEGE_SET InitialPrivilegeSet;
|
sca8er |
2:5853bf44af9f
|
2487
|
PRIVILEGE_SET PrivilegeSet;
|
sca8er |
2:5853bf44af9f
|
2488
|
} Privileges;
|
sca8er |
2:5853bf44af9f
|
2489
|
|
sca8er |
2:5853bf44af9f
|
2490
|
BOOLEAN AuditPrivileges;
|
sca8er |
2:5853bf44af9f
|
2491
|
UNICODE_STRING ObjectName;
|
sca8er |
2:5853bf44af9f
|
2492
|
UNICODE_STRING ObjectTypeName;
|
sca8er |
2:5853bf44af9f
|
2493
|
} ACCESS_STATE, *PACCESS_STATE;
|
sca8er |
2:5853bf44af9f
|
2494
|
#include <poppack.h>
|
sca8er |
2:5853bf44af9f
|
2495
|
|
sca8er |
2:5853bf44af9f
|
2496
|
typedef struct _IO_SECURITY_CONTEXT {
|
sca8er |
2:5853bf44af9f
|
2497
|
PSECURITY_QUALITY_OF_SERVICE SecurityQos;
|
sca8er |
2:5853bf44af9f
|
2498
|
PACCESS_STATE AccessState;
|
sca8er |
2:5853bf44af9f
|
2499
|
ACCESS_MASK DesiredAccess;
|
sca8er |
2:5853bf44af9f
|
2500
|
ULONG FullCreateOptions;
|
sca8er |
2:5853bf44af9f
|
2501
|
} IO_SECURITY_CONTEXT, *PIO_SECURITY_CONTEXT;
|
sca8er |
2:5853bf44af9f
|
2502
|
|
sca8er |
2:5853bf44af9f
|
2503
|
struct _IO_CSQ;
|
sca8er |
2:5853bf44af9f
|
2504
|
|
sca8er |
2:5853bf44af9f
|
2505
|
typedef struct _IO_CSQ_IRP_CONTEXT {
|
sca8er |
2:5853bf44af9f
|
2506
|
ULONG Type;
|
sca8er |
2:5853bf44af9f
|
2507
|
struct _IRP *Irp;
|
sca8er |
2:5853bf44af9f
|
2508
|
struct _IO_CSQ *Csq;
|
sca8er |
2:5853bf44af9f
|
2509
|
} IO_CSQ_IRP_CONTEXT, *PIO_CSQ_IRP_CONTEXT;
|
sca8er |
2:5853bf44af9f
|
2510
|
|
sca8er |
2:5853bf44af9f
|
2511
|
typedef VOID DDKAPI
|
sca8er |
2:5853bf44af9f
|
2512
|
(*PIO_CSQ_INSERT_IRP)(
|
sca8er |
2:5853bf44af9f
|
2513
|
/*IN*/ struct _IO_CSQ *Csq,
|
sca8er |
2:5853bf44af9f
|
2514
|
/*IN*/ PIRP Irp);
|
sca8er |
2:5853bf44af9f
|
2515
|
|
sca8er |
2:5853bf44af9f
|
2516
|
typedef VOID DDKAPI
|
sca8er |
2:5853bf44af9f
|
2517
|
(*PIO_CSQ_REMOVE_IRP)(
|
sca8er |
2:5853bf44af9f
|
2518
|
/*IN*/ struct _IO_CSQ *Csq,
|
sca8er |
2:5853bf44af9f
|
2519
|
/*IN*/ PIRP Irp);
|
sca8er |
2:5853bf44af9f
|
2520
|
|
sca8er |
2:5853bf44af9f
|
2521
|
typedef PIRP DDKAPI
|
sca8er |
2:5853bf44af9f
|
2522
|
(*PIO_CSQ_PEEK_NEXT_IRP)(
|
sca8er |
2:5853bf44af9f
|
2523
|
/*IN*/ struct _IO_CSQ *Csq,
|
sca8er |
2:5853bf44af9f
|
2524
|
/*IN*/ PIRP Irp,
|
sca8er |
2:5853bf44af9f
|
2525
|
/*IN*/ PVOID PeekContext);
|
sca8er |
2:5853bf44af9f
|
2526
|
|
sca8er |
2:5853bf44af9f
|
2527
|
typedef VOID DDKAPI
|
sca8er |
2:5853bf44af9f
|
2528
|
(*PIO_CSQ_ACQUIRE_LOCK)(
|
sca8er |
2:5853bf44af9f
|
2529
|
/*IN*/ struct _IO_CSQ *Csq,
|
sca8er |
2:5853bf44af9f
|
2530
|
/*OUT*/ PKIRQL Irql);
|
sca8er |
2:5853bf44af9f
|
2531
|
|
sca8er |
2:5853bf44af9f
|
2532
|
typedef VOID DDKAPI
|
sca8er |
2:5853bf44af9f
|
2533
|
(*PIO_CSQ_RELEASE_LOCK)(
|
sca8er |
2:5853bf44af9f
|
2534
|
/*IN*/ struct _IO_CSQ *Csq,
|
sca8er |
2:5853bf44af9f
|
2535
|
/*IN*/ KIRQL Irql);
|
sca8er |
2:5853bf44af9f
|
2536
|
|
sca8er |
2:5853bf44af9f
|
2537
|
typedef VOID DDKAPI
|
sca8er |
2:5853bf44af9f
|
2538
|
(*PIO_CSQ_COMPLETE_CANCELED_IRP)(
|
sca8er |
2:5853bf44af9f
|
2539
|
/*IN*/ struct _IO_CSQ *Csq,
|
sca8er |
2:5853bf44af9f
|
2540
|
/*IN*/ PIRP Irp);
|
sca8er |
2:5853bf44af9f
|
2541
|
|
sca8er |
2:5853bf44af9f
|
2542
|
typedef struct _IO_CSQ {
|
sca8er |
2:5853bf44af9f
|
2543
|
ULONG Type;
|
sca8er |
2:5853bf44af9f
|
2544
|
PIO_CSQ_INSERT_IRP CsqInsertIrp;
|
sca8er |
2:5853bf44af9f
|
2545
|
PIO_CSQ_REMOVE_IRP CsqRemoveIrp;
|
sca8er |
2:5853bf44af9f
|
2546
|
PIO_CSQ_PEEK_NEXT_IRP CsqPeekNextIrp;
|
sca8er |
2:5853bf44af9f
|
2547
|
PIO_CSQ_ACQUIRE_LOCK CsqAcquireLock;
|
sca8er |
2:5853bf44af9f
|
2548
|
PIO_CSQ_RELEASE_LOCK CsqReleaseLock;
|
sca8er |
2:5853bf44af9f
|
2549
|
PIO_CSQ_COMPLETE_CANCELED_IRP CsqCompleteCanceledIrp;
|
sca8er |
2:5853bf44af9f
|
2550
|
PVOID ReservePointer;
|
sca8er |
2:5853bf44af9f
|
2551
|
} IO_CSQ, *PIO_CSQ;
|
sca8er |
2:5853bf44af9f
|
2552
|
|
sca8er |
2:5853bf44af9f
|
2553
|
#include <pshpack4.h>
|
sca8er |
2:5853bf44af9f
|
2554
|
typedef struct _IO_STACK_LOCATION {
|
sca8er |
2:5853bf44af9f
|
2555
|
UCHAR MajorFunction;
|
sca8er |
2:5853bf44af9f
|
2556
|
UCHAR MinorFunction;
|
sca8er |
2:5853bf44af9f
|
2557
|
UCHAR Flags;
|
sca8er |
2:5853bf44af9f
|
2558
|
UCHAR Control;
|
sca8er |
2:5853bf44af9f
|
2559
|
union {
|
sca8er |
2:5853bf44af9f
|
2560
|
struct {
|
sca8er |
2:5853bf44af9f
|
2561
|
PIO_SECURITY_CONTEXT SecurityContext;
|
sca8er |
2:5853bf44af9f
|
2562
|
ULONG Options;
|
sca8er |
2:5853bf44af9f
|
2563
|
USHORT POINTER_ALIGNMENT FileAttributes;
|
sca8er |
2:5853bf44af9f
|
2564
|
USHORT ShareAccess;
|
sca8er |
2:5853bf44af9f
|
2565
|
ULONG POINTER_ALIGNMENT EaLength;
|
sca8er |
2:5853bf44af9f
|
2566
|
} Create;
|
sca8er |
2:5853bf44af9f
|
2567
|
struct {
|
sca8er |
2:5853bf44af9f
|
2568
|
ULONG Length;
|
sca8er |
2:5853bf44af9f
|
2569
|
ULONG POINTER_ALIGNMENT Key;
|
sca8er |
2:5853bf44af9f
|
2570
|
LARGE_INTEGER ByteOffset;
|
sca8er |
2:5853bf44af9f
|
2571
|
} Read;
|
sca8er |
2:5853bf44af9f
|
2572
|
struct {
|
sca8er |
2:5853bf44af9f
|
2573
|
ULONG Length;
|
sca8er |
2:5853bf44af9f
|
2574
|
ULONG POINTER_ALIGNMENT Key;
|
sca8er |
2:5853bf44af9f
|
2575
|
LARGE_INTEGER ByteOffset;
|
sca8er |
2:5853bf44af9f
|
2576
|
} Write;
|
sca8er |
2:5853bf44af9f
|
2577
|
struct {
|
sca8er |
2:5853bf44af9f
|
2578
|
ULONG Length;
|
sca8er |
2:5853bf44af9f
|
2579
|
FILE_INFORMATION_CLASS POINTER_ALIGNMENT FileInformationClass;
|
sca8er |
2:5853bf44af9f
|
2580
|
} QueryFile;
|
sca8er |
2:5853bf44af9f
|
2581
|
struct {
|
sca8er |
2:5853bf44af9f
|
2582
|
ULONG Length;
|
sca8er |
2:5853bf44af9f
|
2583
|
FILE_INFORMATION_CLASS POINTER_ALIGNMENT FileInformationClass;
|
sca8er |
2:5853bf44af9f
|
2584
|
PFILE_OBJECT FileObject;
|
sca8er |
2:5853bf44af9f
|
2585
|
_ANONYMOUS_UNION union {
|
sca8er |
2:5853bf44af9f
|
2586
|
_ANONYMOUS_STRUCT struct {
|
sca8er |
2:5853bf44af9f
|
2587
|
BOOLEAN ReplaceIfExists;
|
sca8er |
2:5853bf44af9f
|
2588
|
BOOLEAN AdvanceOnly;
|
sca8er |
2:5853bf44af9f
|
2589
|
} DUMMYSTRUCTNAME;
|
sca8er |
2:5853bf44af9f
|
2590
|
ULONG ClusterCount;
|
sca8er |
2:5853bf44af9f
|
2591
|
HANDLE DeleteHandle;
|
sca8er |
2:5853bf44af9f
|
2592
|
} DUMMYUNIONNAME;
|
sca8er |
2:5853bf44af9f
|
2593
|
} SetFile;
|
sca8er |
2:5853bf44af9f
|
2594
|
struct {
|
sca8er |
2:5853bf44af9f
|
2595
|
ULONG Length;
|
sca8er |
2:5853bf44af9f
|
2596
|
FS_INFORMATION_CLASS POINTER_ALIGNMENT FsInformationClass;
|
sca8er |
2:5853bf44af9f
|
2597
|
} QueryVolume;
|
sca8er |
2:5853bf44af9f
|
2598
|
struct {
|
sca8er |
2:5853bf44af9f
|
2599
|
ULONG OutputBufferLength;
|
sca8er |
2:5853bf44af9f
|
2600
|
ULONG POINTER_ALIGNMENT InputBufferLength;
|
sca8er |
2:5853bf44af9f
|
2601
|
ULONG POINTER_ALIGNMENT IoControlCode;
|
sca8er |
2:5853bf44af9f
|
2602
|
PVOID Type3InputBuffer;
|
sca8er |
2:5853bf44af9f
|
2603
|
} DeviceIoControl;
|
sca8er |
2:5853bf44af9f
|
2604
|
struct {
|
sca8er |
2:5853bf44af9f
|
2605
|
SECURITY_INFORMATION SecurityInformation;
|
sca8er |
2:5853bf44af9f
|
2606
|
ULONG POINTER_ALIGNMENT Length;
|
sca8er |
2:5853bf44af9f
|
2607
|
} QuerySecurity;
|
sca8er |
2:5853bf44af9f
|
2608
|
struct {
|
sca8er |
2:5853bf44af9f
|
2609
|
SECURITY_INFORMATION SecurityInformation;
|
sca8er |
2:5853bf44af9f
|
2610
|
PSECURITY_DESCRIPTOR SecurityDescriptor;
|
sca8er |
2:5853bf44af9f
|
2611
|
} SetSecurity;
|
sca8er |
2:5853bf44af9f
|
2612
|
struct {
|
sca8er |
2:5853bf44af9f
|
2613
|
PVPB Vpb;
|
sca8er |
2:5853bf44af9f
|
2614
|
PDEVICE_OBJECT DeviceObject;
|
sca8er |
2:5853bf44af9f
|
2615
|
} MountVolume;
|
sca8er |
2:5853bf44af9f
|
2616
|
struct {
|
sca8er |
2:5853bf44af9f
|
2617
|
PVPB Vpb;
|
sca8er |
2:5853bf44af9f
|
2618
|
PDEVICE_OBJECT DeviceObject;
|
sca8er |
2:5853bf44af9f
|
2619
|
} VerifyVolume;
|
sca8er |
2:5853bf44af9f
|
2620
|
struct {
|
sca8er |
2:5853bf44af9f
|
2621
|
struct _SCSI_REQUEST_BLOCK *Srb;
|
sca8er |
2:5853bf44af9f
|
2622
|
} Scsi;
|
sca8er |
2:5853bf44af9f
|
2623
|
struct {
|
sca8er |
2:5853bf44af9f
|
2624
|
DEVICE_RELATION_TYPE Type;
|
sca8er |
2:5853bf44af9f
|
2625
|
} QueryDeviceRelations;
|
sca8er |
2:5853bf44af9f
|
2626
|
struct {
|
sca8er |
2:5853bf44af9f
|
2627
|
CONST GUID *InterfaceType;
|
sca8er |
2:5853bf44af9f
|
2628
|
USHORT Size;
|
sca8er |
2:5853bf44af9f
|
2629
|
USHORT Version;
|
sca8er |
2:5853bf44af9f
|
2630
|
PINTERFACE Interface;
|
sca8er |
2:5853bf44af9f
|
2631
|
PVOID InterfaceSpecificData;
|
sca8er |
2:5853bf44af9f
|
2632
|
} QueryInterface;
|
sca8er |
2:5853bf44af9f
|
2633
|
struct {
|
sca8er |
2:5853bf44af9f
|
2634
|
PDEVICE_CAPABILITIES Capabilities;
|
sca8er |
2:5853bf44af9f
|
2635
|
} DeviceCapabilities;
|
sca8er |
2:5853bf44af9f
|
2636
|
struct {
|
sca8er |
2:5853bf44af9f
|
2637
|
PIO_RESOURCE_REQUIREMENTS_LIST IoResourceRequirementList;
|
sca8er |
2:5853bf44af9f
|
2638
|
} FilterResourceRequirements;
|
sca8er |
2:5853bf44af9f
|
2639
|
struct {
|
sca8er |
2:5853bf44af9f
|
2640
|
ULONG WhichSpace;
|
sca8er |
2:5853bf44af9f
|
2641
|
PVOID Buffer;
|
sca8er |
2:5853bf44af9f
|
2642
|
ULONG Offset;
|
sca8er |
2:5853bf44af9f
|
2643
|
ULONG POINTER_ALIGNMENT Length;
|
sca8er |
2:5853bf44af9f
|
2644
|
} ReadWriteConfig;
|
sca8er |
2:5853bf44af9f
|
2645
|
struct {
|
sca8er |
2:5853bf44af9f
|
2646
|
BOOLEAN Lock;
|
sca8er |
2:5853bf44af9f
|
2647
|
} SetLock;
|
sca8er |
2:5853bf44af9f
|
2648
|
struct {
|
sca8er |
2:5853bf44af9f
|
2649
|
BUS_QUERY_ID_TYPE IdType;
|
sca8er |
2:5853bf44af9f
|
2650
|
} QueryId;
|
sca8er |
2:5853bf44af9f
|
2651
|
struct {
|
sca8er |
2:5853bf44af9f
|
2652
|
DEVICE_TEXT_TYPE DeviceTextType;
|
sca8er |
2:5853bf44af9f
|
2653
|
LCID POINTER_ALIGNMENT LocaleId;
|
sca8er |
2:5853bf44af9f
|
2654
|
} QueryDeviceText;
|
sca8er |
2:5853bf44af9f
|
2655
|
struct {
|
sca8er |
2:5853bf44af9f
|
2656
|
BOOLEAN InPath;
|
sca8er |
2:5853bf44af9f
|
2657
|
BOOLEAN Reserved[3];
|
sca8er |
2:5853bf44af9f
|
2658
|
DEVICE_USAGE_NOTIFICATION_TYPE POINTER_ALIGNMENT Type;
|
sca8er |
2:5853bf44af9f
|
2659
|
} UsageNotification;
|
sca8er |
2:5853bf44af9f
|
2660
|
struct {
|
sca8er |
2:5853bf44af9f
|
2661
|
SYSTEM_POWER_STATE PowerState;
|
sca8er |
2:5853bf44af9f
|
2662
|
} WaitWake;
|
sca8er |
2:5853bf44af9f
|
2663
|
struct {
|
sca8er |
2:5853bf44af9f
|
2664
|
PPOWER_SEQUENCE PowerSequence;
|
sca8er |
2:5853bf44af9f
|
2665
|
} PowerSequence;
|
sca8er |
2:5853bf44af9f
|
2666
|
struct {
|
sca8er |
2:5853bf44af9f
|
2667
|
ULONG SystemContext;
|
sca8er |
2:5853bf44af9f
|
2668
|
POWER_STATE_TYPE POINTER_ALIGNMENT Type;
|
sca8er |
2:5853bf44af9f
|
2669
|
POWER_STATE POINTER_ALIGNMENT State;
|
sca8er |
2:5853bf44af9f
|
2670
|
POWER_ACTION POINTER_ALIGNMENT ShutdownType;
|
sca8er |
2:5853bf44af9f
|
2671
|
} Power;
|
sca8er |
2:5853bf44af9f
|
2672
|
struct {
|
sca8er |
2:5853bf44af9f
|
2673
|
PCM_RESOURCE_LIST AllocatedResources;
|
sca8er |
2:5853bf44af9f
|
2674
|
PCM_RESOURCE_LIST AllocatedResourcesTranslated;
|
sca8er |
2:5853bf44af9f
|
2675
|
} StartDevice;
|
sca8er |
2:5853bf44af9f
|
2676
|
struct {
|
sca8er |
2:5853bf44af9f
|
2677
|
ULONG_PTR ProviderId;
|
sca8er |
2:5853bf44af9f
|
2678
|
PVOID DataPath;
|
sca8er |
2:5853bf44af9f
|
2679
|
ULONG BufferSize;
|
sca8er |
2:5853bf44af9f
|
2680
|
PVOID Buffer;
|
sca8er |
2:5853bf44af9f
|
2681
|
} WMI;
|
sca8er |
2:5853bf44af9f
|
2682
|
struct {
|
sca8er |
2:5853bf44af9f
|
2683
|
PVOID Argument1;
|
sca8er |
2:5853bf44af9f
|
2684
|
PVOID Argument2;
|
sca8er |
2:5853bf44af9f
|
2685
|
PVOID Argument3;
|
sca8er |
2:5853bf44af9f
|
2686
|
PVOID Argument4;
|
sca8er |
2:5853bf44af9f
|
2687
|
} Others;
|
sca8er |
2:5853bf44af9f
|
2688
|
} Parameters;
|
sca8er |
2:5853bf44af9f
|
2689
|
PDEVICE_OBJECT DeviceObject;
|
sca8er |
2:5853bf44af9f
|
2690
|
PFILE_OBJECT FileObject;
|
sca8er |
2:5853bf44af9f
|
2691
|
PIO_COMPLETION_ROUTINE CompletionRoutine;
|
sca8er |
2:5853bf44af9f
|
2692
|
PVOID Context;
|
sca8er |
2:5853bf44af9f
|
2693
|
} IO_STACK_LOCATION, *PIO_STACK_LOCATION;
|
sca8er |
2:5853bf44af9f
|
2694
|
#include <poppack.h>
|
sca8er |
2:5853bf44af9f
|
2695
|
|
sca8er |
2:5853bf44af9f
|
2696
|
/* IO_STACK_LOCATION.Control */
|
sca8er |
2:5853bf44af9f
|
2697
|
|
sca8er |
2:5853bf44af9f
|
2698
|
#define SL_PENDING_RETURNED 0x01
|
sca8er |
2:5853bf44af9f
|
2699
|
#define SL_INVOKE_ON_CANCEL 0x20
|
sca8er |
2:5853bf44af9f
|
2700
|
#define SL_INVOKE_ON_SUCCESS 0x40
|
sca8er |
2:5853bf44af9f
|
2701
|
#define SL_INVOKE_ON_ERROR 0x80
|
sca8er |
2:5853bf44af9f
|
2702
|
|
sca8er |
2:5853bf44af9f
|
2703
|
typedef enum _KEY_INFORMATION_CLASS {
|
sca8er |
2:5853bf44af9f
|
2704
|
KeyBasicInformation,
|
sca8er |
2:5853bf44af9f
|
2705
|
KeyNodeInformation,
|
sca8er |
2:5853bf44af9f
|
2706
|
KeyFullInformation,
|
sca8er |
2:5853bf44af9f
|
2707
|
KeyNameInformation,
|
sca8er |
2:5853bf44af9f
|
2708
|
KeyCachedInformation,
|
sca8er |
2:5853bf44af9f
|
2709
|
KeyFlagsInformation
|
sca8er |
2:5853bf44af9f
|
2710
|
} KEY_INFORMATION_CLASS;
|
sca8er |
2:5853bf44af9f
|
2711
|
|
sca8er |
2:5853bf44af9f
|
2712
|
typedef struct _KEY_BASIC_INFORMATION {
|
sca8er |
2:5853bf44af9f
|
2713
|
LARGE_INTEGER LastWriteTime;
|
sca8er |
2:5853bf44af9f
|
2714
|
ULONG TitleIndex;
|
sca8er |
2:5853bf44af9f
|
2715
|
ULONG NameLength;
|
sca8er |
2:5853bf44af9f
|
2716
|
WCHAR Name[1];
|
sca8er |
2:5853bf44af9f
|
2717
|
} KEY_BASIC_INFORMATION, *PKEY_BASIC_INFORMATION;
|
sca8er |
2:5853bf44af9f
|
2718
|
|
sca8er |
2:5853bf44af9f
|
2719
|
typedef struct _KEY_FULL_INFORMATION {
|
sca8er |
2:5853bf44af9f
|
2720
|
LARGE_INTEGER LastWriteTime;
|
sca8er |
2:5853bf44af9f
|
2721
|
ULONG TitleIndex;
|
sca8er |
2:5853bf44af9f
|
2722
|
ULONG ClassOffset;
|
sca8er |
2:5853bf44af9f
|
2723
|
ULONG ClassLength;
|
sca8er |
2:5853bf44af9f
|
2724
|
ULONG SubKeys;
|
sca8er |
2:5853bf44af9f
|
2725
|
ULONG MaxNameLen;
|
sca8er |
2:5853bf44af9f
|
2726
|
ULONG MaxClassLen;
|
sca8er |
2:5853bf44af9f
|
2727
|
ULONG Values;
|
sca8er |
2:5853bf44af9f
|
2728
|
ULONG MaxValueNameLen;
|
sca8er |
2:5853bf44af9f
|
2729
|
ULONG MaxValueDataLen;
|
sca8er |
2:5853bf44af9f
|
2730
|
WCHAR Class[1];
|
sca8er |
2:5853bf44af9f
|
2731
|
} KEY_FULL_INFORMATION, *PKEY_FULL_INFORMATION;
|
sca8er |
2:5853bf44af9f
|
2732
|
|
sca8er |
2:5853bf44af9f
|
2733
|
typedef struct _KEY_NODE_INFORMATION {
|
sca8er |
2:5853bf44af9f
|
2734
|
LARGE_INTEGER LastWriteTime;
|
sca8er |
2:5853bf44af9f
|
2735
|
ULONG TitleIndex;
|
sca8er |
2:5853bf44af9f
|
2736
|
ULONG ClassOffset;
|
sca8er |
2:5853bf44af9f
|
2737
|
ULONG ClassLength;
|
sca8er |
2:5853bf44af9f
|
2738
|
ULONG NameLength;
|
sca8er |
2:5853bf44af9f
|
2739
|
WCHAR Name[1];
|
sca8er |
2:5853bf44af9f
|
2740
|
} KEY_NODE_INFORMATION, *PKEY_NODE_INFORMATION;
|
sca8er |
2:5853bf44af9f
|
2741
|
|
sca8er |
2:5853bf44af9f
|
2742
|
typedef struct _KEY_VALUE_BASIC_INFORMATION {
|
sca8er |
2:5853bf44af9f
|
2743
|
ULONG TitleIndex;
|
sca8er |
2:5853bf44af9f
|
2744
|
ULONG Type;
|
sca8er |
2:5853bf44af9f
|
2745
|
ULONG NameLength;
|
sca8er |
2:5853bf44af9f
|
2746
|
WCHAR Name[1];
|
sca8er |
2:5853bf44af9f
|
2747
|
} KEY_VALUE_BASIC_INFORMATION, *PKEY_VALUE_BASIC_INFORMATION;
|
sca8er |
2:5853bf44af9f
|
2748
|
|
sca8er |
2:5853bf44af9f
|
2749
|
typedef struct _KEY_VALUE_FULL_INFORMATION {
|
sca8er |
2:5853bf44af9f
|
2750
|
ULONG TitleIndex;
|
sca8er |
2:5853bf44af9f
|
2751
|
ULONG Type;
|
sca8er |
2:5853bf44af9f
|
2752
|
ULONG DataOffset;
|
sca8er |
2:5853bf44af9f
|
2753
|
ULONG DataLength;
|
sca8er |
2:5853bf44af9f
|
2754
|
ULONG NameLength;
|
sca8er |
2:5853bf44af9f
|
2755
|
WCHAR Name[1];
|
sca8er |
2:5853bf44af9f
|
2756
|
} KEY_VALUE_FULL_INFORMATION, *PKEY_VALUE_FULL_INFORMATION;
|
sca8er |
2:5853bf44af9f
|
2757
|
|
sca8er |
2:5853bf44af9f
|
2758
|
typedef struct _KEY_VALUE_PARTIAL_INFORMATION {
|
sca8er |
2:5853bf44af9f
|
2759
|
ULONG TitleIndex;
|
sca8er |
2:5853bf44af9f
|
2760
|
ULONG Type;
|
sca8er |
2:5853bf44af9f
|
2761
|
ULONG DataLength;
|
sca8er |
2:5853bf44af9f
|
2762
|
UCHAR Data[1];
|
sca8er |
2:5853bf44af9f
|
2763
|
} KEY_VALUE_PARTIAL_INFORMATION, *PKEY_VALUE_PARTIAL_INFORMATION;
|
sca8er |
2:5853bf44af9f
|
2764
|
|
sca8er |
2:5853bf44af9f
|
2765
|
typedef struct _KEY_VALUE_PARTIAL_INFORMATION_ALIGN64 {
|
sca8er |
2:5853bf44af9f
|
2766
|
ULONG Type;
|
sca8er |
2:5853bf44af9f
|
2767
|
ULONG DataLength;
|
sca8er |
2:5853bf44af9f
|
2768
|
UCHAR Data[1];
|
sca8er |
2:5853bf44af9f
|
2769
|
} KEY_VALUE_PARTIAL_INFORMATION_ALIGN64, *PKEY_VALUE_PARTIAL_INFORMATION_ALIGN64;
|
sca8er |
2:5853bf44af9f
|
2770
|
|
sca8er |
2:5853bf44af9f
|
2771
|
typedef struct _KEY_VALUE_ENTRY {
|
sca8er |
2:5853bf44af9f
|
2772
|
PUNICODE_STRING ValueName;
|
sca8er |
2:5853bf44af9f
|
2773
|
ULONG DataLength;
|
sca8er |
2:5853bf44af9f
|
2774
|
ULONG DataOffset;
|
sca8er |
2:5853bf44af9f
|
2775
|
ULONG Type;
|
sca8er |
2:5853bf44af9f
|
2776
|
} KEY_VALUE_ENTRY, *PKEY_VALUE_ENTRY;
|
sca8er |
2:5853bf44af9f
|
2777
|
|
sca8er |
2:5853bf44af9f
|
2778
|
typedef enum _KEY_VALUE_INFORMATION_CLASS {
|
sca8er |
2:5853bf44af9f
|
2779
|
KeyValueBasicInformation,
|
sca8er |
2:5853bf44af9f
|
2780
|
KeyValueFullInformation,
|
sca8er |
2:5853bf44af9f
|
2781
|
KeyValuePartialInformation,
|
sca8er |
2:5853bf44af9f
|
2782
|
KeyValueFullInformationAlign64,
|
sca8er |
2:5853bf44af9f
|
2783
|
KeyValuePartialInformationAlign64
|
sca8er |
2:5853bf44af9f
|
2784
|
} KEY_VALUE_INFORMATION_CLASS;
|
sca8er |
2:5853bf44af9f
|
2785
|
|
sca8er |
2:5853bf44af9f
|
2786
|
/* KEY_VALUE_Xxx.Type */
|
sca8er |
2:5853bf44af9f
|
2787
|
|
sca8er |
2:5853bf44af9f
|
2788
|
#define REG_NONE 0
|
sca8er |
2:5853bf44af9f
|
2789
|
#define REG_SZ 1
|
sca8er |
2:5853bf44af9f
|
2790
|
#define REG_EXPAND_SZ 2
|
sca8er |
2:5853bf44af9f
|
2791
|
#define REG_BINARY 3
|
sca8er |
2:5853bf44af9f
|
2792
|
#define REG_DWORD 4
|
sca8er |
2:5853bf44af9f
|
2793
|
#define REG_DWORD_LITTLE_ENDIAN 4
|
sca8er |
2:5853bf44af9f
|
2794
|
#define REG_DWORD_BIG_ENDIAN 5
|
sca8er |
2:5853bf44af9f
|
2795
|
#define REG_LINK 6
|
sca8er |
2:5853bf44af9f
|
2796
|
#define REG_MULTI_SZ 7
|
sca8er |
2:5853bf44af9f
|
2797
|
#define REG_RESOURCE_LIST 8
|
sca8er |
2:5853bf44af9f
|
2798
|
#define REG_FULL_RESOURCE_DESCRIPTOR 9
|
sca8er |
2:5853bf44af9f
|
2799
|
#define REG_RESOURCE_REQUIREMENTS_LIST 10
|
sca8er |
2:5853bf44af9f
|
2800
|
#define REG_QWORD 11
|
sca8er |
2:5853bf44af9f
|
2801
|
#define REG_QWORD_LITTLE_ENDIAN 11
|
sca8er |
2:5853bf44af9f
|
2802
|
|
sca8er |
2:5853bf44af9f
|
2803
|
#define PCI_TYPE0_ADDRESSES 6
|
sca8er |
2:5853bf44af9f
|
2804
|
#define PCI_TYPE1_ADDRESSES 2
|
sca8er |
2:5853bf44af9f
|
2805
|
#define PCI_TYPE2_ADDRESSES 5
|
sca8er |
2:5853bf44af9f
|
2806
|
|
sca8er |
2:5853bf44af9f
|
2807
|
typedef struct _PCI_COMMON_CONFIG {
|
sca8er |
2:5853bf44af9f
|
2808
|
USHORT VendorID;
|
sca8er |
2:5853bf44af9f
|
2809
|
USHORT DeviceID;
|
sca8er |
2:5853bf44af9f
|
2810
|
USHORT Command;
|
sca8er |
2:5853bf44af9f
|
2811
|
USHORT Status;
|
sca8er |
2:5853bf44af9f
|
2812
|
UCHAR RevisionID;
|
sca8er |
2:5853bf44af9f
|
2813
|
UCHAR ProgIf;
|
sca8er |
2:5853bf44af9f
|
2814
|
UCHAR SubClass;
|
sca8er |
2:5853bf44af9f
|
2815
|
UCHAR BaseClass;
|
sca8er |
2:5853bf44af9f
|
2816
|
UCHAR CacheLineSize;
|
sca8er |
2:5853bf44af9f
|
2817
|
UCHAR LatencyTimer;
|
sca8er |
2:5853bf44af9f
|
2818
|
UCHAR HeaderType;
|
sca8er |
2:5853bf44af9f
|
2819
|
UCHAR BIST;
|
sca8er |
2:5853bf44af9f
|
2820
|
union {
|
sca8er |
2:5853bf44af9f
|
2821
|
struct _PCI_HEADER_TYPE_0 {
|
sca8er |
2:5853bf44af9f
|
2822
|
ULONG BaseAddresses[PCI_TYPE0_ADDRESSES];
|
sca8er |
2:5853bf44af9f
|
2823
|
ULONG CIS;
|
sca8er |
2:5853bf44af9f
|
2824
|
USHORT SubVendorID;
|
sca8er |
2:5853bf44af9f
|
2825
|
USHORT SubSystemID;
|
sca8er |
2:5853bf44af9f
|
2826
|
ULONG ROMBaseAddress;
|
sca8er |
2:5853bf44af9f
|
2827
|
UCHAR CapabilitiesPtr;
|
sca8er |
2:5853bf44af9f
|
2828
|
UCHAR Reserved1[3];
|
sca8er |
2:5853bf44af9f
|
2829
|
ULONG Reserved2;
|
sca8er |
2:5853bf44af9f
|
2830
|
UCHAR InterruptLine;
|
sca8er |
2:5853bf44af9f
|
2831
|
UCHAR InterruptPin;
|
sca8er |
2:5853bf44af9f
|
2832
|
UCHAR MinimumGrant;
|
sca8er |
2:5853bf44af9f
|
2833
|
UCHAR MaximumLatency;
|
sca8er |
2:5853bf44af9f
|
2834
|
} type0;
|
sca8er |
2:5853bf44af9f
|
2835
|
struct _PCI_HEADER_TYPE_1 {
|
sca8er |
2:5853bf44af9f
|
2836
|
ULONG BaseAddresses[PCI_TYPE1_ADDRESSES];
|
sca8er |
2:5853bf44af9f
|
2837
|
UCHAR PrimaryBus;
|
sca8er |
2:5853bf44af9f
|
2838
|
UCHAR SecondaryBus;
|
sca8er |
2:5853bf44af9f
|
2839
|
UCHAR SubordinateBus;
|
sca8er |
2:5853bf44af9f
|
2840
|
UCHAR SecondaryLatency;
|
sca8er |
2:5853bf44af9f
|
2841
|
UCHAR IOBase;
|
sca8er |
2:5853bf44af9f
|
2842
|
UCHAR IOLimit;
|
sca8er |
2:5853bf44af9f
|
2843
|
USHORT SecondaryStatus;
|
sca8er |
2:5853bf44af9f
|
2844
|
USHORT MemoryBase;
|
sca8er |
2:5853bf44af9f
|
2845
|
USHORT MemoryLimit;
|
sca8er |
2:5853bf44af9f
|
2846
|
USHORT PrefetchBase;
|
sca8er |
2:5853bf44af9f
|
2847
|
USHORT PrefetchLimit;
|
sca8er |
2:5853bf44af9f
|
2848
|
ULONG PrefetchBaseUpper32;
|
sca8er |
2:5853bf44af9f
|
2849
|
ULONG PrefetchLimitUpper32;
|
sca8er |
2:5853bf44af9f
|
2850
|
USHORT IOBaseUpper16;
|
sca8er |
2:5853bf44af9f
|
2851
|
USHORT IOLimitUpper16;
|
sca8er |
2:5853bf44af9f
|
2852
|
UCHAR CapabilitiesPtr;
|
sca8er |
2:5853bf44af9f
|
2853
|
UCHAR Reserved1[3];
|
sca8er |
2:5853bf44af9f
|
2854
|
ULONG ROMBaseAddress;
|
sca8er |
2:5853bf44af9f
|
2855
|
UCHAR InterruptLine;
|
sca8er |
2:5853bf44af9f
|
2856
|
UCHAR InterruptPin;
|
sca8er |
2:5853bf44af9f
|
2857
|
USHORT BridgeControl;
|
sca8er |
2:5853bf44af9f
|
2858
|
} type1;
|
sca8er |
2:5853bf44af9f
|
2859
|
struct _PCI_HEADER_TYPE_2 {
|
sca8er |
2:5853bf44af9f
|
2860
|
ULONG SocketRegistersBaseAddress;
|
sca8er |
2:5853bf44af9f
|
2861
|
UCHAR CapabilitiesPtr;
|
sca8er |
2:5853bf44af9f
|
2862
|
UCHAR Reserved;
|
sca8er |
2:5853bf44af9f
|
2863
|
USHORT SecondaryStatus;
|
sca8er |
2:5853bf44af9f
|
2864
|
UCHAR PrimaryBus;
|
sca8er |
2:5853bf44af9f
|
2865
|
UCHAR SecondaryBus;
|
sca8er |
2:5853bf44af9f
|
2866
|
UCHAR SubordinateBus;
|
sca8er |
2:5853bf44af9f
|
2867
|
UCHAR SecondaryLatency;
|
sca8er |
2:5853bf44af9f
|
2868
|
struct {
|
sca8er |
2:5853bf44af9f
|
2869
|
ULONG Base;
|
sca8er |
2:5853bf44af9f
|
2870
|
ULONG Limit;
|
sca8er |
2:5853bf44af9f
|
2871
|
} Range[PCI_TYPE2_ADDRESSES - 1];
|
sca8er |
2:5853bf44af9f
|
2872
|
UCHAR InterruptLine;
|
sca8er |
2:5853bf44af9f
|
2873
|
UCHAR InterruptPin;
|
sca8er |
2:5853bf44af9f
|
2874
|
USHORT BridgeControl;
|
sca8er |
2:5853bf44af9f
|
2875
|
} type2;
|
sca8er |
2:5853bf44af9f
|
2876
|
} u;
|
sca8er |
2:5853bf44af9f
|
2877
|
UCHAR DeviceSpecific[192];
|
sca8er |
2:5853bf44af9f
|
2878
|
} PCI_COMMON_CONFIG, *PPCI_COMMON_CONFIG;
|
sca8er |
2:5853bf44af9f
|
2879
|
|
sca8er |
2:5853bf44af9f
|
2880
|
/* PCI_COMMON_CONFIG.Command */
|
sca8er |
2:5853bf44af9f
|
2881
|
|
sca8er |
2:5853bf44af9f
|
2882
|
#define PCI_ENABLE_IO_SPACE 0x0001
|
sca8er |
2:5853bf44af9f
|
2883
|
#define PCI_ENABLE_MEMORY_SPACE 0x0002
|
sca8er |
2:5853bf44af9f
|
2884
|
#define PCI_ENABLE_BUS_MASTER 0x0004
|
sca8er |
2:5853bf44af9f
|
2885
|
#define PCI_ENABLE_SPECIAL_CYCLES 0x0008
|
sca8er |
2:5853bf44af9f
|
2886
|
#define PCI_ENABLE_WRITE_AND_INVALIDATE 0x0010
|
sca8er |
2:5853bf44af9f
|
2887
|
#define PCI_ENABLE_VGA_COMPATIBLE_PALETTE 0x0020
|
sca8er |
2:5853bf44af9f
|
2888
|
#define PCI_ENABLE_PARITY 0x0040
|
sca8er |
2:5853bf44af9f
|
2889
|
#define PCI_ENABLE_WAIT_CYCLE 0x0080
|
sca8er |
2:5853bf44af9f
|
2890
|
#define PCI_ENABLE_SERR 0x0100
|
sca8er |
2:5853bf44af9f
|
2891
|
#define PCI_ENABLE_FAST_BACK_TO_BACK 0x0200
|
sca8er |
2:5853bf44af9f
|
2892
|
|
sca8er |
2:5853bf44af9f
|
2893
|
/* PCI_COMMON_CONFIG.Status */
|
sca8er |
2:5853bf44af9f
|
2894
|
|
sca8er |
2:5853bf44af9f
|
2895
|
#define PCI_STATUS_CAPABILITIES_LIST 0x0010
|
sca8er |
2:5853bf44af9f
|
2896
|
#define PCI_STATUS_66MHZ_CAPABLE 0x0020
|
sca8er |
2:5853bf44af9f
|
2897
|
#define PCI_STATUS_UDF_SUPPORTED 0x0040
|
sca8er |
2:5853bf44af9f
|
2898
|
#define PCI_STATUS_FAST_BACK_TO_BACK 0x0080
|
sca8er |
2:5853bf44af9f
|
2899
|
#define PCI_STATUS_DATA_PARITY_DETECTED 0x0100
|
sca8er |
2:5853bf44af9f
|
2900
|
#define PCI_STATUS_DEVSEL 0x0600
|
sca8er |
2:5853bf44af9f
|
2901
|
#define PCI_STATUS_SIGNALED_TARGET_ABORT 0x0800
|
sca8er |
2:5853bf44af9f
|
2902
|
#define PCI_STATUS_RECEIVED_TARGET_ABORT 0x1000
|
sca8er |
2:5853bf44af9f
|
2903
|
#define PCI_STATUS_RECEIVED_MASTER_ABORT 0x2000
|
sca8er |
2:5853bf44af9f
|
2904
|
#define PCI_STATUS_SIGNALED_SYSTEM_ERROR 0x4000
|
sca8er |
2:5853bf44af9f
|
2905
|
#define PCI_STATUS_DETECTED_PARITY_ERROR 0x8000
|
sca8er |
2:5853bf44af9f
|
2906
|
|
sca8er |
2:5853bf44af9f
|
2907
|
/* PCI_COMMON_CONFIG.HeaderType */
|
sca8er |
2:5853bf44af9f
|
2908
|
|
sca8er |
2:5853bf44af9f
|
2909
|
#define PCI_MULTIFUNCTION 0x80
|
sca8er |
2:5853bf44af9f
|
2910
|
#define PCI_DEVICE_TYPE 0x00
|
sca8er |
2:5853bf44af9f
|
2911
|
#define PCI_BRIDGE_TYPE 0x01
|
sca8er |
2:5853bf44af9f
|
2912
|
#define PCI_CARDBUS_BRIDGE_TYPE 0x02
|
sca8er |
2:5853bf44af9f
|
2913
|
|
sca8er |
2:5853bf44af9f
|
2914
|
#define PCI_CONFIGURATION_TYPE(PciData) \
|
sca8er |
2:5853bf44af9f
|
2915
|
(((PPCI_COMMON_CONFIG) (PciData))->HeaderType & ~PCI_MULTIFUNCTION)
|
sca8er |
2:5853bf44af9f
|
2916
|
|
sca8er |
2:5853bf44af9f
|
2917
|
#define PCI_MULTIFUNCTION_DEVICE(PciData) \
|
sca8er |
2:5853bf44af9f
|
2918
|
((((PPCI_COMMON_CONFIG) (PciData))->HeaderType & PCI_MULTIFUNCTION) != 0)
|
sca8er |
2:5853bf44af9f
|
2919
|
|
sca8er |
2:5853bf44af9f
|
2920
|
typedef struct _PCI_SLOT_NUMBER {
|
sca8er |
2:5853bf44af9f
|
2921
|
union {
|
sca8er |
2:5853bf44af9f
|
2922
|
struct {
|
sca8er |
2:5853bf44af9f
|
2923
|
ULONG DeviceNumber : 5;
|
sca8er |
2:5853bf44af9f
|
2924
|
ULONG FunctionNumber : 3;
|
sca8er |
2:5853bf44af9f
|
2925
|
ULONG Reserved : 24;
|
sca8er |
2:5853bf44af9f
|
2926
|
} bits;
|
sca8er |
2:5853bf44af9f
|
2927
|
ULONG AsULONG;
|
sca8er |
2:5853bf44af9f
|
2928
|
} u;
|
sca8er |
2:5853bf44af9f
|
2929
|
} PCI_SLOT_NUMBER, *PPCI_SLOT_NUMBER;
|
sca8er |
2:5853bf44af9f
|
2930
|
|
sca8er |
2:5853bf44af9f
|
2931
|
typedef enum _POOL_TYPE {
|
sca8er |
2:5853bf44af9f
|
2932
|
NonPagedPool,
|
sca8er |
2:5853bf44af9f
|
2933
|
PagedPool,
|
sca8er |
2:5853bf44af9f
|
2934
|
NonPagedPoolMustSucceed,
|
sca8er |
2:5853bf44af9f
|
2935
|
DontUseThisType,
|
sca8er |
2:5853bf44af9f
|
2936
|
NonPagedPoolCacheAligned,
|
sca8er |
2:5853bf44af9f
|
2937
|
PagedPoolCacheAligned,
|
sca8er |
2:5853bf44af9f
|
2938
|
NonPagedPoolCacheAlignedMustS,
|
sca8er |
2:5853bf44af9f
|
2939
|
MaxPoolType,
|
sca8er |
2:5853bf44af9f
|
2940
|
NonPagedPoolSession = 32,
|
sca8er |
2:5853bf44af9f
|
2941
|
PagedPoolSession,
|
sca8er |
2:5853bf44af9f
|
2942
|
NonPagedPoolMustSucceedSession,
|
sca8er |
2:5853bf44af9f
|
2943
|
DontUseThisTypeSession,
|
sca8er |
2:5853bf44af9f
|
2944
|
NonPagedPoolCacheAlignedSession,
|
sca8er |
2:5853bf44af9f
|
2945
|
PagedPoolCacheAlignedSession,
|
sca8er |
2:5853bf44af9f
|
2946
|
NonPagedPoolCacheAlignedMustSSession
|
sca8er |
2:5853bf44af9f
|
2947
|
} POOL_TYPE;
|
sca8er |
2:5853bf44af9f
|
2948
|
|
sca8er |
2:5853bf44af9f
|
2949
|
typedef enum _EX_POOL_PRIORITY {
|
sca8er |
2:5853bf44af9f
|
2950
|
LowPoolPriority,
|
sca8er |
2:5853bf44af9f
|
2951
|
LowPoolPrioritySpecialPoolOverrun = 8,
|
sca8er |
2:5853bf44af9f
|
2952
|
LowPoolPrioritySpecialPoolUnderrun = 9,
|
sca8er |
2:5853bf44af9f
|
2953
|
NormalPoolPriority = 16,
|
sca8er |
2:5853bf44af9f
|
2954
|
NormalPoolPrioritySpecialPoolOverrun = 24,
|
sca8er |
2:5853bf44af9f
|
2955
|
NormalPoolPrioritySpecialPoolUnderrun = 25,
|
sca8er |
2:5853bf44af9f
|
2956
|
HighPoolPriority = 32,
|
sca8er |
2:5853bf44af9f
|
2957
|
HighPoolPrioritySpecialPoolOverrun = 40,
|
sca8er |
2:5853bf44af9f
|
2958
|
HighPoolPrioritySpecialPoolUnderrun = 41
|
sca8er |
2:5853bf44af9f
|
2959
|
} EX_POOL_PRIORITY;
|
sca8er |
2:5853bf44af9f
|
2960
|
|
sca8er |
2:5853bf44af9f
|
2961
|
/* PRIVILEGE_SET.Control */
|
sca8er |
2:5853bf44af9f
|
2962
|
|
sca8er |
2:5853bf44af9f
|
2963
|
#define PRIVILEGE_SET_ALL_NECESSARY 1
|
sca8er |
2:5853bf44af9f
|
2964
|
|
sca8er |
2:5853bf44af9f
|
2965
|
typedef struct _RTL_OSVERSIONINFOW {
|
sca8er |
2:5853bf44af9f
|
2966
|
ULONG dwOSVersionInfoSize;
|
sca8er |
2:5853bf44af9f
|
2967
|
ULONG dwMajorVersion;
|
sca8er |
2:5853bf44af9f
|
2968
|
ULONG dwMinorVersion;
|
sca8er |
2:5853bf44af9f
|
2969
|
ULONG dwBuildNumber;
|
sca8er |
2:5853bf44af9f
|
2970
|
ULONG dwPlatformId;
|
sca8er |
2:5853bf44af9f
|
2971
|
WCHAR szCSDVersion[128];
|
sca8er |
2:5853bf44af9f
|
2972
|
} RTL_OSVERSIONINFOW, *PRTL_OSVERSIONINFOW;
|
sca8er |
2:5853bf44af9f
|
2973
|
|
sca8er |
2:5853bf44af9f
|
2974
|
typedef struct _RTL_OSVERSIONINFOEXW {
|
sca8er |
2:5853bf44af9f
|
2975
|
ULONG dwOSVersionInfoSize;
|
sca8er |
2:5853bf44af9f
|
2976
|
ULONG dwMajorVersion;
|
sca8er |
2:5853bf44af9f
|
2977
|
ULONG dwMinorVersion;
|
sca8er |
2:5853bf44af9f
|
2978
|
ULONG dwBuildNumber;
|
sca8er |
2:5853bf44af9f
|
2979
|
ULONG dwPlatformId;
|
sca8er |
2:5853bf44af9f
|
2980
|
WCHAR szCSDVersion[128];
|
sca8er |
2:5853bf44af9f
|
2981
|
USHORT wServicePackMajor;
|
sca8er |
2:5853bf44af9f
|
2982
|
USHORT wServicePackMinor;
|
sca8er |
2:5853bf44af9f
|
2983
|
USHORT wSuiteMask;
|
sca8er |
2:5853bf44af9f
|
2984
|
UCHAR wProductType;
|
sca8er |
2:5853bf44af9f
|
2985
|
UCHAR wReserved;
|
sca8er |
2:5853bf44af9f
|
2986
|
} RTL_OSVERSIONINFOEXW, *PRTL_OSVERSIONINFOEXW;
|
sca8er |
2:5853bf44af9f
|
2987
|
|
sca8er |
2:5853bf44af9f
|
2988
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
2989
|
ULONGLONG
|
sca8er |
2:5853bf44af9f
|
2990
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
2991
|
VerSetConditionMask(
|
sca8er |
2:5853bf44af9f
|
2992
|
/*IN*/ ULONGLONG ConditionMask,
|
sca8er |
2:5853bf44af9f
|
2993
|
/*IN*/ ULONG TypeMask,
|
sca8er |
2:5853bf44af9f
|
2994
|
/*IN*/ UCHAR Condition);
|
sca8er |
2:5853bf44af9f
|
2995
|
|
sca8er |
2:5853bf44af9f
|
2996
|
#define VER_SET_CONDITION(ConditionMask, TypeBitMask, ComparisonType) \
|
sca8er |
2:5853bf44af9f
|
2997
|
((ConditionMask) = VerSetConditionMask((ConditionMask), \
|
sca8er |
2:5853bf44af9f
|
2998
|
(TypeBitMask), (ComparisonType)))
|
sca8er |
2:5853bf44af9f
|
2999
|
|
sca8er |
2:5853bf44af9f
|
3000
|
/* RtlVerifyVersionInfo() TypeMask */
|
sca8er |
2:5853bf44af9f
|
3001
|
|
sca8er |
2:5853bf44af9f
|
3002
|
#define VER_MINORVERSION 0x0000001
|
sca8er |
2:5853bf44af9f
|
3003
|
#define VER_MAJORVERSION 0x0000002
|
sca8er |
2:5853bf44af9f
|
3004
|
#define VER_BUILDNUMBER 0x0000004
|
sca8er |
2:5853bf44af9f
|
3005
|
#define VER_PLATFORMID 0x0000008
|
sca8er |
2:5853bf44af9f
|
3006
|
#define VER_SERVICEPACKMINOR 0x0000010
|
sca8er |
2:5853bf44af9f
|
3007
|
#define VER_SERVICEPACKMAJOR 0x0000020
|
sca8er |
2:5853bf44af9f
|
3008
|
#define VER_SUITENAME 0x0000040
|
sca8er |
2:5853bf44af9f
|
3009
|
#define VER_PRODUCT_TYPE 0x0000080
|
sca8er |
2:5853bf44af9f
|
3010
|
|
sca8er |
2:5853bf44af9f
|
3011
|
/* RtlVerifyVersionInfo() ComparisonType */
|
sca8er |
2:5853bf44af9f
|
3012
|
|
sca8er |
2:5853bf44af9f
|
3013
|
#define VER_EQUAL 1
|
sca8er |
2:5853bf44af9f
|
3014
|
#define VER_GREATER 2
|
sca8er |
2:5853bf44af9f
|
3015
|
#define VER_GREATER_EQUAL 3
|
sca8er |
2:5853bf44af9f
|
3016
|
#define VER_LESS 4
|
sca8er |
2:5853bf44af9f
|
3017
|
#define VER_LESS_EQUAL 5
|
sca8er |
2:5853bf44af9f
|
3018
|
#define VER_AND 6
|
sca8er |
2:5853bf44af9f
|
3019
|
#define VER_OR 7
|
sca8er |
2:5853bf44af9f
|
3020
|
|
sca8er |
2:5853bf44af9f
|
3021
|
#define VER_CONDITION_MASK 7
|
sca8er |
2:5853bf44af9f
|
3022
|
#define VER_NUM_BITS_PER_CONDITION_MASK 3
|
sca8er |
2:5853bf44af9f
|
3023
|
|
sca8er |
2:5853bf44af9f
|
3024
|
typedef struct _RTL_BITMAP {
|
sca8er |
2:5853bf44af9f
|
3025
|
ULONG SizeOfBitMap;
|
sca8er |
2:5853bf44af9f
|
3026
|
PULONG Buffer;
|
sca8er |
2:5853bf44af9f
|
3027
|
} RTL_BITMAP, *PRTL_BITMAP;
|
sca8er |
2:5853bf44af9f
|
3028
|
|
sca8er |
2:5853bf44af9f
|
3029
|
typedef struct _RTL_BITMAP_RUN {
|
sca8er |
2:5853bf44af9f
|
3030
|
ULONG StartingIndex;
|
sca8er |
2:5853bf44af9f
|
3031
|
ULONG NumberOfBits;
|
sca8er |
2:5853bf44af9f
|
3032
|
} RTL_BITMAP_RUN, *PRTL_BITMAP_RUN;
|
sca8er |
2:5853bf44af9f
|
3033
|
|
sca8er |
2:5853bf44af9f
|
3034
|
typedef NTSTATUS DDKAPI
|
sca8er |
2:5853bf44af9f
|
3035
|
(*PRTL_QUERY_REGISTRY_ROUTINE)(
|
sca8er |
2:5853bf44af9f
|
3036
|
/*IN*/ PWSTR ValueName,
|
sca8er |
2:5853bf44af9f
|
3037
|
/*IN*/ ULONG ValueType,
|
sca8er |
2:5853bf44af9f
|
3038
|
/*IN*/ PVOID ValueData,
|
sca8er |
2:5853bf44af9f
|
3039
|
/*IN*/ ULONG ValueLength,
|
sca8er |
2:5853bf44af9f
|
3040
|
/*IN*/ PVOID Context,
|
sca8er |
2:5853bf44af9f
|
3041
|
/*IN*/ PVOID EntryContext);
|
sca8er |
2:5853bf44af9f
|
3042
|
|
sca8er |
2:5853bf44af9f
|
3043
|
#define RTL_REGISTRY_ABSOLUTE 0
|
sca8er |
2:5853bf44af9f
|
3044
|
#define RTL_REGISTRY_SERVICES 1
|
sca8er |
2:5853bf44af9f
|
3045
|
#define RTL_REGISTRY_CONTROL 2
|
sca8er |
2:5853bf44af9f
|
3046
|
#define RTL_REGISTRY_WINDOWS_NT 3
|
sca8er |
2:5853bf44af9f
|
3047
|
#define RTL_REGISTRY_DEVICEMAP 4
|
sca8er |
2:5853bf44af9f
|
3048
|
#define RTL_REGISTRY_USER 5
|
sca8er |
2:5853bf44af9f
|
3049
|
|
sca8er |
2:5853bf44af9f
|
3050
|
/* RTL_QUERY_REGISTRY_TABLE.Flags */
|
sca8er |
2:5853bf44af9f
|
3051
|
#define RTL_QUERY_REGISTRY_SUBKEY 0x00000001
|
sca8er |
2:5853bf44af9f
|
3052
|
#define RTL_QUERY_REGISTRY_TOPKEY 0x00000002
|
sca8er |
2:5853bf44af9f
|
3053
|
#define RTL_QUERY_REGISTRY_REQUIRED 0x00000004
|
sca8er |
2:5853bf44af9f
|
3054
|
#define RTL_QUERY_REGISTRY_NOVALUE 0x00000008
|
sca8er |
2:5853bf44af9f
|
3055
|
#define RTL_QUERY_REGISTRY_NOEXPAND 0x00000010
|
sca8er |
2:5853bf44af9f
|
3056
|
#define RTL_QUERY_REGISTRY_DIRECT 0x00000020
|
sca8er |
2:5853bf44af9f
|
3057
|
#define RTL_QUERY_REGISTRY_DELETE 0x00000040
|
sca8er |
2:5853bf44af9f
|
3058
|
|
sca8er |
2:5853bf44af9f
|
3059
|
typedef struct _RTL_QUERY_REGISTRY_TABLE {
|
sca8er |
2:5853bf44af9f
|
3060
|
PRTL_QUERY_REGISTRY_ROUTINE QueryRoutine;
|
sca8er |
2:5853bf44af9f
|
3061
|
ULONG Flags;
|
sca8er |
2:5853bf44af9f
|
3062
|
PWSTR Name;
|
sca8er |
2:5853bf44af9f
|
3063
|
PVOID EntryContext;
|
sca8er |
2:5853bf44af9f
|
3064
|
ULONG DefaultType;
|
sca8er |
2:5853bf44af9f
|
3065
|
PVOID DefaultData;
|
sca8er |
2:5853bf44af9f
|
3066
|
ULONG DefaultLength;
|
sca8er |
2:5853bf44af9f
|
3067
|
} RTL_QUERY_REGISTRY_TABLE, *PRTL_QUERY_REGISTRY_TABLE;
|
sca8er |
2:5853bf44af9f
|
3068
|
|
sca8er |
2:5853bf44af9f
|
3069
|
typedef struct _TIME_FIELDS {
|
sca8er |
2:5853bf44af9f
|
3070
|
CSHORT Year;
|
sca8er |
2:5853bf44af9f
|
3071
|
CSHORT Month;
|
sca8er |
2:5853bf44af9f
|
3072
|
CSHORT Day;
|
sca8er |
2:5853bf44af9f
|
3073
|
CSHORT Hour;
|
sca8er |
2:5853bf44af9f
|
3074
|
CSHORT Minute;
|
sca8er |
2:5853bf44af9f
|
3075
|
CSHORT Second;
|
sca8er |
2:5853bf44af9f
|
3076
|
CSHORT Milliseconds;
|
sca8er |
2:5853bf44af9f
|
3077
|
CSHORT Weekday;
|
sca8er |
2:5853bf44af9f
|
3078
|
} TIME_FIELDS, *PTIME_FIELDS;
|
sca8er |
2:5853bf44af9f
|
3079
|
|
sca8er |
2:5853bf44af9f
|
3080
|
typedef PVOID DDKAPI
|
sca8er |
2:5853bf44af9f
|
3081
|
(*PALLOCATE_FUNCTION)(
|
sca8er |
2:5853bf44af9f
|
3082
|
/*IN*/ POOL_TYPE PoolType,
|
sca8er |
2:5853bf44af9f
|
3083
|
/*IN*/ SIZE_T NumberOfBytes,
|
sca8er |
2:5853bf44af9f
|
3084
|
/*IN*/ ULONG Tag);
|
sca8er |
2:5853bf44af9f
|
3085
|
|
sca8er |
2:5853bf44af9f
|
3086
|
typedef VOID DDKAPI
|
sca8er |
2:5853bf44af9f
|
3087
|
(*PFREE_FUNCTION)(
|
sca8er |
2:5853bf44af9f
|
3088
|
/*IN*/ PVOID Buffer);
|
sca8er |
2:5853bf44af9f
|
3089
|
|
sca8er |
2:5853bf44af9f
|
3090
|
#define GENERAL_LOOKASIDE_S \
|
sca8er |
2:5853bf44af9f
|
3091
|
SLIST_HEADER ListHead; \
|
sca8er |
2:5853bf44af9f
|
3092
|
USHORT Depth; \
|
sca8er |
2:5853bf44af9f
|
3093
|
USHORT MaximumDepth; \
|
sca8er |
2:5853bf44af9f
|
3094
|
ULONG TotalAllocates; \
|
sca8er |
2:5853bf44af9f
|
3095
|
_ANONYMOUS_UNION union { \
|
sca8er |
2:5853bf44af9f
|
3096
|
ULONG AllocateMisses; \
|
sca8er |
2:5853bf44af9f
|
3097
|
ULONG AllocateHits; \
|
sca8er |
2:5853bf44af9f
|
3098
|
} DUMMYUNIONNAME; \
|
sca8er |
2:5853bf44af9f
|
3099
|
ULONG TotalFrees; \
|
sca8er |
2:5853bf44af9f
|
3100
|
_ANONYMOUS_UNION union { \
|
sca8er |
2:5853bf44af9f
|
3101
|
ULONG FreeMisses; \
|
sca8er |
2:5853bf44af9f
|
3102
|
ULONG FreeHits; \
|
sca8er |
2:5853bf44af9f
|
3103
|
} DUMMYUNIONNAME2; \
|
sca8er |
2:5853bf44af9f
|
3104
|
POOL_TYPE Type; \
|
sca8er |
2:5853bf44af9f
|
3105
|
ULONG Tag; \
|
sca8er |
2:5853bf44af9f
|
3106
|
ULONG Size; \
|
sca8er |
2:5853bf44af9f
|
3107
|
PALLOCATE_FUNCTION Allocate; \
|
sca8er |
2:5853bf44af9f
|
3108
|
PFREE_FUNCTION Free; \
|
sca8er |
2:5853bf44af9f
|
3109
|
LIST_ENTRY ListEntry; \
|
sca8er |
2:5853bf44af9f
|
3110
|
ULONG LastTotalAllocates; \
|
sca8er |
2:5853bf44af9f
|
3111
|
_ANONYMOUS_UNION union { \
|
sca8er |
2:5853bf44af9f
|
3112
|
ULONG LastAllocateMisses; \
|
sca8er |
2:5853bf44af9f
|
3113
|
ULONG LastAllocateHits; \
|
sca8er |
2:5853bf44af9f
|
3114
|
} DUMMYUNIONNAME3; \
|
sca8er |
2:5853bf44af9f
|
3115
|
ULONG Future[2];
|
sca8er |
2:5853bf44af9f
|
3116
|
|
sca8er |
2:5853bf44af9f
|
3117
|
typedef struct _GENERAL_LOOKASIDE {
|
sca8er |
2:5853bf44af9f
|
3118
|
GENERAL_LOOKASIDE_S
|
sca8er |
2:5853bf44af9f
|
3119
|
} GENERAL_LOOKASIDE, *PGENERAL_LOOKASIDE;
|
sca8er |
2:5853bf44af9f
|
3120
|
|
sca8er |
2:5853bf44af9f
|
3121
|
typedef struct _NPAGED_LOOKASIDE_LIST {
|
sca8er |
2:5853bf44af9f
|
3122
|
GENERAL_LOOKASIDE_S
|
sca8er |
2:5853bf44af9f
|
3123
|
KSPIN_LOCK Obsoleted;
|
sca8er |
2:5853bf44af9f
|
3124
|
} NPAGED_LOOKASIDE_LIST, *PNPAGED_LOOKASIDE_LIST;
|
sca8er |
2:5853bf44af9f
|
3125
|
|
sca8er |
2:5853bf44af9f
|
3126
|
typedef struct _PAGED_LOOKASIDE_LIST {
|
sca8er |
2:5853bf44af9f
|
3127
|
GENERAL_LOOKASIDE_S
|
sca8er |
2:5853bf44af9f
|
3128
|
FAST_MUTEX Obsoleted;
|
sca8er |
2:5853bf44af9f
|
3129
|
} PAGED_LOOKASIDE_LIST, *PPAGED_LOOKASIDE_LIST;
|
sca8er |
2:5853bf44af9f
|
3130
|
|
sca8er |
2:5853bf44af9f
|
3131
|
typedef struct _CALLBACK_OBJECT *PCALLBACK_OBJECT;
|
sca8er |
2:5853bf44af9f
|
3132
|
|
sca8er |
2:5853bf44af9f
|
3133
|
typedef VOID DDKAPI (*PCALLBACK_FUNCTION)(
|
sca8er |
2:5853bf44af9f
|
3134
|
/*IN*/ PVOID CallbackContext,
|
sca8er |
2:5853bf44af9f
|
3135
|
/*IN*/ PVOID Argument1,
|
sca8er |
2:5853bf44af9f
|
3136
|
/*IN*/ PVOID Argument2);
|
sca8er |
2:5853bf44af9f
|
3137
|
|
sca8er |
2:5853bf44af9f
|
3138
|
typedef enum _EVENT_TYPE {
|
sca8er |
2:5853bf44af9f
|
3139
|
NotificationEvent,
|
sca8er |
2:5853bf44af9f
|
3140
|
SynchronizationEvent
|
sca8er |
2:5853bf44af9f
|
3141
|
} EVENT_TYPE;
|
sca8er |
2:5853bf44af9f
|
3142
|
|
sca8er |
2:5853bf44af9f
|
3143
|
typedef enum _KWAIT_REASON {
|
sca8er |
2:5853bf44af9f
|
3144
|
Executive,
|
sca8er |
2:5853bf44af9f
|
3145
|
FreePage,
|
sca8er |
2:5853bf44af9f
|
3146
|
PageIn,
|
sca8er |
2:5853bf44af9f
|
3147
|
PoolAllocation,
|
sca8er |
2:5853bf44af9f
|
3148
|
DelayExecution,
|
sca8er |
2:5853bf44af9f
|
3149
|
Suspended,
|
sca8er |
2:5853bf44af9f
|
3150
|
UserRequest,
|
sca8er |
2:5853bf44af9f
|
3151
|
WrExecutive,
|
sca8er |
2:5853bf44af9f
|
3152
|
WrFreePage,
|
sca8er |
2:5853bf44af9f
|
3153
|
WrPageIn,
|
sca8er |
2:5853bf44af9f
|
3154
|
WrPoolAllocation,
|
sca8er |
2:5853bf44af9f
|
3155
|
WrDelayExecution,
|
sca8er |
2:5853bf44af9f
|
3156
|
WrSuspended,
|
sca8er |
2:5853bf44af9f
|
3157
|
WrUserRequest,
|
sca8er |
2:5853bf44af9f
|
3158
|
WrEventPair,
|
sca8er |
2:5853bf44af9f
|
3159
|
WrQueue,
|
sca8er |
2:5853bf44af9f
|
3160
|
WrLpcReceive,
|
sca8er |
2:5853bf44af9f
|
3161
|
WrLpcReply,
|
sca8er |
2:5853bf44af9f
|
3162
|
WrVirtualMemory,
|
sca8er |
2:5853bf44af9f
|
3163
|
WrPageOut,
|
sca8er |
2:5853bf44af9f
|
3164
|
WrRendezvous,
|
sca8er |
2:5853bf44af9f
|
3165
|
Spare2,
|
sca8er |
2:5853bf44af9f
|
3166
|
Spare3,
|
sca8er |
2:5853bf44af9f
|
3167
|
Spare4,
|
sca8er |
2:5853bf44af9f
|
3168
|
Spare5,
|
sca8er |
2:5853bf44af9f
|
3169
|
Spare6,
|
sca8er |
2:5853bf44af9f
|
3170
|
WrKernel,
|
sca8er |
2:5853bf44af9f
|
3171
|
MaximumWaitReason
|
sca8er |
2:5853bf44af9f
|
3172
|
} KWAIT_REASON;
|
sca8er |
2:5853bf44af9f
|
3173
|
|
sca8er |
2:5853bf44af9f
|
3174
|
typedef struct _KWAIT_BLOCK {
|
sca8er |
2:5853bf44af9f
|
3175
|
LIST_ENTRY WaitListEntry;
|
sca8er |
2:5853bf44af9f
|
3176
|
struct _KTHREAD * RESTRICTED_POINTER Thread;
|
sca8er |
2:5853bf44af9f
|
3177
|
PVOID Object;
|
sca8er |
2:5853bf44af9f
|
3178
|
struct _KWAIT_BLOCK * RESTRICTED_POINTER NextWaitBlock;
|
sca8er |
2:5853bf44af9f
|
3179
|
USHORT WaitKey;
|
sca8er |
2:5853bf44af9f
|
3180
|
USHORT WaitType;
|
sca8er |
2:5853bf44af9f
|
3181
|
} KWAIT_BLOCK, *PKWAIT_BLOCK, *RESTRICTED_POINTER PRKWAIT_BLOCK;
|
sca8er |
2:5853bf44af9f
|
3182
|
|
sca8er |
2:5853bf44af9f
|
3183
|
typedef struct _IO_REMOVE_LOCK_TRACKING_BLOCK * PIO_REMOVE_LOCK_TRACKING_BLOCK;
|
sca8er |
2:5853bf44af9f
|
3184
|
|
sca8er |
2:5853bf44af9f
|
3185
|
typedef struct _IO_REMOVE_LOCK_COMMON_BLOCK {
|
sca8er |
2:5853bf44af9f
|
3186
|
BOOLEAN Removed;
|
sca8er |
2:5853bf44af9f
|
3187
|
BOOLEAN Reserved[3];
|
sca8er |
2:5853bf44af9f
|
3188
|
LONG IoCount;
|
sca8er |
2:5853bf44af9f
|
3189
|
KEVENT RemoveEvent;
|
sca8er |
2:5853bf44af9f
|
3190
|
} IO_REMOVE_LOCK_COMMON_BLOCK;
|
sca8er |
2:5853bf44af9f
|
3191
|
|
sca8er |
2:5853bf44af9f
|
3192
|
typedef struct _IO_REMOVE_LOCK_DBG_BLOCK {
|
sca8er |
2:5853bf44af9f
|
3193
|
LONG Signature;
|
sca8er |
2:5853bf44af9f
|
3194
|
LONG HighWatermark;
|
sca8er |
2:5853bf44af9f
|
3195
|
LONGLONG MaxLockedTicks;
|
sca8er |
2:5853bf44af9f
|
3196
|
LONG AllocateTag;
|
sca8er |
2:5853bf44af9f
|
3197
|
LIST_ENTRY LockList;
|
sca8er |
2:5853bf44af9f
|
3198
|
KSPIN_LOCK Spin;
|
sca8er |
2:5853bf44af9f
|
3199
|
LONG LowMemoryCount;
|
sca8er |
2:5853bf44af9f
|
3200
|
ULONG Reserved1[4];
|
sca8er |
2:5853bf44af9f
|
3201
|
PVOID Reserved2;
|
sca8er |
2:5853bf44af9f
|
3202
|
PIO_REMOVE_LOCK_TRACKING_BLOCK Blocks;
|
sca8er |
2:5853bf44af9f
|
3203
|
} IO_REMOVE_LOCK_DBG_BLOCK;
|
sca8er |
2:5853bf44af9f
|
3204
|
|
sca8er |
2:5853bf44af9f
|
3205
|
typedef struct _IO_REMOVE_LOCK {
|
sca8er |
2:5853bf44af9f
|
3206
|
IO_REMOVE_LOCK_COMMON_BLOCK Common;
|
sca8er |
2:5853bf44af9f
|
3207
|
#ifdef DBG
|
sca8er |
2:5853bf44af9f
|
3208
|
IO_REMOVE_LOCK_DBG_BLOCK Dbg;
|
sca8er |
2:5853bf44af9f
|
3209
|
#endif
|
sca8er |
2:5853bf44af9f
|
3210
|
} IO_REMOVE_LOCK, *PIO_REMOVE_LOCK;
|
sca8er |
2:5853bf44af9f
|
3211
|
|
sca8er |
2:5853bf44af9f
|
3212
|
typedef struct _IO_WORKITEM *PIO_WORKITEM;
|
sca8er |
2:5853bf44af9f
|
3213
|
|
sca8er |
2:5853bf44af9f
|
3214
|
typedef VOID DDKAPI
|
sca8er |
2:5853bf44af9f
|
3215
|
(*PIO_WORKITEM_ROUTINE)(
|
sca8er |
2:5853bf44af9f
|
3216
|
/*IN*/ PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
3217
|
/*IN*/ PVOID Context);
|
sca8er |
2:5853bf44af9f
|
3218
|
|
sca8er |
2:5853bf44af9f
|
3219
|
typedef struct _SHARE_ACCESS {
|
sca8er |
2:5853bf44af9f
|
3220
|
ULONG OpenCount;
|
sca8er |
2:5853bf44af9f
|
3221
|
ULONG Readers;
|
sca8er |
2:5853bf44af9f
|
3222
|
ULONG Writers;
|
sca8er |
2:5853bf44af9f
|
3223
|
ULONG Deleters;
|
sca8er |
2:5853bf44af9f
|
3224
|
ULONG SharedRead;
|
sca8er |
2:5853bf44af9f
|
3225
|
ULONG SharedWrite;
|
sca8er |
2:5853bf44af9f
|
3226
|
ULONG SharedDelete;
|
sca8er |
2:5853bf44af9f
|
3227
|
} SHARE_ACCESS, *PSHARE_ACCESS;
|
sca8er |
2:5853bf44af9f
|
3228
|
|
sca8er |
2:5853bf44af9f
|
3229
|
typedef enum _KINTERRUPT_MODE {
|
sca8er |
2:5853bf44af9f
|
3230
|
LevelSensitive,
|
sca8er |
2:5853bf44af9f
|
3231
|
Latched
|
sca8er |
2:5853bf44af9f
|
3232
|
} KINTERRUPT_MODE;
|
sca8er |
2:5853bf44af9f
|
3233
|
|
sca8er |
2:5853bf44af9f
|
3234
|
typedef VOID DDKAPI
|
sca8er |
2:5853bf44af9f
|
3235
|
(*PKINTERRUPT_ROUTINE)(
|
sca8er |
2:5853bf44af9f
|
3236
|
VOID);
|
sca8er |
2:5853bf44af9f
|
3237
|
|
sca8er |
2:5853bf44af9f
|
3238
|
typedef enum _KPROFILE_SOURCE {
|
sca8er |
2:5853bf44af9f
|
3239
|
ProfileTime,
|
sca8er |
2:5853bf44af9f
|
3240
|
ProfileAlignmentFixup,
|
sca8er |
2:5853bf44af9f
|
3241
|
ProfileTotalIssues,
|
sca8er |
2:5853bf44af9f
|
3242
|
ProfilePipelineDry,
|
sca8er |
2:5853bf44af9f
|
3243
|
ProfileLoadInstructions,
|
sca8er |
2:5853bf44af9f
|
3244
|
ProfilePipelineFrozen,
|
sca8er |
2:5853bf44af9f
|
3245
|
ProfileBranchInstructions,
|
sca8er |
2:5853bf44af9f
|
3246
|
ProfileTotalNonissues,
|
sca8er |
2:5853bf44af9f
|
3247
|
ProfileDcacheMisses,
|
sca8er |
2:5853bf44af9f
|
3248
|
ProfileIcacheMisses,
|
sca8er |
2:5853bf44af9f
|
3249
|
ProfileCacheMisses,
|
sca8er |
2:5853bf44af9f
|
3250
|
ProfileBranchMispredictions,
|
sca8er |
2:5853bf44af9f
|
3251
|
ProfileStoreInstructions,
|
sca8er |
2:5853bf44af9f
|
3252
|
ProfileFpInstructions,
|
sca8er |
2:5853bf44af9f
|
3253
|
ProfileIntegerInstructions,
|
sca8er |
2:5853bf44af9f
|
3254
|
Profile2Issue,
|
sca8er |
2:5853bf44af9f
|
3255
|
Profile3Issue,
|
sca8er |
2:5853bf44af9f
|
3256
|
Profile4Issue,
|
sca8er |
2:5853bf44af9f
|
3257
|
ProfileSpecialInstructions,
|
sca8er |
2:5853bf44af9f
|
3258
|
ProfileTotalCycles,
|
sca8er |
2:5853bf44af9f
|
3259
|
ProfileIcacheIssues,
|
sca8er |
2:5853bf44af9f
|
3260
|
ProfileDcacheAccesses,
|
sca8er |
2:5853bf44af9f
|
3261
|
ProfileMemoryBarrierCycles,
|
sca8er |
2:5853bf44af9f
|
3262
|
ProfileLoadLinkedIssues,
|
sca8er |
2:5853bf44af9f
|
3263
|
ProfileMaximum
|
sca8er |
2:5853bf44af9f
|
3264
|
} KPROFILE_SOURCE;
|
sca8er |
2:5853bf44af9f
|
3265
|
|
sca8er |
2:5853bf44af9f
|
3266
|
typedef enum _CREATE_FILE_TYPE {
|
sca8er |
2:5853bf44af9f
|
3267
|
CreateFileTypeNone,
|
sca8er |
2:5853bf44af9f
|
3268
|
CreateFileTypeNamedPipe,
|
sca8er |
2:5853bf44af9f
|
3269
|
CreateFileTypeMailslot
|
sca8er |
2:5853bf44af9f
|
3270
|
} CREATE_FILE_TYPE;
|
sca8er |
2:5853bf44af9f
|
3271
|
|
sca8er |
2:5853bf44af9f
|
3272
|
typedef struct _CONFIGURATION_INFORMATION {
|
sca8er |
2:5853bf44af9f
|
3273
|
ULONG DiskCount;
|
sca8er |
2:5853bf44af9f
|
3274
|
ULONG FloppyCount;
|
sca8er |
2:5853bf44af9f
|
3275
|
ULONG CdRomCount;
|
sca8er |
2:5853bf44af9f
|
3276
|
ULONG TapeCount;
|
sca8er |
2:5853bf44af9f
|
3277
|
ULONG ScsiPortCount;
|
sca8er |
2:5853bf44af9f
|
3278
|
ULONG SerialCount;
|
sca8er |
2:5853bf44af9f
|
3279
|
ULONG ParallelCount;
|
sca8er |
2:5853bf44af9f
|
3280
|
BOOLEAN AtDiskPrimaryAddressClaimed;
|
sca8er |
2:5853bf44af9f
|
3281
|
BOOLEAN AtDiskSecondaryAddressClaimed;
|
sca8er |
2:5853bf44af9f
|
3282
|
ULONG Version;
|
sca8er |
2:5853bf44af9f
|
3283
|
ULONG MediumChangerCount;
|
sca8er |
2:5853bf44af9f
|
3284
|
} CONFIGURATION_INFORMATION, *PCONFIGURATION_INFORMATION;
|
sca8er |
2:5853bf44af9f
|
3285
|
|
sca8er |
2:5853bf44af9f
|
3286
|
typedef enum _CONFIGURATION_TYPE {
|
sca8er |
2:5853bf44af9f
|
3287
|
ArcSystem,
|
sca8er |
2:5853bf44af9f
|
3288
|
CentralProcessor,
|
sca8er |
2:5853bf44af9f
|
3289
|
FloatingPointProcessor,
|
sca8er |
2:5853bf44af9f
|
3290
|
PrimaryIcache,
|
sca8er |
2:5853bf44af9f
|
3291
|
PrimaryDcache,
|
sca8er |
2:5853bf44af9f
|
3292
|
SecondaryIcache,
|
sca8er |
2:5853bf44af9f
|
3293
|
SecondaryDcache,
|
sca8er |
2:5853bf44af9f
|
3294
|
SecondaryCache,
|
sca8er |
2:5853bf44af9f
|
3295
|
EisaAdapter,
|
sca8er |
2:5853bf44af9f
|
3296
|
TcAdapter,
|
sca8er |
2:5853bf44af9f
|
3297
|
ScsiAdapter,
|
sca8er |
2:5853bf44af9f
|
3298
|
DtiAdapter,
|
sca8er |
2:5853bf44af9f
|
3299
|
MultiFunctionAdapter,
|
sca8er |
2:5853bf44af9f
|
3300
|
DiskController,
|
sca8er |
2:5853bf44af9f
|
3301
|
TapeController,
|
sca8er |
2:5853bf44af9f
|
3302
|
CdromController,
|
sca8er |
2:5853bf44af9f
|
3303
|
WormController,
|
sca8er |
2:5853bf44af9f
|
3304
|
SerialController,
|
sca8er |
2:5853bf44af9f
|
3305
|
NetworkController,
|
sca8er |
2:5853bf44af9f
|
3306
|
DisplayController,
|
sca8er |
2:5853bf44af9f
|
3307
|
ParallelController,
|
sca8er |
2:5853bf44af9f
|
3308
|
PointerController,
|
sca8er |
2:5853bf44af9f
|
3309
|
KeyboardController,
|
sca8er |
2:5853bf44af9f
|
3310
|
AudioController,
|
sca8er |
2:5853bf44af9f
|
3311
|
OtherController,
|
sca8er |
2:5853bf44af9f
|
3312
|
DiskPeripheral,
|
sca8er |
2:5853bf44af9f
|
3313
|
FloppyDiskPeripheral,
|
sca8er |
2:5853bf44af9f
|
3314
|
TapePeripheral,
|
sca8er |
2:5853bf44af9f
|
3315
|
ModemPeripheral,
|
sca8er |
2:5853bf44af9f
|
3316
|
MonitorPeripheral,
|
sca8er |
2:5853bf44af9f
|
3317
|
PrinterPeripheral,
|
sca8er |
2:5853bf44af9f
|
3318
|
PointerPeripheral,
|
sca8er |
2:5853bf44af9f
|
3319
|
KeyboardPeripheral,
|
sca8er |
2:5853bf44af9f
|
3320
|
TerminalPeripheral,
|
sca8er |
2:5853bf44af9f
|
3321
|
OtherPeripheral,
|
sca8er |
2:5853bf44af9f
|
3322
|
LinePeripheral,
|
sca8er |
2:5853bf44af9f
|
3323
|
NetworkPeripheral,
|
sca8er |
2:5853bf44af9f
|
3324
|
SystemMemory,
|
sca8er |
2:5853bf44af9f
|
3325
|
DockingInformation,
|
sca8er |
2:5853bf44af9f
|
3326
|
RealModeIrqRoutingTable,
|
sca8er |
2:5853bf44af9f
|
3327
|
MaximumType
|
sca8er |
2:5853bf44af9f
|
3328
|
} CONFIGURATION_TYPE, *PCONFIGURATION_TYPE;
|
sca8er |
2:5853bf44af9f
|
3329
|
|
sca8er |
2:5853bf44af9f
|
3330
|
typedef NTSTATUS (*PIO_QUERY_DEVICE_ROUTINE)(
|
sca8er |
2:5853bf44af9f
|
3331
|
/*IN*/ PVOID Context,
|
sca8er |
2:5853bf44af9f
|
3332
|
/*IN*/ PUNICODE_STRING PathName,
|
sca8er |
2:5853bf44af9f
|
3333
|
/*IN*/ INTERFACE_TYPE BusType,
|
sca8er |
2:5853bf44af9f
|
3334
|
/*IN*/ ULONG BusNumber,
|
sca8er |
2:5853bf44af9f
|
3335
|
/*IN*/ PKEY_VALUE_FULL_INFORMATION *BusInformation,
|
sca8er |
2:5853bf44af9f
|
3336
|
/*IN*/ CONFIGURATION_TYPE ControllerType,
|
sca8er |
2:5853bf44af9f
|
3337
|
/*IN*/ ULONG ControllerNumber,
|
sca8er |
2:5853bf44af9f
|
3338
|
/*IN*/ PKEY_VALUE_FULL_INFORMATION *ControllerInformation,
|
sca8er |
2:5853bf44af9f
|
3339
|
/*IN*/ CONFIGURATION_TYPE PeripheralType,
|
sca8er |
2:5853bf44af9f
|
3340
|
/*IN*/ ULONG PeripheralNumber,
|
sca8er |
2:5853bf44af9f
|
3341
|
/*IN*/ PKEY_VALUE_FULL_INFORMATION *PeripheralInformation);
|
sca8er |
2:5853bf44af9f
|
3342
|
|
sca8er |
2:5853bf44af9f
|
3343
|
typedef enum _WORK_QUEUE_TYPE {
|
sca8er |
2:5853bf44af9f
|
3344
|
CriticalWorkQueue,
|
sca8er |
2:5853bf44af9f
|
3345
|
DelayedWorkQueue,
|
sca8er |
2:5853bf44af9f
|
3346
|
HyperCriticalWorkQueue,
|
sca8er |
2:5853bf44af9f
|
3347
|
MaximumWorkQueue
|
sca8er |
2:5853bf44af9f
|
3348
|
} WORK_QUEUE_TYPE;
|
sca8er |
2:5853bf44af9f
|
3349
|
|
sca8er |
2:5853bf44af9f
|
3350
|
typedef VOID DDKAPI
|
sca8er |
2:5853bf44af9f
|
3351
|
(*PWORKER_THREAD_ROUTINE)(
|
sca8er |
2:5853bf44af9f
|
3352
|
/*IN*/ PVOID Parameter);
|
sca8er |
2:5853bf44af9f
|
3353
|
|
sca8er |
2:5853bf44af9f
|
3354
|
typedef struct _WORK_QUEUE_ITEM {
|
sca8er |
2:5853bf44af9f
|
3355
|
LIST_ENTRY List;
|
sca8er |
2:5853bf44af9f
|
3356
|
PWORKER_THREAD_ROUTINE WorkerRoutine;
|
sca8er |
2:5853bf44af9f
|
3357
|
PVOID Parameter;
|
sca8er |
2:5853bf44af9f
|
3358
|
} WORK_QUEUE_ITEM, *PWORK_QUEUE_ITEM;
|
sca8er |
2:5853bf44af9f
|
3359
|
|
sca8er |
2:5853bf44af9f
|
3360
|
typedef enum _KBUGCHECK_BUFFER_DUMP_STATE {
|
sca8er |
2:5853bf44af9f
|
3361
|
BufferEmpty,
|
sca8er |
2:5853bf44af9f
|
3362
|
BufferInserted,
|
sca8er |
2:5853bf44af9f
|
3363
|
BufferStarted,
|
sca8er |
2:5853bf44af9f
|
3364
|
BufferFinished,
|
sca8er |
2:5853bf44af9f
|
3365
|
BufferIncomplete
|
sca8er |
2:5853bf44af9f
|
3366
|
} KBUGCHECK_BUFFER_DUMP_STATE;
|
sca8er |
2:5853bf44af9f
|
3367
|
|
sca8er |
2:5853bf44af9f
|
3368
|
typedef VOID DDKAPI
|
sca8er |
2:5853bf44af9f
|
3369
|
(*PKBUGCHECK_CALLBACK_ROUTINE)(
|
sca8er |
2:5853bf44af9f
|
3370
|
/*IN*/ PVOID Buffer,
|
sca8er |
2:5853bf44af9f
|
3371
|
/*IN*/ ULONG Length);
|
sca8er |
2:5853bf44af9f
|
3372
|
|
sca8er |
2:5853bf44af9f
|
3373
|
typedef struct _KBUGCHECK_CALLBACK_RECORD {
|
sca8er |
2:5853bf44af9f
|
3374
|
LIST_ENTRY Entry;
|
sca8er |
2:5853bf44af9f
|
3375
|
PKBUGCHECK_CALLBACK_ROUTINE CallbackRoutine;
|
sca8er |
2:5853bf44af9f
|
3376
|
PVOID Buffer;
|
sca8er |
2:5853bf44af9f
|
3377
|
ULONG Length;
|
sca8er |
2:5853bf44af9f
|
3378
|
PUCHAR Component;
|
sca8er |
2:5853bf44af9f
|
3379
|
ULONG_PTR Checksum;
|
sca8er |
2:5853bf44af9f
|
3380
|
UCHAR State;
|
sca8er |
2:5853bf44af9f
|
3381
|
} KBUGCHECK_CALLBACK_RECORD, *PKBUGCHECK_CALLBACK_RECORD;
|
sca8er |
2:5853bf44af9f
|
3382
|
|
sca8er |
2:5853bf44af9f
|
3383
|
/*
|
sca8er |
2:5853bf44af9f
|
3384
|
* VOID
|
sca8er |
2:5853bf44af9f
|
3385
|
* KeInitializeCallbackRecord(
|
sca8er |
2:5853bf44af9f
|
3386
|
* IN PKBUGCHECK_CALLBACK_RECORD CallbackRecord)
|
sca8er |
2:5853bf44af9f
|
3387
|
*/
|
sca8er |
2:5853bf44af9f
|
3388
|
#define KeInitializeCallbackRecord(CallbackRecord) \
|
sca8er |
2:5853bf44af9f
|
3389
|
CallbackRecord->State = BufferEmpty;
|
sca8er |
2:5853bf44af9f
|
3390
|
|
sca8er |
2:5853bf44af9f
|
3391
|
typedef enum _KDPC_IMPORTANCE {
|
sca8er |
2:5853bf44af9f
|
3392
|
LowImportance,
|
sca8er |
2:5853bf44af9f
|
3393
|
MediumImportance,
|
sca8er |
2:5853bf44af9f
|
3394
|
HighImportance
|
sca8er |
2:5853bf44af9f
|
3395
|
} KDPC_IMPORTANCE;
|
sca8er |
2:5853bf44af9f
|
3396
|
|
sca8er |
2:5853bf44af9f
|
3397
|
typedef enum _MEMORY_CACHING_TYPE_ORIG {
|
sca8er |
2:5853bf44af9f
|
3398
|
MmFrameBufferCached = 2
|
sca8er |
2:5853bf44af9f
|
3399
|
} MEMORY_CACHING_TYPE_ORIG;
|
sca8er |
2:5853bf44af9f
|
3400
|
|
sca8er |
2:5853bf44af9f
|
3401
|
typedef enum _MEMORY_CACHING_TYPE {
|
sca8er |
2:5853bf44af9f
|
3402
|
MmNonCached = FALSE,
|
sca8er |
2:5853bf44af9f
|
3403
|
MmCached = TRUE,
|
sca8er |
2:5853bf44af9f
|
3404
|
MmWriteCombined = MmFrameBufferCached,
|
sca8er |
2:5853bf44af9f
|
3405
|
MmHardwareCoherentCached,
|
sca8er |
2:5853bf44af9f
|
3406
|
MmNonCachedUnordered,
|
sca8er |
2:5853bf44af9f
|
3407
|
MmUSWCCached,
|
sca8er |
2:5853bf44af9f
|
3408
|
MmMaximumCacheType
|
sca8er |
2:5853bf44af9f
|
3409
|
} MEMORY_CACHING_TYPE;
|
sca8er |
2:5853bf44af9f
|
3410
|
|
sca8er |
2:5853bf44af9f
|
3411
|
typedef enum _MM_PAGE_PRIORITY {
|
sca8er |
2:5853bf44af9f
|
3412
|
LowPagePriority,
|
sca8er |
2:5853bf44af9f
|
3413
|
NormalPagePriority = 16,
|
sca8er |
2:5853bf44af9f
|
3414
|
HighPagePriority = 32
|
sca8er |
2:5853bf44af9f
|
3415
|
} MM_PAGE_PRIORITY;
|
sca8er |
2:5853bf44af9f
|
3416
|
|
sca8er |
2:5853bf44af9f
|
3417
|
typedef enum _LOCK_OPERATION {
|
sca8er |
2:5853bf44af9f
|
3418
|
IoReadAccess,
|
sca8er |
2:5853bf44af9f
|
3419
|
IoWriteAccess,
|
sca8er |
2:5853bf44af9f
|
3420
|
IoModifyAccess
|
sca8er |
2:5853bf44af9f
|
3421
|
} LOCK_OPERATION;
|
sca8er |
2:5853bf44af9f
|
3422
|
|
sca8er |
2:5853bf44af9f
|
3423
|
typedef enum _MM_SYSTEM_SIZE {
|
sca8er |
2:5853bf44af9f
|
3424
|
MmSmallSystem,
|
sca8er |
2:5853bf44af9f
|
3425
|
MmMediumSystem,
|
sca8er |
2:5853bf44af9f
|
3426
|
MmLargeSystem
|
sca8er |
2:5853bf44af9f
|
3427
|
} MM_SYSTEM_SIZE;
|
sca8er |
2:5853bf44af9f
|
3428
|
|
sca8er |
2:5853bf44af9f
|
3429
|
typedef struct _OBJECT_HANDLE_INFORMATION {
|
sca8er |
2:5853bf44af9f
|
3430
|
ULONG HandleAttributes;
|
sca8er |
2:5853bf44af9f
|
3431
|
ACCESS_MASK GrantedAccess;
|
sca8er |
2:5853bf44af9f
|
3432
|
} OBJECT_HANDLE_INFORMATION, *POBJECT_HANDLE_INFORMATION;
|
sca8er |
2:5853bf44af9f
|
3433
|
|
sca8er |
2:5853bf44af9f
|
3434
|
typedef struct _CLIENT_ID {
|
sca8er |
2:5853bf44af9f
|
3435
|
HANDLE UniqueProcess;
|
sca8er |
2:5853bf44af9f
|
3436
|
HANDLE UniqueThread;
|
sca8er |
2:5853bf44af9f
|
3437
|
} CLIENT_ID, *PCLIENT_ID;
|
sca8er |
2:5853bf44af9f
|
3438
|
|
sca8er |
2:5853bf44af9f
|
3439
|
typedef VOID DDKAPI
|
sca8er |
2:5853bf44af9f
|
3440
|
(*PKSTART_ROUTINE)(
|
sca8er |
2:5853bf44af9f
|
3441
|
/*IN*/ PVOID StartContext);
|
sca8er |
2:5853bf44af9f
|
3442
|
|
sca8er |
2:5853bf44af9f
|
3443
|
typedef VOID DDKAPI
|
sca8er |
2:5853bf44af9f
|
3444
|
(*PCREATE_PROCESS_NOTIFY_ROUTINE)(
|
sca8er |
2:5853bf44af9f
|
3445
|
/*IN*/ HANDLE ParentId,
|
sca8er |
2:5853bf44af9f
|
3446
|
/*IN*/ HANDLE ProcessId,
|
sca8er |
2:5853bf44af9f
|
3447
|
/*IN*/ BOOLEAN Create);
|
sca8er |
2:5853bf44af9f
|
3448
|
|
sca8er |
2:5853bf44af9f
|
3449
|
typedef VOID DDKAPI
|
sca8er |
2:5853bf44af9f
|
3450
|
(*PCREATE_THREAD_NOTIFY_ROUTINE)(
|
sca8er |
2:5853bf44af9f
|
3451
|
/*IN*/ HANDLE ProcessId,
|
sca8er |
2:5853bf44af9f
|
3452
|
/*IN*/ HANDLE ThreadId,
|
sca8er |
2:5853bf44af9f
|
3453
|
/*IN*/ BOOLEAN Create);
|
sca8er |
2:5853bf44af9f
|
3454
|
|
sca8er |
2:5853bf44af9f
|
3455
|
typedef struct _IMAGE_INFO {
|
sca8er |
2:5853bf44af9f
|
3456
|
_ANONYMOUS_UNION union {
|
sca8er |
2:5853bf44af9f
|
3457
|
ULONG Properties;
|
sca8er |
2:5853bf44af9f
|
3458
|
_ANONYMOUS_STRUCT struct {
|
sca8er |
2:5853bf44af9f
|
3459
|
ULONG ImageAddressingMode : 8;
|
sca8er |
2:5853bf44af9f
|
3460
|
ULONG SystemModeImage : 1;
|
sca8er |
2:5853bf44af9f
|
3461
|
ULONG ImageMappedToAllPids : 1;
|
sca8er |
2:5853bf44af9f
|
3462
|
ULONG Reserved : 22;
|
sca8er |
2:5853bf44af9f
|
3463
|
} DUMMYSTRUCTNAME;
|
sca8er |
2:5853bf44af9f
|
3464
|
} DUMMYUNIONNAME;
|
sca8er |
2:5853bf44af9f
|
3465
|
PVOID ImageBase;
|
sca8er |
2:5853bf44af9f
|
3466
|
ULONG ImageSelector;
|
sca8er |
2:5853bf44af9f
|
3467
|
SIZE_T ImageSize;
|
sca8er |
2:5853bf44af9f
|
3468
|
ULONG ImageSectionNumber;
|
sca8er |
2:5853bf44af9f
|
3469
|
} IMAGE_INFO, *PIMAGE_INFO;
|
sca8er |
2:5853bf44af9f
|
3470
|
|
sca8er |
2:5853bf44af9f
|
3471
|
#define IMAGE_ADDRESSING_MODE_32BIT 3
|
sca8er |
2:5853bf44af9f
|
3472
|
|
sca8er |
2:5853bf44af9f
|
3473
|
typedef VOID DDKAPI
|
sca8er |
2:5853bf44af9f
|
3474
|
(*PLOAD_IMAGE_NOTIFY_ROUTINE)(
|
sca8er |
2:5853bf44af9f
|
3475
|
/*IN*/ PUNICODE_STRING FullImageName,
|
sca8er |
2:5853bf44af9f
|
3476
|
/*IN*/ HANDLE ProcessId,
|
sca8er |
2:5853bf44af9f
|
3477
|
/*IN*/ PIMAGE_INFO ImageInfo);
|
sca8er |
2:5853bf44af9f
|
3478
|
|
sca8er |
2:5853bf44af9f
|
3479
|
typedef enum _PROCESSINFOCLASS {
|
sca8er |
2:5853bf44af9f
|
3480
|
ProcessBasicInformation,
|
sca8er |
2:5853bf44af9f
|
3481
|
ProcessQuotaLimits,
|
sca8er |
2:5853bf44af9f
|
3482
|
ProcessIoCounters,
|
sca8er |
2:5853bf44af9f
|
3483
|
ProcessVmCounters,
|
sca8er |
2:5853bf44af9f
|
3484
|
ProcessTimes,
|
sca8er |
2:5853bf44af9f
|
3485
|
ProcessBasePriority,
|
sca8er |
2:5853bf44af9f
|
3486
|
ProcessRaisePriority,
|
sca8er |
2:5853bf44af9f
|
3487
|
ProcessDebugPort,
|
sca8er |
2:5853bf44af9f
|
3488
|
ProcessExceptionPort,
|
sca8er |
2:5853bf44af9f
|
3489
|
ProcessAccessToken,
|
sca8er |
2:5853bf44af9f
|
3490
|
ProcessLdtInformation,
|
sca8er |
2:5853bf44af9f
|
3491
|
ProcessLdtSize,
|
sca8er |
2:5853bf44af9f
|
3492
|
ProcessDefaultHardErrorMode,
|
sca8er |
2:5853bf44af9f
|
3493
|
ProcessIoPortHandlers,
|
sca8er |
2:5853bf44af9f
|
3494
|
ProcessPooledUsageAndLimits,
|
sca8er |
2:5853bf44af9f
|
3495
|
ProcessWorkingSetWatch,
|
sca8er |
2:5853bf44af9f
|
3496
|
ProcessUserModeIOPL,
|
sca8er |
2:5853bf44af9f
|
3497
|
ProcessEnableAlignmentFaultFixup,
|
sca8er |
2:5853bf44af9f
|
3498
|
ProcessPriorityClass,
|
sca8er |
2:5853bf44af9f
|
3499
|
ProcessWx86Information,
|
sca8er |
2:5853bf44af9f
|
3500
|
ProcessHandleCount,
|
sca8er |
2:5853bf44af9f
|
3501
|
ProcessAffinityMask,
|
sca8er |
2:5853bf44af9f
|
3502
|
ProcessPriorityBoost,
|
sca8er |
2:5853bf44af9f
|
3503
|
ProcessDeviceMap,
|
sca8er |
2:5853bf44af9f
|
3504
|
ProcessSessionInformation,
|
sca8er |
2:5853bf44af9f
|
3505
|
ProcessForegroundInformation,
|
sca8er |
2:5853bf44af9f
|
3506
|
ProcessWow64Information,
|
sca8er |
2:5853bf44af9f
|
3507
|
ProcessImageFileName,
|
sca8er |
2:5853bf44af9f
|
3508
|
ProcessLUIDDeviceMapsEnabled,
|
sca8er |
2:5853bf44af9f
|
3509
|
ProcessBreakOnTermination,
|
sca8er |
2:5853bf44af9f
|
3510
|
ProcessDebugObjectHandle,
|
sca8er |
2:5853bf44af9f
|
3511
|
ProcessDebugFlags,
|
sca8er |
2:5853bf44af9f
|
3512
|
ProcessHandleTracing,
|
sca8er |
2:5853bf44af9f
|
3513
|
MaxProcessInfoClass
|
sca8er |
2:5853bf44af9f
|
3514
|
} PROCESSINFOCLASS;
|
sca8er |
2:5853bf44af9f
|
3515
|
|
sca8er |
2:5853bf44af9f
|
3516
|
typedef enum _THREADINFOCLASS {
|
sca8er |
2:5853bf44af9f
|
3517
|
ThreadBasicInformation,
|
sca8er |
2:5853bf44af9f
|
3518
|
ThreadTimes,
|
sca8er |
2:5853bf44af9f
|
3519
|
ThreadPriority,
|
sca8er |
2:5853bf44af9f
|
3520
|
ThreadBasePriority,
|
sca8er |
2:5853bf44af9f
|
3521
|
ThreadAffinityMask,
|
sca8er |
2:5853bf44af9f
|
3522
|
ThreadImpersonationToken,
|
sca8er |
2:5853bf44af9f
|
3523
|
ThreadDescriptorTableEntry,
|
sca8er |
2:5853bf44af9f
|
3524
|
ThreadEnableAlignmentFaultFixup,
|
sca8er |
2:5853bf44af9f
|
3525
|
ThreadEventPair_Reusable,
|
sca8er |
2:5853bf44af9f
|
3526
|
ThreadQuerySetWin32StartAddress,
|
sca8er |
2:5853bf44af9f
|
3527
|
ThreadZeroTlsCell,
|
sca8er |
2:5853bf44af9f
|
3528
|
ThreadPerformanceCount,
|
sca8er |
2:5853bf44af9f
|
3529
|
ThreadAmILastThread,
|
sca8er |
2:5853bf44af9f
|
3530
|
ThreadIdealProcessor,
|
sca8er |
2:5853bf44af9f
|
3531
|
ThreadPriorityBoost,
|
sca8er |
2:5853bf44af9f
|
3532
|
ThreadSetTlsArrayAddress,
|
sca8er |
2:5853bf44af9f
|
3533
|
ThreadIsIoPending,
|
sca8er |
2:5853bf44af9f
|
3534
|
ThreadHideFromDebugger,
|
sca8er |
2:5853bf44af9f
|
3535
|
ThreadBreakOnTermination,
|
sca8er |
2:5853bf44af9f
|
3536
|
MaxThreadInfoClass
|
sca8er |
2:5853bf44af9f
|
3537
|
} THREADINFOCLASS;
|
sca8er |
2:5853bf44af9f
|
3538
|
|
sca8er |
2:5853bf44af9f
|
3539
|
#define ES_SYSTEM_REQUIRED 0x00000001
|
sca8er |
2:5853bf44af9f
|
3540
|
#define ES_DISPLAY_REQUIRED 0x00000002
|
sca8er |
2:5853bf44af9f
|
3541
|
#define ES_USER_PRESENT 0x00000004
|
sca8er |
2:5853bf44af9f
|
3542
|
#define ES_CONTINUOUS 0x80000000
|
sca8er |
2:5853bf44af9f
|
3543
|
|
sca8er |
2:5853bf44af9f
|
3544
|
typedef ULONG EXECUTION_STATE;
|
sca8er |
2:5853bf44af9f
|
3545
|
|
sca8er |
2:5853bf44af9f
|
3546
|
typedef VOID DDKAPI
|
sca8er |
2:5853bf44af9f
|
3547
|
(*PREQUEST_POWER_COMPLETE)(
|
sca8er |
2:5853bf44af9f
|
3548
|
/*IN*/ PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
3549
|
/*IN*/ UCHAR MinorFunction,
|
sca8er |
2:5853bf44af9f
|
3550
|
/*IN*/ POWER_STATE PowerState,
|
sca8er |
2:5853bf44af9f
|
3551
|
/*IN*/ PVOID Context,
|
sca8er |
2:5853bf44af9f
|
3552
|
/*IN*/ PIO_STATUS_BLOCK IoStatus);
|
sca8er |
2:5853bf44af9f
|
3553
|
|
sca8er |
2:5853bf44af9f
|
3554
|
typedef enum _TRACE_INFORMATION_CLASS {
|
sca8er |
2:5853bf44af9f
|
3555
|
TraceIdClass,
|
sca8er |
2:5853bf44af9f
|
3556
|
TraceHandleClass,
|
sca8er |
2:5853bf44af9f
|
3557
|
TraceEnableFlagsClass,
|
sca8er |
2:5853bf44af9f
|
3558
|
TraceEnableLevelClass,
|
sca8er |
2:5853bf44af9f
|
3559
|
GlobalLoggerHandleClass,
|
sca8er |
2:5853bf44af9f
|
3560
|
EventLoggerHandleClass,
|
sca8er |
2:5853bf44af9f
|
3561
|
AllLoggerHandlesClass,
|
sca8er |
2:5853bf44af9f
|
3562
|
TraceHandleByNameClass
|
sca8er |
2:5853bf44af9f
|
3563
|
} TRACE_INFORMATION_CLASS;
|
sca8er |
2:5853bf44af9f
|
3564
|
|
sca8er |
2:5853bf44af9f
|
3565
|
typedef NTSTATUS DDKAPI
|
sca8er |
2:5853bf44af9f
|
3566
|
(*PEX_CALLBACK_FUNCTION)(
|
sca8er |
2:5853bf44af9f
|
3567
|
/*IN*/ PVOID CallbackContext,
|
sca8er |
2:5853bf44af9f
|
3568
|
/*IN*/ PVOID Argument1,
|
sca8er |
2:5853bf44af9f
|
3569
|
/*IN*/ PVOID Argument2);
|
sca8er |
2:5853bf44af9f
|
3570
|
|
sca8er |
2:5853bf44af9f
|
3571
|
|
sca8er |
2:5853bf44af9f
|
3572
|
|
sca8er |
2:5853bf44af9f
|
3573
|
/*
|
sca8er |
2:5853bf44af9f
|
3574
|
** Storage structures
|
sca8er |
2:5853bf44af9f
|
3575
|
*/
|
sca8er |
2:5853bf44af9f
|
3576
|
typedef enum _PARTITION_STYLE {
|
sca8er |
2:5853bf44af9f
|
3577
|
PARTITION_STYLE_MBR,
|
sca8er |
2:5853bf44af9f
|
3578
|
PARTITION_STYLE_GPT
|
sca8er |
2:5853bf44af9f
|
3579
|
} PARTITION_STYLE;
|
sca8er |
2:5853bf44af9f
|
3580
|
|
sca8er |
2:5853bf44af9f
|
3581
|
typedef struct _CREATE_DISK_MBR {
|
sca8er |
2:5853bf44af9f
|
3582
|
ULONG Signature;
|
sca8er |
2:5853bf44af9f
|
3583
|
} CREATE_DISK_MBR, *PCREATE_DISK_MBR;
|
sca8er |
2:5853bf44af9f
|
3584
|
|
sca8er |
2:5853bf44af9f
|
3585
|
typedef struct _CREATE_DISK_GPT {
|
sca8er |
2:5853bf44af9f
|
3586
|
GUID DiskId;
|
sca8er |
2:5853bf44af9f
|
3587
|
ULONG MaxPartitionCount;
|
sca8er |
2:5853bf44af9f
|
3588
|
} CREATE_DISK_GPT, *PCREATE_DISK_GPT;
|
sca8er |
2:5853bf44af9f
|
3589
|
|
sca8er |
2:5853bf44af9f
|
3590
|
typedef struct _CREATE_DISK {
|
sca8er |
2:5853bf44af9f
|
3591
|
PARTITION_STYLE PartitionStyle;
|
sca8er |
2:5853bf44af9f
|
3592
|
_ANONYMOUS_UNION union {
|
sca8er |
2:5853bf44af9f
|
3593
|
CREATE_DISK_MBR Mbr;
|
sca8er |
2:5853bf44af9f
|
3594
|
CREATE_DISK_GPT Gpt;
|
sca8er |
2:5853bf44af9f
|
3595
|
} DUMMYUNIONNAME;
|
sca8er |
2:5853bf44af9f
|
3596
|
} CREATE_DISK, *PCREATE_DISK;
|
sca8er |
2:5853bf44af9f
|
3597
|
|
sca8er |
2:5853bf44af9f
|
3598
|
typedef struct _DISK_SIGNATURE {
|
sca8er |
2:5853bf44af9f
|
3599
|
ULONG PartitionStyle;
|
sca8er |
2:5853bf44af9f
|
3600
|
_ANONYMOUS_UNION union {
|
sca8er |
2:5853bf44af9f
|
3601
|
struct {
|
sca8er |
2:5853bf44af9f
|
3602
|
ULONG Signature;
|
sca8er |
2:5853bf44af9f
|
3603
|
ULONG CheckSum;
|
sca8er |
2:5853bf44af9f
|
3604
|
} Mbr;
|
sca8er |
2:5853bf44af9f
|
3605
|
struct {
|
sca8er |
2:5853bf44af9f
|
3606
|
GUID DiskId;
|
sca8er |
2:5853bf44af9f
|
3607
|
} Gpt;
|
sca8er |
2:5853bf44af9f
|
3608
|
} DUMMYUNIONNAME;
|
sca8er |
2:5853bf44af9f
|
3609
|
} DISK_SIGNATURE, *PDISK_SIGNATURE;
|
sca8er |
2:5853bf44af9f
|
3610
|
|
sca8er |
2:5853bf44af9f
|
3611
|
typedef VOID DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
3612
|
(*PTIME_UPDATE_NOTIFY_ROUTINE)(
|
sca8er |
2:5853bf44af9f
|
3613
|
/*IN*/ HANDLE ThreadId,
|
sca8er |
2:5853bf44af9f
|
3614
|
/*IN*/ KPROCESSOR_MODE Mode);
|
sca8er |
2:5853bf44af9f
|
3615
|
|
sca8er |
2:5853bf44af9f
|
3616
|
#define DBG_STATUS_CONTROL_C 1
|
sca8er |
2:5853bf44af9f
|
3617
|
#define DBG_STATUS_SYSRQ 2
|
sca8er |
2:5853bf44af9f
|
3618
|
#define DBG_STATUS_BUGCHECK_FIRST 3
|
sca8er |
2:5853bf44af9f
|
3619
|
#define DBG_STATUS_BUGCHECK_SECOND 4
|
sca8er |
2:5853bf44af9f
|
3620
|
#define DBG_STATUS_FATAL 5
|
sca8er |
2:5853bf44af9f
|
3621
|
#define DBG_STATUS_DEBUG_CONTROL 6
|
sca8er |
2:5853bf44af9f
|
3622
|
#define DBG_STATUS_WORKER 7
|
sca8er |
2:5853bf44af9f
|
3623
|
|
sca8er |
2:5853bf44af9f
|
3624
|
typedef struct _PHYSICAL_MEMORY_RANGE {
|
sca8er |
2:5853bf44af9f
|
3625
|
PHYSICAL_ADDRESS BaseAddress;
|
sca8er |
2:5853bf44af9f
|
3626
|
LARGE_INTEGER NumberOfBytes;
|
sca8er |
2:5853bf44af9f
|
3627
|
} PHYSICAL_MEMORY_RANGE, *PPHYSICAL_MEMORY_RANGE;
|
sca8er |
2:5853bf44af9f
|
3628
|
|
sca8er |
2:5853bf44af9f
|
3629
|
typedef ULONG_PTR
|
sca8er |
2:5853bf44af9f
|
3630
|
(*PDRIVER_VERIFIER_THUNK_ROUTINE)(
|
sca8er |
2:5853bf44af9f
|
3631
|
/*IN*/ PVOID Context);
|
sca8er |
2:5853bf44af9f
|
3632
|
|
sca8er |
2:5853bf44af9f
|
3633
|
typedef struct _DRIVER_VERIFIER_THUNK_PAIRS {
|
sca8er |
2:5853bf44af9f
|
3634
|
PDRIVER_VERIFIER_THUNK_ROUTINE PristineRoutine;
|
sca8er |
2:5853bf44af9f
|
3635
|
PDRIVER_VERIFIER_THUNK_ROUTINE NewRoutine;
|
sca8er |
2:5853bf44af9f
|
3636
|
} DRIVER_VERIFIER_THUNK_PAIRS, *PDRIVER_VERIFIER_THUNK_PAIRS;
|
sca8er |
2:5853bf44af9f
|
3637
|
|
sca8er |
2:5853bf44af9f
|
3638
|
#define DRIVER_VERIFIER_SPECIAL_POOLING 0x0001
|
sca8er |
2:5853bf44af9f
|
3639
|
#define DRIVER_VERIFIER_FORCE_IRQL_CHECKING 0x0002
|
sca8er |
2:5853bf44af9f
|
3640
|
#define DRIVER_VERIFIER_INJECT_ALLOCATION_FAILURES 0x0004
|
sca8er |
2:5853bf44af9f
|
3641
|
#define DRIVER_VERIFIER_TRACK_POOL_ALLOCATIONS 0x0008
|
sca8er |
2:5853bf44af9f
|
3642
|
#define DRIVER_VERIFIER_IO_CHECKING 0x0010
|
sca8er |
2:5853bf44af9f
|
3643
|
|
sca8er |
2:5853bf44af9f
|
3644
|
#define RTL_RANGE_LIST_ADD_IF_CONFLICT 0x00000001
|
sca8er |
2:5853bf44af9f
|
3645
|
#define RTL_RANGE_LIST_ADD_SHARED 0x00000002
|
sca8er |
2:5853bf44af9f
|
3646
|
|
sca8er |
2:5853bf44af9f
|
3647
|
#define RTL_RANGE_LIST_SHARED_OK 0x00000001
|
sca8er |
2:5853bf44af9f
|
3648
|
#define RTL_RANGE_LIST_NULL_CONFLICT_OK 0x00000002
|
sca8er |
2:5853bf44af9f
|
3649
|
|
sca8er |
2:5853bf44af9f
|
3650
|
#define RTL_RANGE_LIST_SHARED_OK 0x00000001
|
sca8er |
2:5853bf44af9f
|
3651
|
#define RTL_RANGE_LIST_NULL_CONFLICT_OK 0x00000002
|
sca8er |
2:5853bf44af9f
|
3652
|
|
sca8er |
2:5853bf44af9f
|
3653
|
#define RTL_RANGE_LIST_MERGE_IF_CONFLICT RTL_RANGE_LIST_ADD_IF_CONFLICT
|
sca8er |
2:5853bf44af9f
|
3654
|
|
sca8er |
2:5853bf44af9f
|
3655
|
typedef struct _RTL_RANGE {
|
sca8er |
2:5853bf44af9f
|
3656
|
ULONGLONG Start;
|
sca8er |
2:5853bf44af9f
|
3657
|
ULONGLONG End;
|
sca8er |
2:5853bf44af9f
|
3658
|
PVOID UserData;
|
sca8er |
2:5853bf44af9f
|
3659
|
PVOID Owner;
|
sca8er |
2:5853bf44af9f
|
3660
|
UCHAR Attributes;
|
sca8er |
2:5853bf44af9f
|
3661
|
UCHAR Flags;
|
sca8er |
2:5853bf44af9f
|
3662
|
} RTL_RANGE, *PRTL_RANGE;
|
sca8er |
2:5853bf44af9f
|
3663
|
|
sca8er |
2:5853bf44af9f
|
3664
|
#define RTL_RANGE_SHARED 0x01
|
sca8er |
2:5853bf44af9f
|
3665
|
#define RTL_RANGE_CONFLICT 0x02
|
sca8er |
2:5853bf44af9f
|
3666
|
|
sca8er |
2:5853bf44af9f
|
3667
|
typedef struct _RTL_RANGE_LIST {
|
sca8er |
2:5853bf44af9f
|
3668
|
LIST_ENTRY ListHead;
|
sca8er |
2:5853bf44af9f
|
3669
|
ULONG Flags;
|
sca8er |
2:5853bf44af9f
|
3670
|
ULONG Count;
|
sca8er |
2:5853bf44af9f
|
3671
|
ULONG Stamp;
|
sca8er |
2:5853bf44af9f
|
3672
|
} RTL_RANGE_LIST, *PRTL_RANGE_LIST;
|
sca8er |
2:5853bf44af9f
|
3673
|
|
sca8er |
2:5853bf44af9f
|
3674
|
typedef struct _RANGE_LIST_ITERATOR {
|
sca8er |
2:5853bf44af9f
|
3675
|
PLIST_ENTRY RangeListHead;
|
sca8er |
2:5853bf44af9f
|
3676
|
PLIST_ENTRY MergedHead;
|
sca8er |
2:5853bf44af9f
|
3677
|
PVOID Current;
|
sca8er |
2:5853bf44af9f
|
3678
|
ULONG Stamp;
|
sca8er |
2:5853bf44af9f
|
3679
|
} RTL_RANGE_LIST_ITERATOR, *PRTL_RANGE_LIST_ITERATOR;
|
sca8er |
2:5853bf44af9f
|
3680
|
|
sca8er |
2:5853bf44af9f
|
3681
|
typedef BOOLEAN
|
sca8er |
2:5853bf44af9f
|
3682
|
(*PRTL_CONFLICT_RANGE_CALLBACK)(
|
sca8er |
2:5853bf44af9f
|
3683
|
/*IN*/ PVOID Context,
|
sca8er |
2:5853bf44af9f
|
3684
|
/*IN*/ PRTL_RANGE Range);
|
sca8er |
2:5853bf44af9f
|
3685
|
|
sca8er |
2:5853bf44af9f
|
3686
|
#define HASH_STRING_ALGORITHM_DEFAULT 0
|
sca8er |
2:5853bf44af9f
|
3687
|
#define HASH_STRING_ALGORITHM_X65599 1
|
sca8er |
2:5853bf44af9f
|
3688
|
#define HASH_STRING_ALGORITHM_INVALID 0xffffffff
|
sca8er |
2:5853bf44af9f
|
3689
|
|
sca8er |
2:5853bf44af9f
|
3690
|
typedef enum _SUITE_TYPE {
|
sca8er |
2:5853bf44af9f
|
3691
|
SmallBusiness,
|
sca8er |
2:5853bf44af9f
|
3692
|
Enterprise,
|
sca8er |
2:5853bf44af9f
|
3693
|
BackOffice,
|
sca8er |
2:5853bf44af9f
|
3694
|
CommunicationServer,
|
sca8er |
2:5853bf44af9f
|
3695
|
TerminalServer,
|
sca8er |
2:5853bf44af9f
|
3696
|
SmallBusinessRestricted,
|
sca8er |
2:5853bf44af9f
|
3697
|
EmbeddedNT,
|
sca8er |
2:5853bf44af9f
|
3698
|
DataCenter,
|
sca8er |
2:5853bf44af9f
|
3699
|
SingleUserTS,
|
sca8er |
2:5853bf44af9f
|
3700
|
Personal,
|
sca8er |
2:5853bf44af9f
|
3701
|
Blade,
|
sca8er |
2:5853bf44af9f
|
3702
|
MaxSuiteType
|
sca8er |
2:5853bf44af9f
|
3703
|
} SUITE_TYPE;
|
sca8er |
2:5853bf44af9f
|
3704
|
|
sca8er |
2:5853bf44af9f
|
3705
|
typedef VOID DDKAPI
|
sca8er |
2:5853bf44af9f
|
3706
|
(*PTIMER_APC_ROUTINE)(
|
sca8er |
2:5853bf44af9f
|
3707
|
/*IN*/ PVOID TimerContext,
|
sca8er |
2:5853bf44af9f
|
3708
|
/*IN*/ ULONG TimerLowValue,
|
sca8er |
2:5853bf44af9f
|
3709
|
/*IN*/ LONG TimerHighValue);
|
sca8er |
2:5853bf44af9f
|
3710
|
|
sca8er |
2:5853bf44af9f
|
3711
|
|
sca8er |
2:5853bf44af9f
|
3712
|
|
sca8er |
2:5853bf44af9f
|
3713
|
/*
|
sca8er |
2:5853bf44af9f
|
3714
|
** WMI structures
|
sca8er |
2:5853bf44af9f
|
3715
|
*/
|
sca8er |
2:5853bf44af9f
|
3716
|
|
sca8er |
2:5853bf44af9f
|
3717
|
typedef VOID DDKAPI
|
sca8er |
2:5853bf44af9f
|
3718
|
(*WMI_NOTIFICATION_CALLBACK)(
|
sca8er |
2:5853bf44af9f
|
3719
|
PVOID Wnode,
|
sca8er |
2:5853bf44af9f
|
3720
|
PVOID Context);
|
sca8er |
2:5853bf44af9f
|
3721
|
|
sca8er |
2:5853bf44af9f
|
3722
|
|
sca8er |
2:5853bf44af9f
|
3723
|
/*
|
sca8er |
2:5853bf44af9f
|
3724
|
** Architecture specific structures
|
sca8er |
2:5853bf44af9f
|
3725
|
*/
|
sca8er |
2:5853bf44af9f
|
3726
|
|
sca8er |
2:5853bf44af9f
|
3727
|
#ifdef _X86_
|
sca8er |
2:5853bf44af9f
|
3728
|
|
sca8er |
2:5853bf44af9f
|
3729
|
typedef ULONG PFN_NUMBER, *PPFN_NUMBER;
|
sca8er |
2:5853bf44af9f
|
3730
|
|
sca8er |
2:5853bf44af9f
|
3731
|
#define PASSIVE_LEVEL 0
|
sca8er |
2:5853bf44af9f
|
3732
|
#define LOW_LEVEL 0
|
sca8er |
2:5853bf44af9f
|
3733
|
#define APC_LEVEL 1
|
sca8er |
2:5853bf44af9f
|
3734
|
#define DISPATCH_LEVEL 2
|
sca8er |
2:5853bf44af9f
|
3735
|
#define SYNCH_LEVEL 27
|
sca8er |
2:5853bf44af9f
|
3736
|
#define PROFILE_LEVEL 27
|
sca8er |
2:5853bf44af9f
|
3737
|
#define CLOCK1_LEVEL 28
|
sca8er |
2:5853bf44af9f
|
3738
|
#define CLOCK2_LEVEL 28
|
sca8er |
2:5853bf44af9f
|
3739
|
#define IPI_LEVEL 29
|
sca8er |
2:5853bf44af9f
|
3740
|
#define POWER_LEVEL 30
|
sca8er |
2:5853bf44af9f
|
3741
|
#define HIGH_LEVEL 31
|
sca8er |
2:5853bf44af9f
|
3742
|
|
sca8er |
2:5853bf44af9f
|
3743
|
typedef struct _KPCR_TIB {
|
sca8er |
2:5853bf44af9f
|
3744
|
PVOID ExceptionList; /* 00 */
|
sca8er |
2:5853bf44af9f
|
3745
|
PVOID StackBase; /* 04 */
|
sca8er |
2:5853bf44af9f
|
3746
|
PVOID StackLimit; /* 08 */
|
sca8er |
2:5853bf44af9f
|
3747
|
PVOID SubSystemTib; /* 0C */
|
sca8er |
2:5853bf44af9f
|
3748
|
_ANONYMOUS_UNION union {
|
sca8er |
2:5853bf44af9f
|
3749
|
PVOID FiberData; /* 10 */
|
sca8er |
2:5853bf44af9f
|
3750
|
DWORD Version; /* 10 */
|
sca8er |
2:5853bf44af9f
|
3751
|
} DUMMYUNIONNAME;
|
sca8er |
2:5853bf44af9f
|
3752
|
PVOID ArbitraryUserPointer; /* 14 */
|
sca8er |
2:5853bf44af9f
|
3753
|
struct _NT_TIB *Self; /* 18 */
|
sca8er |
2:5853bf44af9f
|
3754
|
} KPCR_TIB, *PKPCR_TIB; /* 1C */
|
sca8er |
2:5853bf44af9f
|
3755
|
|
sca8er |
2:5853bf44af9f
|
3756
|
#define PCR_MINOR_VERSION 1
|
sca8er |
2:5853bf44af9f
|
3757
|
#define PCR_MAJOR_VERSION 1
|
sca8er |
2:5853bf44af9f
|
3758
|
|
sca8er |
2:5853bf44af9f
|
3759
|
typedef struct _KPCR {
|
sca8er |
2:5853bf44af9f
|
3760
|
KPCR_TIB Tib; /* 00 */
|
sca8er |
2:5853bf44af9f
|
3761
|
struct _KPCR *Self; /* 1C */
|
sca8er |
2:5853bf44af9f
|
3762
|
struct _KPRCB *PCRCB; /* 20 */
|
sca8er |
2:5853bf44af9f
|
3763
|
KIRQL Irql; /* 24 */
|
sca8er |
2:5853bf44af9f
|
3764
|
ULONG IRR; /* 28 */
|
sca8er |
2:5853bf44af9f
|
3765
|
ULONG IrrActive; /* 2C */
|
sca8er |
2:5853bf44af9f
|
3766
|
ULONG IDR; /* 30 */
|
sca8er |
2:5853bf44af9f
|
3767
|
PVOID KdVersionBlock; /* 34 */
|
sca8er |
2:5853bf44af9f
|
3768
|
PUSHORT IDT; /* 38 */
|
sca8er |
2:5853bf44af9f
|
3769
|
PUSHORT GDT; /* 3C */
|
sca8er |
2:5853bf44af9f
|
3770
|
struct _KTSS *TSS; /* 40 */
|
sca8er |
2:5853bf44af9f
|
3771
|
USHORT MajorVersion; /* 44 */
|
sca8er |
2:5853bf44af9f
|
3772
|
USHORT MinorVersion; /* 46 */
|
sca8er |
2:5853bf44af9f
|
3773
|
KAFFINITY SetMember; /* 48 */
|
sca8er |
2:5853bf44af9f
|
3774
|
ULONG StallScaleFactor; /* 4C */
|
sca8er |
2:5853bf44af9f
|
3775
|
UCHAR SpareUnused; /* 50 */
|
sca8er |
2:5853bf44af9f
|
3776
|
UCHAR Number; /* 51 */
|
sca8er |
2:5853bf44af9f
|
3777
|
} KPCR, *PKPCR; /* 54 */
|
sca8er |
2:5853bf44af9f
|
3778
|
|
sca8er |
2:5853bf44af9f
|
3779
|
typedef struct _KFLOATING_SAVE {
|
sca8er |
2:5853bf44af9f
|
3780
|
ULONG ControlWord;
|
sca8er |
2:5853bf44af9f
|
3781
|
ULONG StatusWord;
|
sca8er |
2:5853bf44af9f
|
3782
|
ULONG ErrorOffset;
|
sca8er |
2:5853bf44af9f
|
3783
|
ULONG ErrorSelector;
|
sca8er |
2:5853bf44af9f
|
3784
|
ULONG DataOffset;
|
sca8er |
2:5853bf44af9f
|
3785
|
ULONG DataSelector;
|
sca8er |
2:5853bf44af9f
|
3786
|
ULONG Cr0NpxState;
|
sca8er |
2:5853bf44af9f
|
3787
|
ULONG Spare1;
|
sca8er |
2:5853bf44af9f
|
3788
|
} KFLOATING_SAVE, *PKFLOATING_SAVE;
|
sca8er |
2:5853bf44af9f
|
3789
|
|
sca8er |
2:5853bf44af9f
|
3790
|
#define PAGE_SIZE 0x1000
|
sca8er |
2:5853bf44af9f
|
3791
|
#define PAGE_SHIFT 12L
|
sca8er |
2:5853bf44af9f
|
3792
|
|
sca8er |
2:5853bf44af9f
|
3793
|
extern NTOSAPI PVOID *MmHighestUserAddress;
|
sca8er |
2:5853bf44af9f
|
3794
|
extern NTOSAPI PVOID *MmSystemRangeStart;
|
sca8er |
2:5853bf44af9f
|
3795
|
extern NTOSAPI ULONG *MmUserProbeAddress;
|
sca8er |
2:5853bf44af9f
|
3796
|
|
sca8er |
2:5853bf44af9f
|
3797
|
#define MM_HIGHEST_USER_ADDRESS *MmHighestUserAddress
|
sca8er |
2:5853bf44af9f
|
3798
|
#define MM_SYSTEM_RANGE_START *MmSystemRangeStart
|
sca8er |
2:5853bf44af9f
|
3799
|
#define MM_USER_PROBE_ADDRESS *MmUserProbeAddress
|
sca8er |
2:5853bf44af9f
|
3800
|
#define MM_LOWEST_USER_ADDRESS (PVOID)0x10000
|
sca8er |
2:5853bf44af9f
|
3801
|
#define MM_LOWEST_SYSTEM_ADDRESS (PVOID)0xC0C00000
|
sca8er |
2:5853bf44af9f
|
3802
|
|
sca8er |
2:5853bf44af9f
|
3803
|
#define KI_USER_SHARED_DATA 0xffdf0000
|
sca8er |
2:5853bf44af9f
|
3804
|
#define SharedUserData ((KUSER_SHARED_DATA * CONST) KI_USER_SHARED_DATA)
|
sca8er |
2:5853bf44af9f
|
3805
|
|
sca8er |
2:5853bf44af9f
|
3806
|
#define EFLAG_SIGN 0x8000
|
sca8er |
2:5853bf44af9f
|
3807
|
#define EFLAG_ZERO 0x4000
|
sca8er |
2:5853bf44af9f
|
3808
|
#define EFLAG_SELECT (EFLAG_SIGN | EFLAG_ZERO)
|
sca8er |
2:5853bf44af9f
|
3809
|
|
sca8er |
2:5853bf44af9f
|
3810
|
#define RESULT_NEGATIVE ((EFLAG_SIGN & ~EFLAG_ZERO) & EFLAG_SELECT)
|
sca8er |
2:5853bf44af9f
|
3811
|
#define RESULT_ZERO ((~EFLAG_SIGN & EFLAG_ZERO) & EFLAG_SELECT)
|
sca8er |
2:5853bf44af9f
|
3812
|
#define RESULT_POSITIVE ((~EFLAG_SIGN & ~EFLAG_ZERO) & EFLAG_SELECT)
|
sca8er |
2:5853bf44af9f
|
3813
|
|
sca8er |
2:5853bf44af9f
|
3814
|
typedef enum _INTERLOCKED_RESULT {
|
sca8er |
2:5853bf44af9f
|
3815
|
ResultNegative = RESULT_NEGATIVE,
|
sca8er |
2:5853bf44af9f
|
3816
|
ResultZero = RESULT_ZERO,
|
sca8er |
2:5853bf44af9f
|
3817
|
ResultPositive = RESULT_POSITIVE
|
sca8er |
2:5853bf44af9f
|
3818
|
} INTERLOCKED_RESULT;
|
sca8er |
2:5853bf44af9f
|
3819
|
|
sca8er |
2:5853bf44af9f
|
3820
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
3821
|
KIRQL
|
sca8er |
2:5853bf44af9f
|
3822
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
3823
|
KeGetCurrentIrql(
|
sca8er |
2:5853bf44af9f
|
3824
|
VOID);
|
sca8er |
2:5853bf44af9f
|
3825
|
|
sca8er |
2:5853bf44af9f
|
3826
|
/*
|
sca8er |
2:5853bf44af9f
|
3827
|
* ULONG
|
sca8er |
2:5853bf44af9f
|
3828
|
* KeGetCurrentProcessorNumber(
|
sca8er |
2:5853bf44af9f
|
3829
|
* VOID)
|
sca8er |
2:5853bf44af9f
|
3830
|
*/
|
sca8er |
2:5853bf44af9f
|
3831
|
#define KeGetCurrentProcessorNumber() \
|
sca8er |
2:5853bf44af9f
|
3832
|
((ULONG)KeGetCurrentKPCR()->Number)
|
sca8er |
2:5853bf44af9f
|
3833
|
|
sca8er |
2:5853bf44af9f
|
3834
|
|
sca8er |
2:5853bf44af9f
|
3835
|
#if __USE_NTOSKRNL__
|
sca8er |
2:5853bf44af9f
|
3836
|
/* CAREFUL: These are exported from ntoskrnl.exe as __fastcall functions,
|
sca8er |
2:5853bf44af9f
|
3837
|
but are also exported from kernel32.dll and declared in winbase.h as
|
sca8er |
2:5853bf44af9f
|
3838
|
__stdcall */
|
sca8er |
2:5853bf44af9f
|
3839
|
#if !defined(__INTERLOCKED_DECLARED)
|
sca8er |
2:5853bf44af9f
|
3840
|
#define __INTERLOCKED_DECLARED
|
sca8er |
2:5853bf44af9f
|
3841
|
|
sca8er |
2:5853bf44af9f
|
3842
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
3843
|
LONG
|
sca8er |
2:5853bf44af9f
|
3844
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
3845
|
InterlockedIncrement(
|
sca8er |
2:5853bf44af9f
|
3846
|
/*IN*/ LONG VOLATILE *Addend);
|
sca8er |
2:5853bf44af9f
|
3847
|
|
sca8er |
2:5853bf44af9f
|
3848
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
3849
|
LONG
|
sca8er |
2:5853bf44af9f
|
3850
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
3851
|
InterlockedDecrement(
|
sca8er |
2:5853bf44af9f
|
3852
|
/*IN*/ LONG VOLATILE *Addend);
|
sca8er |
2:5853bf44af9f
|
3853
|
|
sca8er |
2:5853bf44af9f
|
3854
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
3855
|
LONG
|
sca8er |
2:5853bf44af9f
|
3856
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
3857
|
InterlockedCompareExchange(
|
sca8er |
2:5853bf44af9f
|
3858
|
/*IN OUT*/ PLONG VOLATILE Destination,
|
sca8er |
2:5853bf44af9f
|
3859
|
/*IN*/ LONG Exchange,
|
sca8er |
2:5853bf44af9f
|
3860
|
/*IN*/ LONG Comparand);
|
sca8er |
2:5853bf44af9f
|
3861
|
|
sca8er |
2:5853bf44af9f
|
3862
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
3863
|
LONG
|
sca8er |
2:5853bf44af9f
|
3864
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
3865
|
InterlockedExchange(
|
sca8er |
2:5853bf44af9f
|
3866
|
/*IN OUT*/ PLONG VOLATILE Target,
|
sca8er |
2:5853bf44af9f
|
3867
|
/*IN*/ LONG Value);
|
sca8er |
2:5853bf44af9f
|
3868
|
|
sca8er |
2:5853bf44af9f
|
3869
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
3870
|
LONG
|
sca8er |
2:5853bf44af9f
|
3871
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
3872
|
InterlockedExchangeAdd(
|
sca8er |
2:5853bf44af9f
|
3873
|
/*IN OUT*/ PLONG VOLATILE Addend,
|
sca8er |
2:5853bf44af9f
|
3874
|
/*IN*/ LONG Value);
|
sca8er |
2:5853bf44af9f
|
3875
|
|
sca8er |
2:5853bf44af9f
|
3876
|
/*
|
sca8er |
2:5853bf44af9f
|
3877
|
* PVOID
|
sca8er |
2:5853bf44af9f
|
3878
|
* InterlockedExchangePointer(
|
sca8er |
2:5853bf44af9f
|
3879
|
* IN OUT PVOID VOLATILE *Target,
|
sca8er |
2:5853bf44af9f
|
3880
|
* IN PVOID Value)
|
sca8er |
2:5853bf44af9f
|
3881
|
*/
|
sca8er |
2:5853bf44af9f
|
3882
|
#define InterlockedExchangePointer(Target, Value) \
|
sca8er |
2:5853bf44af9f
|
3883
|
((PVOID) InterlockedExchange((PLONG) Target, (LONG) Value))
|
sca8er |
2:5853bf44af9f
|
3884
|
|
sca8er |
2:5853bf44af9f
|
3885
|
/*
|
sca8er |
2:5853bf44af9f
|
3886
|
* PVOID
|
sca8er |
2:5853bf44af9f
|
3887
|
* InterlockedCompareExchangePointer(
|
sca8er |
2:5853bf44af9f
|
3888
|
* IN OUT PVOID *Destination,
|
sca8er |
2:5853bf44af9f
|
3889
|
* IN PVOID Exchange,
|
sca8er |
2:5853bf44af9f
|
3890
|
* IN PVOID Comparand)
|
sca8er |
2:5853bf44af9f
|
3891
|
*/
|
sca8er |
2:5853bf44af9f
|
3892
|
#define InterlockedCompareExchangePointer(Destination, Exchange, Comparand) \
|
sca8er |
2:5853bf44af9f
|
3893
|
((PVOID) InterlockedCompareExchange((PLONG) Destination, (LONG) Exchange, (LONG) Comparand))
|
sca8er |
2:5853bf44af9f
|
3894
|
|
sca8er |
2:5853bf44af9f
|
3895
|
#if (_WIN32_WINNT >= 0x0501)
|
sca8er |
2:5853bf44af9f
|
3896
|
PSLIST_ENTRY
|
sca8er |
2:5853bf44af9f
|
3897
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
3898
|
InterlockedPopEntrySList(
|
sca8er |
2:5853bf44af9f
|
3899
|
/*IN*/ PSLIST_HEADER ListHead);
|
sca8er |
2:5853bf44af9f
|
3900
|
|
sca8er |
2:5853bf44af9f
|
3901
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
3902
|
PSLIST_ENTRY
|
sca8er |
2:5853bf44af9f
|
3903
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
3904
|
InterlockedPushEntrySList(
|
sca8er |
2:5853bf44af9f
|
3905
|
/*IN*/ PSLIST_HEADER ListHead,
|
sca8er |
2:5853bf44af9f
|
3906
|
/*IN*/ PSLIST_ENTRY ListEntry);
|
sca8er |
2:5853bf44af9f
|
3907
|
#endif /* _WIN32_WINNT >= 0x0501 */
|
sca8er |
2:5853bf44af9f
|
3908
|
|
sca8er |
2:5853bf44af9f
|
3909
|
#endif /* !__INTERLOCKED_DECLARED */
|
sca8er |
2:5853bf44af9f
|
3910
|
#endif /* __USE_NTOSKRNL__ */
|
sca8er |
2:5853bf44af9f
|
3911
|
|
sca8er |
2:5853bf44af9f
|
3912
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
3913
|
VOID
|
sca8er |
2:5853bf44af9f
|
3914
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
3915
|
KefAcquireSpinLockAtDpcLevel(
|
sca8er |
2:5853bf44af9f
|
3916
|
/*IN*/ PKSPIN_LOCK SpinLock);
|
sca8er |
2:5853bf44af9f
|
3917
|
|
sca8er |
2:5853bf44af9f
|
3918
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
3919
|
VOID
|
sca8er |
2:5853bf44af9f
|
3920
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
3921
|
KefReleaseSpinLockFromDpcLevel(
|
sca8er |
2:5853bf44af9f
|
3922
|
/*IN*/ PKSPIN_LOCK SpinLock);
|
sca8er |
2:5853bf44af9f
|
3923
|
|
sca8er |
2:5853bf44af9f
|
3924
|
#define KeAcquireSpinLockAtDpcLevel(SpinLock) KefAcquireSpinLockAtDpcLevel(SpinLock)
|
sca8er |
2:5853bf44af9f
|
3925
|
#define KeReleaseSpinLockFromDpcLevel(SpinLock) KefReleaseSpinLockFromDpcLevel(SpinLock)
|
sca8er |
2:5853bf44af9f
|
3926
|
|
sca8er |
2:5853bf44af9f
|
3927
|
#define RtlCopyMemoryNonTemporal RtlCopyMemory
|
sca8er |
2:5853bf44af9f
|
3928
|
|
sca8er |
2:5853bf44af9f
|
3929
|
#define KeGetDcacheFillSize() 1L
|
sca8er |
2:5853bf44af9f
|
3930
|
|
sca8er |
2:5853bf44af9f
|
3931
|
#endif /* _X86_ */
|
sca8er |
2:5853bf44af9f
|
3932
|
|
sca8er |
2:5853bf44af9f
|
3933
|
|
sca8er |
2:5853bf44af9f
|
3934
|
|
sca8er |
2:5853bf44af9f
|
3935
|
/*
|
sca8er |
2:5853bf44af9f
|
3936
|
** Utillity functions
|
sca8er |
2:5853bf44af9f
|
3937
|
*/
|
sca8er |
2:5853bf44af9f
|
3938
|
|
sca8er |
2:5853bf44af9f
|
3939
|
#define ARGUMENT_PRESENT(ArgumentPointer) \
|
sca8er |
2:5853bf44af9f
|
3940
|
((BOOLEAN) ((PVOID)ArgumentPointer != (PVOID)NULL))
|
sca8er |
2:5853bf44af9f
|
3941
|
|
sca8er |
2:5853bf44af9f
|
3942
|
/*
|
sca8er |
2:5853bf44af9f
|
3943
|
* ULONG
|
sca8er |
2:5853bf44af9f
|
3944
|
* BYTE_OFFSET(
|
sca8er |
2:5853bf44af9f
|
3945
|
* IN PVOID Va)
|
sca8er |
2:5853bf44af9f
|
3946
|
*/
|
sca8er |
2:5853bf44af9f
|
3947
|
#define BYTE_OFFSET(Va) \
|
sca8er |
2:5853bf44af9f
|
3948
|
((ULONG) ((ULONG_PTR) (Va) & (PAGE_SIZE - 1)))
|
sca8er |
2:5853bf44af9f
|
3949
|
|
sca8er |
2:5853bf44af9f
|
3950
|
/*
|
sca8er |
2:5853bf44af9f
|
3951
|
* ULONG
|
sca8er |
2:5853bf44af9f
|
3952
|
* BYTES_TO_PAGES(
|
sca8er |
2:5853bf44af9f
|
3953
|
* IN ULONG Size)
|
sca8er |
2:5853bf44af9f
|
3954
|
*/
|
sca8er |
2:5853bf44af9f
|
3955
|
#define BYTES_TO_PAGES(Size) \
|
sca8er |
2:5853bf44af9f
|
3956
|
((ULONG) ((ULONG_PTR) (Size) >> PAGE_SHIFT) + (((ULONG) (Size) & (PAGE_SIZE - 1)) != 0))
|
sca8er |
2:5853bf44af9f
|
3957
|
|
sca8er |
2:5853bf44af9f
|
3958
|
/*
|
sca8er |
2:5853bf44af9f
|
3959
|
* PCHAR
|
sca8er |
2:5853bf44af9f
|
3960
|
* CONTAINING_RECORD(
|
sca8er |
2:5853bf44af9f
|
3961
|
* IN PCHAR Address,
|
sca8er |
2:5853bf44af9f
|
3962
|
* IN TYPE Type,
|
sca8er |
2:5853bf44af9f
|
3963
|
* IN PCHAR Field);
|
sca8er |
2:5853bf44af9f
|
3964
|
*/
|
sca8er |
2:5853bf44af9f
|
3965
|
#ifndef CONTAINING_RECORD
|
sca8er |
2:5853bf44af9f
|
3966
|
#define CONTAINING_RECORD(Address, Type, Field) \
|
sca8er |
2:5853bf44af9f
|
3967
|
((Type *) (((ULONG_PTR) Address) - FIELD_OFFSET(Type, Field)))
|
sca8er |
2:5853bf44af9f
|
3968
|
#endif
|
sca8er |
2:5853bf44af9f
|
3969
|
|
sca8er |
2:5853bf44af9f
|
3970
|
/* LONG
|
sca8er |
2:5853bf44af9f
|
3971
|
* FIELD_OFFSET(
|
sca8er |
2:5853bf44af9f
|
3972
|
* IN TYPE Type,
|
sca8er |
2:5853bf44af9f
|
3973
|
* IN PCHAR Field);
|
sca8er |
2:5853bf44af9f
|
3974
|
*/
|
sca8er |
2:5853bf44af9f
|
3975
|
#ifndef FIELD_OFFSET
|
sca8er |
2:5853bf44af9f
|
3976
|
#define FIELD_OFFSET(Type, Field) \
|
sca8er |
2:5853bf44af9f
|
3977
|
((LONG) (&(((Type *) 0)->Field)))
|
sca8er |
2:5853bf44af9f
|
3978
|
#endif
|
sca8er |
2:5853bf44af9f
|
3979
|
|
sca8er |
2:5853bf44af9f
|
3980
|
/*
|
sca8er |
2:5853bf44af9f
|
3981
|
* PVOID
|
sca8er |
2:5853bf44af9f
|
3982
|
* PAGE_ALIGN(
|
sca8er |
2:5853bf44af9f
|
3983
|
* IN PVOID Va)
|
sca8er |
2:5853bf44af9f
|
3984
|
*/
|
sca8er |
2:5853bf44af9f
|
3985
|
#define PAGE_ALIGN(Va) \
|
sca8er |
2:5853bf44af9f
|
3986
|
((PVOID) ((ULONG_PTR)(Va) & ~(PAGE_SIZE - 1)))
|
sca8er |
2:5853bf44af9f
|
3987
|
|
sca8er |
2:5853bf44af9f
|
3988
|
/*
|
sca8er |
2:5853bf44af9f
|
3989
|
* ULONG_PTR
|
sca8er |
2:5853bf44af9f
|
3990
|
* ROUND_TO_PAGES(
|
sca8er |
2:5853bf44af9f
|
3991
|
* IN ULONG_PTR Size)
|
sca8er |
2:5853bf44af9f
|
3992
|
*/
|
sca8er |
2:5853bf44af9f
|
3993
|
#define ROUND_TO_PAGES(Size) \
|
sca8er |
2:5853bf44af9f
|
3994
|
((ULONG_PTR) (((ULONG_PTR) Size + PAGE_SIZE - 1) & ~(PAGE_SIZE - 1)))
|
sca8er |
2:5853bf44af9f
|
3995
|
|
sca8er |
2:5853bf44af9f
|
3996
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
3997
|
VOID
|
sca8er |
2:5853bf44af9f
|
3998
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
3999
|
RtlAssert(
|
sca8er |
2:5853bf44af9f
|
4000
|
/*IN*/ PVOID FailedAssertion,
|
sca8er |
2:5853bf44af9f
|
4001
|
/*IN*/ PVOID FileName,
|
sca8er |
2:5853bf44af9f
|
4002
|
/*IN*/ ULONG LineNumber,
|
sca8er |
2:5853bf44af9f
|
4003
|
/*IN*/ PCHAR Message);
|
sca8er |
2:5853bf44af9f
|
4004
|
|
sca8er |
2:5853bf44af9f
|
4005
|
#ifdef DBG
|
sca8er |
2:5853bf44af9f
|
4006
|
|
sca8er |
2:5853bf44af9f
|
4007
|
#define ASSERT(exp) \
|
sca8er |
2:5853bf44af9f
|
4008
|
((!(exp)) ? \
|
sca8er |
2:5853bf44af9f
|
4009
|
(RtlAssert( #exp, __FILE__, __LINE__, NULL ), FALSE) : TRUE)
|
sca8er |
2:5853bf44af9f
|
4010
|
|
sca8er |
2:5853bf44af9f
|
4011
|
#define ASSERTMSG(msg, exp) \
|
sca8er |
2:5853bf44af9f
|
4012
|
((!(exp)) ? \
|
sca8er |
2:5853bf44af9f
|
4013
|
(RtlAssert( #exp, __FILE__, __LINE__, msg ), FALSE) : TRUE)
|
sca8er |
2:5853bf44af9f
|
4014
|
|
sca8er |
2:5853bf44af9f
|
4015
|
#define RTL_SOFT_ASSERT(exp) \
|
sca8er |
2:5853bf44af9f
|
4016
|
((!(_exp)) ? \
|
sca8er |
2:5853bf44af9f
|
4017
|
(DbgPrint("%s(%d): Soft assertion failed\n Expression: %s\n", __FILE__, __LINE__, #exp), FALSE) : TRUE)
|
sca8er |
2:5853bf44af9f
|
4018
|
|
sca8er |
2:5853bf44af9f
|
4019
|
#define RTL_SOFT_ASSERTMSG(msg, exp) \
|
sca8er |
2:5853bf44af9f
|
4020
|
((!(exp)) ? \
|
sca8er |
2:5853bf44af9f
|
4021
|
(DbgPrint("%s(%d): Soft assertion failed\n Expression: %s\n Message: %s\n", __FILE__, __LINE__, #exp, (msg)), FALSE) : TRUE)
|
sca8er |
2:5853bf44af9f
|
4022
|
|
sca8er |
2:5853bf44af9f
|
4023
|
#define RTL_VERIFY(exp) ASSERT(exp)
|
sca8er |
2:5853bf44af9f
|
4024
|
#define RTL_VERIFYMSG(msg, exp) ASSERT(msg, exp)
|
sca8er |
2:5853bf44af9f
|
4025
|
|
sca8er |
2:5853bf44af9f
|
4026
|
#define RTL_SOFT_VERIFY(exp) RTL_SOFT_ASSERT(exp)
|
sca8er |
2:5853bf44af9f
|
4027
|
#define RTL_SOFT_VERIFYMSG(msg, exp) RTL_SOFT_ASSERTMSG(msg, exp)
|
sca8er |
2:5853bf44af9f
|
4028
|
|
sca8er |
2:5853bf44af9f
|
4029
|
#else /* !DBG */
|
sca8er |
2:5853bf44af9f
|
4030
|
|
sca8er |
2:5853bf44af9f
|
4031
|
#define ASSERT(exp) ((VOID) 0)
|
sca8er |
2:5853bf44af9f
|
4032
|
#define ASSERTMSG(msg, exp) ((VOID) 0)
|
sca8er |
2:5853bf44af9f
|
4033
|
|
sca8er |
2:5853bf44af9f
|
4034
|
#define RTL_SOFT_ASSERT(exp) ((VOID) 0)
|
sca8er |
2:5853bf44af9f
|
4035
|
#define RTL_SOFT_ASSERTMSG(msg, exp) ((VOID) 0)
|
sca8er |
2:5853bf44af9f
|
4036
|
|
sca8er |
2:5853bf44af9f
|
4037
|
#define RTL_VERIFY(exp) ((exp) ? TRUE : FALSE)
|
sca8er |
2:5853bf44af9f
|
4038
|
#define RTL_VERIFYMSG(msg, exp) ((exp) ? TRUE : FALSE)
|
sca8er |
2:5853bf44af9f
|
4039
|
|
sca8er |
2:5853bf44af9f
|
4040
|
#define RTL_SOFT_VERIFY(exp) ((exp) ? TRUE : FALSE)
|
sca8er |
2:5853bf44af9f
|
4041
|
#define RTL_SOFT_VERIFYMSG(msg, exp) ((exp) ? TRUE : FALSE)
|
sca8er |
2:5853bf44af9f
|
4042
|
|
sca8er |
2:5853bf44af9f
|
4043
|
#endif /* DBG */
|
sca8er |
2:5853bf44af9f
|
4044
|
|
sca8er |
2:5853bf44af9f
|
4045
|
|
sca8er |
2:5853bf44af9f
|
4046
|
/*
|
sca8er |
2:5853bf44af9f
|
4047
|
** Driver support routines
|
sca8er |
2:5853bf44af9f
|
4048
|
*/
|
sca8er |
2:5853bf44af9f
|
4049
|
|
sca8er |
2:5853bf44af9f
|
4050
|
/** Runtime library routines **/
|
sca8er |
2:5853bf44af9f
|
4051
|
|
sca8er |
2:5853bf44af9f
|
4052
|
/*
|
sca8er |
2:5853bf44af9f
|
4053
|
* VOID
|
sca8er |
2:5853bf44af9f
|
4054
|
* InitializeListHead(
|
sca8er |
2:5853bf44af9f
|
4055
|
* IN PLIST_ENTRY ListHead)
|
sca8er |
2:5853bf44af9f
|
4056
|
*/
|
sca8er |
2:5853bf44af9f
|
4057
|
#define InitializeListHead(_ListHead) \
|
sca8er |
2:5853bf44af9f
|
4058
|
{ \
|
sca8er |
2:5853bf44af9f
|
4059
|
(_ListHead)->Flink = (_ListHead); \
|
sca8er |
2:5853bf44af9f
|
4060
|
(_ListHead)->Blink = (_ListHead); \
|
sca8er |
2:5853bf44af9f
|
4061
|
}
|
sca8er |
2:5853bf44af9f
|
4062
|
|
sca8er |
2:5853bf44af9f
|
4063
|
/*
|
sca8er |
2:5853bf44af9f
|
4064
|
* VOID
|
sca8er |
2:5853bf44af9f
|
4065
|
* InsertHeadList(
|
sca8er |
2:5853bf44af9f
|
4066
|
* IN PLIST_ENTRY ListHead,
|
sca8er |
2:5853bf44af9f
|
4067
|
* IN PLIST_ENTRY Entry)
|
sca8er |
2:5853bf44af9f
|
4068
|
*/
|
sca8er |
2:5853bf44af9f
|
4069
|
#define InsertHeadList(_ListHead, \
|
sca8er |
2:5853bf44af9f
|
4070
|
_Entry) \
|
sca8er |
2:5853bf44af9f
|
4071
|
{ \
|
sca8er |
2:5853bf44af9f
|
4072
|
PLIST_ENTRY _OldFlink; \
|
sca8er |
2:5853bf44af9f
|
4073
|
_OldFlink = (_ListHead)->Flink; \
|
sca8er |
2:5853bf44af9f
|
4074
|
(_Entry)->Flink = _OldFlink; \
|
sca8er |
2:5853bf44af9f
|
4075
|
(_Entry)->Blink = (_ListHead); \
|
sca8er |
2:5853bf44af9f
|
4076
|
_OldFlink->Blink = (_Entry); \
|
sca8er |
2:5853bf44af9f
|
4077
|
(_ListHead)->Flink = (_Entry); \
|
sca8er |
2:5853bf44af9f
|
4078
|
}
|
sca8er |
2:5853bf44af9f
|
4079
|
|
sca8er |
2:5853bf44af9f
|
4080
|
/*
|
sca8er |
2:5853bf44af9f
|
4081
|
* VOID
|
sca8er |
2:5853bf44af9f
|
4082
|
* InsertTailList(
|
sca8er |
2:5853bf44af9f
|
4083
|
* IN PLIST_ENTRY ListHead,
|
sca8er |
2:5853bf44af9f
|
4084
|
* IN PLIST_ENTRY Entry)
|
sca8er |
2:5853bf44af9f
|
4085
|
*/
|
sca8er |
2:5853bf44af9f
|
4086
|
#define InsertTailList(_ListHead, \
|
sca8er |
2:5853bf44af9f
|
4087
|
_Entry) \
|
sca8er |
2:5853bf44af9f
|
4088
|
{ \
|
sca8er |
2:5853bf44af9f
|
4089
|
PLIST_ENTRY _OldBlink; \
|
sca8er |
2:5853bf44af9f
|
4090
|
_OldBlink = (_ListHead)->Blink; \
|
sca8er |
2:5853bf44af9f
|
4091
|
(_Entry)->Flink = (_ListHead); \
|
sca8er |
2:5853bf44af9f
|
4092
|
(_Entry)->Blink = _OldBlink; \
|
sca8er |
2:5853bf44af9f
|
4093
|
_OldBlink->Flink = (_Entry); \
|
sca8er |
2:5853bf44af9f
|
4094
|
(_ListHead)->Blink = (_Entry); \
|
sca8er |
2:5853bf44af9f
|
4095
|
}
|
sca8er |
2:5853bf44af9f
|
4096
|
|
sca8er |
2:5853bf44af9f
|
4097
|
/*
|
sca8er |
2:5853bf44af9f
|
4098
|
* BOOLEAN
|
sca8er |
2:5853bf44af9f
|
4099
|
* IsListEmpty(
|
sca8er |
2:5853bf44af9f
|
4100
|
* IN PLIST_ENTRY ListHead)
|
sca8er |
2:5853bf44af9f
|
4101
|
*/
|
sca8er |
2:5853bf44af9f
|
4102
|
#define IsListEmpty(_ListHead) \
|
sca8er |
2:5853bf44af9f
|
4103
|
((_ListHead)->Flink == (_ListHead))
|
sca8er |
2:5853bf44af9f
|
4104
|
|
sca8er |
2:5853bf44af9f
|
4105
|
static __inline PSINGLE_LIST_ENTRY
|
sca8er |
2:5853bf44af9f
|
4106
|
PopEntryList(
|
sca8er |
2:5853bf44af9f
|
4107
|
/*IN*/ PSINGLE_LIST_ENTRY ListHead)
|
sca8er |
2:5853bf44af9f
|
4108
|
{
|
sca8er |
2:5853bf44af9f
|
4109
|
PSINGLE_LIST_ENTRY Entry;
|
sca8er |
2:5853bf44af9f
|
4110
|
|
sca8er |
2:5853bf44af9f
|
4111
|
Entry = ListHead->Next;
|
sca8er |
2:5853bf44af9f
|
4112
|
if (Entry != NULL)
|
sca8er |
2:5853bf44af9f
|
4113
|
{
|
sca8er |
2:5853bf44af9f
|
4114
|
ListHead->Next = Entry->Next;
|
sca8er |
2:5853bf44af9f
|
4115
|
}
|
sca8er |
2:5853bf44af9f
|
4116
|
return Entry;
|
sca8er |
2:5853bf44af9f
|
4117
|
}
|
sca8er |
2:5853bf44af9f
|
4118
|
|
sca8er |
2:5853bf44af9f
|
4119
|
/*
|
sca8er |
2:5853bf44af9f
|
4120
|
* VOID
|
sca8er |
2:5853bf44af9f
|
4121
|
* PushEntryList(
|
sca8er |
2:5853bf44af9f
|
4122
|
* IN PSINGLE_LIST_ENTRY ListHead,
|
sca8er |
2:5853bf44af9f
|
4123
|
* IN PSINGLE_LIST_ENTRY Entry)
|
sca8er |
2:5853bf44af9f
|
4124
|
*/
|
sca8er |
2:5853bf44af9f
|
4125
|
#define PushEntryList(_ListHead, \
|
sca8er |
2:5853bf44af9f
|
4126
|
_Entry) \
|
sca8er |
2:5853bf44af9f
|
4127
|
{ \
|
sca8er |
2:5853bf44af9f
|
4128
|
(_Entry)->Next = (_ListHead)->Next; \
|
sca8er |
2:5853bf44af9f
|
4129
|
(_ListHead)->Next = (_Entry); \
|
sca8er |
2:5853bf44af9f
|
4130
|
}
|
sca8er |
2:5853bf44af9f
|
4131
|
|
sca8er |
2:5853bf44af9f
|
4132
|
/*
|
sca8er |
2:5853bf44af9f
|
4133
|
* VOID
|
sca8er |
2:5853bf44af9f
|
4134
|
* RemoveEntryList(
|
sca8er |
2:5853bf44af9f
|
4135
|
* IN PLIST_ENTRY Entry)
|
sca8er |
2:5853bf44af9f
|
4136
|
*/
|
sca8er |
2:5853bf44af9f
|
4137
|
#define RemoveEntryList(_Entry) \
|
sca8er |
2:5853bf44af9f
|
4138
|
{ \
|
sca8er |
2:5853bf44af9f
|
4139
|
PLIST_ENTRY _OldFlink; \
|
sca8er |
2:5853bf44af9f
|
4140
|
PLIST_ENTRY _OldBlink; \
|
sca8er |
2:5853bf44af9f
|
4141
|
_OldFlink = (_Entry)->Flink; \
|
sca8er |
2:5853bf44af9f
|
4142
|
_OldBlink = (_Entry)->Blink; \
|
sca8er |
2:5853bf44af9f
|
4143
|
_OldFlink->Blink = _OldBlink; \
|
sca8er |
2:5853bf44af9f
|
4144
|
_OldBlink->Flink = _OldFlink; \
|
sca8er |
2:5853bf44af9f
|
4145
|
(_Entry)->Flink = NULL; \
|
sca8er |
2:5853bf44af9f
|
4146
|
(_Entry)->Blink = NULL; \
|
sca8er |
2:5853bf44af9f
|
4147
|
}
|
sca8er |
2:5853bf44af9f
|
4148
|
|
sca8er |
2:5853bf44af9f
|
4149
|
static __inline PLIST_ENTRY
|
sca8er |
2:5853bf44af9f
|
4150
|
RemoveHeadList(
|
sca8er |
2:5853bf44af9f
|
4151
|
/*IN*/ PLIST_ENTRY ListHead)
|
sca8er |
2:5853bf44af9f
|
4152
|
{
|
sca8er |
2:5853bf44af9f
|
4153
|
PLIST_ENTRY OldFlink;
|
sca8er |
2:5853bf44af9f
|
4154
|
PLIST_ENTRY OldBlink;
|
sca8er |
2:5853bf44af9f
|
4155
|
PLIST_ENTRY Entry;
|
sca8er |
2:5853bf44af9f
|
4156
|
|
sca8er |
2:5853bf44af9f
|
4157
|
Entry = ListHead->Flink;
|
sca8er |
2:5853bf44af9f
|
4158
|
OldFlink = ListHead->Flink->Flink;
|
sca8er |
2:5853bf44af9f
|
4159
|
OldBlink = ListHead->Flink->Blink;
|
sca8er |
2:5853bf44af9f
|
4160
|
OldFlink->Blink = OldBlink;
|
sca8er |
2:5853bf44af9f
|
4161
|
OldBlink->Flink = OldFlink;
|
sca8er |
2:5853bf44af9f
|
4162
|
|
sca8er |
2:5853bf44af9f
|
4163
|
if (Entry != ListHead)
|
sca8er |
2:5853bf44af9f
|
4164
|
{
|
sca8er |
2:5853bf44af9f
|
4165
|
Entry->Flink = NULL;
|
sca8er |
2:5853bf44af9f
|
4166
|
Entry->Blink = NULL;
|
sca8er |
2:5853bf44af9f
|
4167
|
}
|
sca8er |
2:5853bf44af9f
|
4168
|
|
sca8er |
2:5853bf44af9f
|
4169
|
return Entry;
|
sca8er |
2:5853bf44af9f
|
4170
|
}
|
sca8er |
2:5853bf44af9f
|
4171
|
|
sca8er |
2:5853bf44af9f
|
4172
|
static __inline PLIST_ENTRY
|
sca8er |
2:5853bf44af9f
|
4173
|
RemoveTailList(
|
sca8er |
2:5853bf44af9f
|
4174
|
/*IN*/ PLIST_ENTRY ListHead)
|
sca8er |
2:5853bf44af9f
|
4175
|
{
|
sca8er |
2:5853bf44af9f
|
4176
|
PLIST_ENTRY OldFlink;
|
sca8er |
2:5853bf44af9f
|
4177
|
PLIST_ENTRY OldBlink;
|
sca8er |
2:5853bf44af9f
|
4178
|
PLIST_ENTRY Entry;
|
sca8er |
2:5853bf44af9f
|
4179
|
|
sca8er |
2:5853bf44af9f
|
4180
|
Entry = ListHead->Blink;
|
sca8er |
2:5853bf44af9f
|
4181
|
OldFlink = ListHead->Blink->Flink;
|
sca8er |
2:5853bf44af9f
|
4182
|
OldBlink = ListHead->Blink->Blink;
|
sca8er |
2:5853bf44af9f
|
4183
|
OldFlink->Blink = OldBlink;
|
sca8er |
2:5853bf44af9f
|
4184
|
OldBlink->Flink = OldFlink;
|
sca8er |
2:5853bf44af9f
|
4185
|
|
sca8er |
2:5853bf44af9f
|
4186
|
if (Entry != ListHead)
|
sca8er |
2:5853bf44af9f
|
4187
|
{
|
sca8er |
2:5853bf44af9f
|
4188
|
Entry->Flink = NULL;
|
sca8er |
2:5853bf44af9f
|
4189
|
Entry->Blink = NULL;
|
sca8er |
2:5853bf44af9f
|
4190
|
}
|
sca8er |
2:5853bf44af9f
|
4191
|
|
sca8er |
2:5853bf44af9f
|
4192
|
return Entry;
|
sca8er |
2:5853bf44af9f
|
4193
|
}
|
sca8er |
2:5853bf44af9f
|
4194
|
|
sca8er |
2:5853bf44af9f
|
4195
|
/*
|
sca8er |
2:5853bf44af9f
|
4196
|
* USHORT
|
sca8er |
2:5853bf44af9f
|
4197
|
* QueryDepthSList(
|
sca8er |
2:5853bf44af9f
|
4198
|
* IN PSLIST_HEADER SListHead)
|
sca8er |
2:5853bf44af9f
|
4199
|
*/
|
sca8er |
2:5853bf44af9f
|
4200
|
#define QueryDepthSList(_SListHead) \
|
sca8er |
2:5853bf44af9f
|
4201
|
((USHORT) ((_SListHead)->Alignment & 0xffff))
|
sca8er |
2:5853bf44af9f
|
4202
|
|
sca8er |
2:5853bf44af9f
|
4203
|
#define InterlockedFlushSList(ListHead) ExInterlockedFlushSList(ListHead)
|
sca8er |
2:5853bf44af9f
|
4204
|
|
sca8er |
2:5853bf44af9f
|
4205
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4206
|
ULONG
|
sca8er |
2:5853bf44af9f
|
4207
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4208
|
RtlAnsiStringToUnicodeSize(
|
sca8er |
2:5853bf44af9f
|
4209
|
/*IN*/ PANSI_STRING AnsiString);
|
sca8er |
2:5853bf44af9f
|
4210
|
|
sca8er |
2:5853bf44af9f
|
4211
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4212
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
4213
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4214
|
RtlAddRange(
|
sca8er |
2:5853bf44af9f
|
4215
|
/*IN OUT*/ PRTL_RANGE_LIST RangeList,
|
sca8er |
2:5853bf44af9f
|
4216
|
/*IN*/ ULONGLONG Start,
|
sca8er |
2:5853bf44af9f
|
4217
|
/*IN*/ ULONGLONG End,
|
sca8er |
2:5853bf44af9f
|
4218
|
/*IN*/ UCHAR Attributes,
|
sca8er |
2:5853bf44af9f
|
4219
|
/*IN*/ ULONG Flags,
|
sca8er |
2:5853bf44af9f
|
4220
|
/*IN*/ PVOID UserData /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
4221
|
/*IN*/ PVOID Owner /*OPTIONAL*/);
|
sca8er |
2:5853bf44af9f
|
4222
|
|
sca8er |
2:5853bf44af9f
|
4223
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4224
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
4225
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4226
|
RtlAnsiStringToUnicodeString(
|
sca8er |
2:5853bf44af9f
|
4227
|
/*IN OUT*/ PUNICODE_STRING DestinationString,
|
sca8er |
2:5853bf44af9f
|
4228
|
/*IN*/ PANSI_STRING SourceString,
|
sca8er |
2:5853bf44af9f
|
4229
|
/*IN*/ BOOLEAN AllocateDestinationString);
|
sca8er |
2:5853bf44af9f
|
4230
|
|
sca8er |
2:5853bf44af9f
|
4231
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4232
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
4233
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4234
|
RtlAppendUnicodeStringToString(
|
sca8er |
2:5853bf44af9f
|
4235
|
/*IN OUT*/ PUNICODE_STRING Destination,
|
sca8er |
2:5853bf44af9f
|
4236
|
/*IN*/ PUNICODE_STRING Source);
|
sca8er |
2:5853bf44af9f
|
4237
|
|
sca8er |
2:5853bf44af9f
|
4238
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4239
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
4240
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4241
|
RtlAppendUnicodeToString(
|
sca8er |
2:5853bf44af9f
|
4242
|
/*IN OUT*/ PUNICODE_STRING Destination,
|
sca8er |
2:5853bf44af9f
|
4243
|
/*IN*/ PCWSTR Source);
|
sca8er |
2:5853bf44af9f
|
4244
|
|
sca8er |
2:5853bf44af9f
|
4245
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4246
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
4247
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4248
|
RtlAreBitsClear(
|
sca8er |
2:5853bf44af9f
|
4249
|
/*IN*/ PRTL_BITMAP BitMapHeader,
|
sca8er |
2:5853bf44af9f
|
4250
|
/*IN*/ ULONG StartingIndex,
|
sca8er |
2:5853bf44af9f
|
4251
|
/*IN*/ ULONG Length);
|
sca8er |
2:5853bf44af9f
|
4252
|
|
sca8er |
2:5853bf44af9f
|
4253
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4254
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
4255
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4256
|
RtlAreBitsSet(
|
sca8er |
2:5853bf44af9f
|
4257
|
/*IN*/ PRTL_BITMAP BitMapHeader,
|
sca8er |
2:5853bf44af9f
|
4258
|
/*IN*/ ULONG StartingIndex,
|
sca8er |
2:5853bf44af9f
|
4259
|
/*IN*/ ULONG Length);
|
sca8er |
2:5853bf44af9f
|
4260
|
|
sca8er |
2:5853bf44af9f
|
4261
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4262
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
4263
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4264
|
RtlCharToInteger(
|
sca8er |
2:5853bf44af9f
|
4265
|
/*IN*/ PCSZ String,
|
sca8er |
2:5853bf44af9f
|
4266
|
/*IN*/ ULONG Base /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
4267
|
/*IN OUT*/ PULONG Value);
|
sca8er |
2:5853bf44af9f
|
4268
|
|
sca8er |
2:5853bf44af9f
|
4269
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4270
|
ULONG
|
sca8er |
2:5853bf44af9f
|
4271
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4272
|
RtlCheckBit(
|
sca8er |
2:5853bf44af9f
|
4273
|
/*IN*/ PRTL_BITMAP BitMapHeader,
|
sca8er |
2:5853bf44af9f
|
4274
|
/*IN*/ ULONG BitPosition);
|
sca8er |
2:5853bf44af9f
|
4275
|
|
sca8er |
2:5853bf44af9f
|
4276
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4277
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
4278
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4279
|
RtlCheckRegistryKey(
|
sca8er |
2:5853bf44af9f
|
4280
|
/*IN*/ ULONG RelativeTo,
|
sca8er |
2:5853bf44af9f
|
4281
|
/*IN*/ PWSTR Path);
|
sca8er |
2:5853bf44af9f
|
4282
|
|
sca8er |
2:5853bf44af9f
|
4283
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4284
|
VOID
|
sca8er |
2:5853bf44af9f
|
4285
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4286
|
RtlClearAllBits(
|
sca8er |
2:5853bf44af9f
|
4287
|
/*IN*/ PRTL_BITMAP BitMapHeader);
|
sca8er |
2:5853bf44af9f
|
4288
|
|
sca8er |
2:5853bf44af9f
|
4289
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4290
|
VOID
|
sca8er |
2:5853bf44af9f
|
4291
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4292
|
RtlClearBit(
|
sca8er |
2:5853bf44af9f
|
4293
|
PRTL_BITMAP BitMapHeader,
|
sca8er |
2:5853bf44af9f
|
4294
|
ULONG BitNumber);
|
sca8er |
2:5853bf44af9f
|
4295
|
|
sca8er |
2:5853bf44af9f
|
4296
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4297
|
VOID
|
sca8er |
2:5853bf44af9f
|
4298
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4299
|
RtlClearBits(
|
sca8er |
2:5853bf44af9f
|
4300
|
/*IN*/ PRTL_BITMAP BitMapHeader,
|
sca8er |
2:5853bf44af9f
|
4301
|
/*IN*/ ULONG StartingIndex,
|
sca8er |
2:5853bf44af9f
|
4302
|
/*IN*/ ULONG NumberToClear);
|
sca8er |
2:5853bf44af9f
|
4303
|
|
sca8er |
2:5853bf44af9f
|
4304
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4305
|
SIZE_T
|
sca8er |
2:5853bf44af9f
|
4306
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4307
|
RtlCompareMemory(
|
sca8er |
2:5853bf44af9f
|
4308
|
/*IN*/ CONST VOID *Source1,
|
sca8er |
2:5853bf44af9f
|
4309
|
/*IN*/ CONST VOID *Source2,
|
sca8er |
2:5853bf44af9f
|
4310
|
/*IN*/ SIZE_T Length);
|
sca8er |
2:5853bf44af9f
|
4311
|
|
sca8er |
2:5853bf44af9f
|
4312
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4313
|
LONG
|
sca8er |
2:5853bf44af9f
|
4314
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4315
|
RtlCompareString(
|
sca8er |
2:5853bf44af9f
|
4316
|
/*IN*/ PSTRING String1,
|
sca8er |
2:5853bf44af9f
|
4317
|
/*IN*/ PSTRING String2,
|
sca8er |
2:5853bf44af9f
|
4318
|
BOOLEAN CaseInSensitive);
|
sca8er |
2:5853bf44af9f
|
4319
|
|
sca8er |
2:5853bf44af9f
|
4320
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4321
|
LONG
|
sca8er |
2:5853bf44af9f
|
4322
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4323
|
RtlCompareUnicodeString(
|
sca8er |
2:5853bf44af9f
|
4324
|
/*IN*/ PUNICODE_STRING String1,
|
sca8er |
2:5853bf44af9f
|
4325
|
/*IN*/ PUNICODE_STRING String2,
|
sca8er |
2:5853bf44af9f
|
4326
|
/*IN*/ BOOLEAN CaseInSensitive);
|
sca8er |
2:5853bf44af9f
|
4327
|
|
sca8er |
2:5853bf44af9f
|
4328
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4329
|
LARGE_INTEGER
|
sca8er |
2:5853bf44af9f
|
4330
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4331
|
RtlConvertLongToLargeInteger(
|
sca8er |
2:5853bf44af9f
|
4332
|
/*IN*/ LONG SignedInteger);
|
sca8er |
2:5853bf44af9f
|
4333
|
|
sca8er |
2:5853bf44af9f
|
4334
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4335
|
LUID
|
sca8er |
2:5853bf44af9f
|
4336
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4337
|
RtlConvertLongToLuid(
|
sca8er |
2:5853bf44af9f
|
4338
|
/*IN*/ LONG Long);
|
sca8er |
2:5853bf44af9f
|
4339
|
|
sca8er |
2:5853bf44af9f
|
4340
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4341
|
LARGE_INTEGER
|
sca8er |
2:5853bf44af9f
|
4342
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4343
|
RtlConvertUlongToLargeInteger(
|
sca8er |
2:5853bf44af9f
|
4344
|
/*IN*/ ULONG UnsignedInteger);
|
sca8er |
2:5853bf44af9f
|
4345
|
|
sca8er |
2:5853bf44af9f
|
4346
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4347
|
LUID
|
sca8er |
2:5853bf44af9f
|
4348
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4349
|
RtlConvertUlongToLuid(
|
sca8er |
2:5853bf44af9f
|
4350
|
ULONG Ulong);
|
sca8er |
2:5853bf44af9f
|
4351
|
|
sca8er |
2:5853bf44af9f
|
4352
|
/*
|
sca8er |
2:5853bf44af9f
|
4353
|
* VOID
|
sca8er |
2:5853bf44af9f
|
4354
|
* RtlCopyMemory(
|
sca8er |
2:5853bf44af9f
|
4355
|
* IN VOID UNALIGNED *Destination,
|
sca8er |
2:5853bf44af9f
|
4356
|
* IN CONST VOID UNALIGNED *Source,
|
sca8er |
2:5853bf44af9f
|
4357
|
* IN SIZE_T Length)
|
sca8er |
2:5853bf44af9f
|
4358
|
*/
|
sca8er |
2:5853bf44af9f
|
4359
|
#ifndef RtlCopyMemory
|
sca8er |
2:5853bf44af9f
|
4360
|
#define RtlCopyMemory(Destination, Source, Length) \
|
sca8er |
2:5853bf44af9f
|
4361
|
memcpy(Destination, Source, Length);
|
sca8er |
2:5853bf44af9f
|
4362
|
#endif
|
sca8er |
2:5853bf44af9f
|
4363
|
|
sca8er |
2:5853bf44af9f
|
4364
|
#ifndef RtlCopyBytes
|
sca8er |
2:5853bf44af9f
|
4365
|
#define RtlCopyBytes RtlCopyMemory
|
sca8er |
2:5853bf44af9f
|
4366
|
#endif
|
sca8er |
2:5853bf44af9f
|
4367
|
|
sca8er |
2:5853bf44af9f
|
4368
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4369
|
VOID
|
sca8er |
2:5853bf44af9f
|
4370
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4371
|
RtlCopyMemory32(
|
sca8er |
2:5853bf44af9f
|
4372
|
/*IN*/ VOID UNALIGNED *Destination,
|
sca8er |
2:5853bf44af9f
|
4373
|
/*IN*/ CONST VOID UNALIGNED *Source,
|
sca8er |
2:5853bf44af9f
|
4374
|
/*IN*/ ULONG Length);
|
sca8er |
2:5853bf44af9f
|
4375
|
|
sca8er |
2:5853bf44af9f
|
4376
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4377
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
4378
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4379
|
RtlCopyRangeList(
|
sca8er |
2:5853bf44af9f
|
4380
|
/*OUT*/ PRTL_RANGE_LIST CopyRangeList,
|
sca8er |
2:5853bf44af9f
|
4381
|
/*IN*/ PRTL_RANGE_LIST RangeList);
|
sca8er |
2:5853bf44af9f
|
4382
|
|
sca8er |
2:5853bf44af9f
|
4383
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4384
|
VOID
|
sca8er |
2:5853bf44af9f
|
4385
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4386
|
RtlCopyString(
|
sca8er |
2:5853bf44af9f
|
4387
|
/*IN OUT*/ PSTRING DestinationString,
|
sca8er |
2:5853bf44af9f
|
4388
|
/*IN*/ PSTRING SourceString /*OPTIONAL*/);
|
sca8er |
2:5853bf44af9f
|
4389
|
|
sca8er |
2:5853bf44af9f
|
4390
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4391
|
VOID
|
sca8er |
2:5853bf44af9f
|
4392
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4393
|
RtlCopyUnicodeString(
|
sca8er |
2:5853bf44af9f
|
4394
|
/*IN OUT*/ PUNICODE_STRING DestinationString,
|
sca8er |
2:5853bf44af9f
|
4395
|
/*IN*/ PUNICODE_STRING SourceString);
|
sca8er |
2:5853bf44af9f
|
4396
|
|
sca8er |
2:5853bf44af9f
|
4397
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4398
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
4399
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4400
|
RtlCreateRegistryKey(
|
sca8er |
2:5853bf44af9f
|
4401
|
/*IN*/ ULONG RelativeTo,
|
sca8er |
2:5853bf44af9f
|
4402
|
/*IN*/ PWSTR Path);
|
sca8er |
2:5853bf44af9f
|
4403
|
|
sca8er |
2:5853bf44af9f
|
4404
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4405
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
4406
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4407
|
RtlCreateSecurityDescriptor(
|
sca8er |
2:5853bf44af9f
|
4408
|
/*IN OUT*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
|
sca8er |
2:5853bf44af9f
|
4409
|
/*IN*/ ULONG Revision);
|
sca8er |
2:5853bf44af9f
|
4410
|
|
sca8er |
2:5853bf44af9f
|
4411
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4412
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
4413
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4414
|
RtlDeleteOwnersRanges(
|
sca8er |
2:5853bf44af9f
|
4415
|
/*IN OUT*/ PRTL_RANGE_LIST RangeList,
|
sca8er |
2:5853bf44af9f
|
4416
|
/*IN*/ PVOID Owner);
|
sca8er |
2:5853bf44af9f
|
4417
|
|
sca8er |
2:5853bf44af9f
|
4418
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4419
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
4420
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4421
|
RtlDeleteRange(
|
sca8er |
2:5853bf44af9f
|
4422
|
/*IN OUT*/ PRTL_RANGE_LIST RangeList,
|
sca8er |
2:5853bf44af9f
|
4423
|
/*IN*/ ULONGLONG Start,
|
sca8er |
2:5853bf44af9f
|
4424
|
/*IN*/ ULONGLONG End,
|
sca8er |
2:5853bf44af9f
|
4425
|
/*IN*/ PVOID Owner);
|
sca8er |
2:5853bf44af9f
|
4426
|
|
sca8er |
2:5853bf44af9f
|
4427
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4428
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
4429
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4430
|
RtlDeleteRegistryValue(
|
sca8er |
2:5853bf44af9f
|
4431
|
/*IN*/ ULONG RelativeTo,
|
sca8er |
2:5853bf44af9f
|
4432
|
/*IN*/ PCWSTR Path,
|
sca8er |
2:5853bf44af9f
|
4433
|
/*IN*/ PCWSTR ValueName);
|
sca8er |
2:5853bf44af9f
|
4434
|
|
sca8er |
2:5853bf44af9f
|
4435
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4436
|
BOOL
|
sca8er |
2:5853bf44af9f
|
4437
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4438
|
RtlDosPathNameToNtPathName_U(
|
sca8er |
2:5853bf44af9f
|
4439
|
/*IN*/ PCWSTR DosPathName,
|
sca8er |
2:5853bf44af9f
|
4440
|
/*OUT*/ PUNICODE_STRING NtPathName,
|
sca8er |
2:5853bf44af9f
|
4441
|
/*OUT*/ PCWSTR *NtFileNamePart,
|
sca8er |
2:5853bf44af9f
|
4442
|
/*OUT*/ VOID *DirectoryInfo);
|
sca8er |
2:5853bf44af9f
|
4443
|
|
sca8er |
2:5853bf44af9f
|
4444
|
/*
|
sca8er |
2:5853bf44af9f
|
4445
|
* BOOLEAN
|
sca8er |
2:5853bf44af9f
|
4446
|
* RtlEqualLuid(
|
sca8er |
2:5853bf44af9f
|
4447
|
* IN LUID Luid1,
|
sca8er |
2:5853bf44af9f
|
4448
|
* IN LUID Luid2)
|
sca8er |
2:5853bf44af9f
|
4449
|
*/
|
sca8er |
2:5853bf44af9f
|
4450
|
#define RtlEqualLuid(_Luid1, \
|
sca8er |
2:5853bf44af9f
|
4451
|
_Luid2) \
|
sca8er |
2:5853bf44af9f
|
4452
|
((Luid1.LowPart == Luid2.LowPart) && (Luid1.HighPart == Luid2.HighPart))
|
sca8er |
2:5853bf44af9f
|
4453
|
|
sca8er |
2:5853bf44af9f
|
4454
|
/*
|
sca8er |
2:5853bf44af9f
|
4455
|
* ULONG
|
sca8er |
2:5853bf44af9f
|
4456
|
* RtlEqualMemory(
|
sca8er |
2:5853bf44af9f
|
4457
|
* IN VOID UNALIGNED *Destination,
|
sca8er |
2:5853bf44af9f
|
4458
|
* IN CONST VOID UNALIGNED *Source,
|
sca8er |
2:5853bf44af9f
|
4459
|
* IN SIZE_T Length)
|
sca8er |
2:5853bf44af9f
|
4460
|
*/
|
sca8er |
2:5853bf44af9f
|
4461
|
#define RtlEqualMemory(Destination, Source, Length) (!memcmp(Destination, Source, Length))
|
sca8er |
2:5853bf44af9f
|
4462
|
|
sca8er |
2:5853bf44af9f
|
4463
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4464
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
4465
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4466
|
RtlEqualString(
|
sca8er |
2:5853bf44af9f
|
4467
|
/*IN*/ PSTRING String1,
|
sca8er |
2:5853bf44af9f
|
4468
|
/*IN*/ PSTRING String2,
|
sca8er |
2:5853bf44af9f
|
4469
|
/*IN*/ BOOLEAN CaseInSensitive);
|
sca8er |
2:5853bf44af9f
|
4470
|
|
sca8er |
2:5853bf44af9f
|
4471
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4472
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
4473
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4474
|
RtlEqualUnicodeString(
|
sca8er |
2:5853bf44af9f
|
4475
|
/*IN*/ CONST UNICODE_STRING *String1,
|
sca8er |
2:5853bf44af9f
|
4476
|
/*IN*/ CONST UNICODE_STRING *String2,
|
sca8er |
2:5853bf44af9f
|
4477
|
/*IN*/ BOOLEAN CaseInSensitive);
|
sca8er |
2:5853bf44af9f
|
4478
|
|
sca8er |
2:5853bf44af9f
|
4479
|
/*
|
sca8er |
2:5853bf44af9f
|
4480
|
* VOID
|
sca8er |
2:5853bf44af9f
|
4481
|
* RtlFillMemory(
|
sca8er |
2:5853bf44af9f
|
4482
|
* IN VOID UNALIGNED *Destination,
|
sca8er |
2:5853bf44af9f
|
4483
|
* IN SIZE_T Length,
|
sca8er |
2:5853bf44af9f
|
4484
|
* IN UCHAR Fill)
|
sca8er |
2:5853bf44af9f
|
4485
|
*/
|
sca8er |
2:5853bf44af9f
|
4486
|
#ifndef RtlFillMemory
|
sca8er |
2:5853bf44af9f
|
4487
|
#define RtlFillMemory(Destination, Length, Fill) \
|
sca8er |
2:5853bf44af9f
|
4488
|
memset(Destination, Fill, Length)
|
sca8er |
2:5853bf44af9f
|
4489
|
#endif
|
sca8er |
2:5853bf44af9f
|
4490
|
|
sca8er |
2:5853bf44af9f
|
4491
|
#ifndef RtlFillBytes
|
sca8er |
2:5853bf44af9f
|
4492
|
#define RtlFillBytes RtlFillMemory
|
sca8er |
2:5853bf44af9f
|
4493
|
#endif
|
sca8er |
2:5853bf44af9f
|
4494
|
|
sca8er |
2:5853bf44af9f
|
4495
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4496
|
ULONG
|
sca8er |
2:5853bf44af9f
|
4497
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4498
|
RtlFindClearBits(
|
sca8er |
2:5853bf44af9f
|
4499
|
/*IN*/ PRTL_BITMAP BitMapHeader,
|
sca8er |
2:5853bf44af9f
|
4500
|
/*IN*/ ULONG NumberToFind,
|
sca8er |
2:5853bf44af9f
|
4501
|
/*IN*/ ULONG HintIndex);
|
sca8er |
2:5853bf44af9f
|
4502
|
|
sca8er |
2:5853bf44af9f
|
4503
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4504
|
ULONG
|
sca8er |
2:5853bf44af9f
|
4505
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4506
|
RtlFindClearBitsAndSet(
|
sca8er |
2:5853bf44af9f
|
4507
|
/*IN*/ PRTL_BITMAP BitMapHeader,
|
sca8er |
2:5853bf44af9f
|
4508
|
/*IN*/ ULONG NumberToFind,
|
sca8er |
2:5853bf44af9f
|
4509
|
/*IN*/ ULONG HintIndex);
|
sca8er |
2:5853bf44af9f
|
4510
|
|
sca8er |
2:5853bf44af9f
|
4511
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4512
|
ULONG
|
sca8er |
2:5853bf44af9f
|
4513
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4514
|
RtlFindClearRuns(
|
sca8er |
2:5853bf44af9f
|
4515
|
/*IN*/ PRTL_BITMAP BitMapHeader,
|
sca8er |
2:5853bf44af9f
|
4516
|
/*OUT*/ PRTL_BITMAP_RUN RunArray,
|
sca8er |
2:5853bf44af9f
|
4517
|
/*IN*/ ULONG SizeOfRunArray,
|
sca8er |
2:5853bf44af9f
|
4518
|
/*IN*/ BOOLEAN LocateLongestRuns);
|
sca8er |
2:5853bf44af9f
|
4519
|
|
sca8er |
2:5853bf44af9f
|
4520
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4521
|
ULONG
|
sca8er |
2:5853bf44af9f
|
4522
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4523
|
RtlFindFirstRunClear(
|
sca8er |
2:5853bf44af9f
|
4524
|
/*IN*/ PRTL_BITMAP BitMapHeader,
|
sca8er |
2:5853bf44af9f
|
4525
|
/*OUT*/ PULONG StartingIndex);
|
sca8er |
2:5853bf44af9f
|
4526
|
|
sca8er |
2:5853bf44af9f
|
4527
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4528
|
ULONG
|
sca8er |
2:5853bf44af9f
|
4529
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4530
|
RtlFindLastBackwardRunClear(
|
sca8er |
2:5853bf44af9f
|
4531
|
/*IN*/ PRTL_BITMAP BitMapHeader,
|
sca8er |
2:5853bf44af9f
|
4532
|
/*IN*/ ULONG FromIndex,
|
sca8er |
2:5853bf44af9f
|
4533
|
/*OUT*/ PULONG StartingRunIndex);
|
sca8er |
2:5853bf44af9f
|
4534
|
|
sca8er |
2:5853bf44af9f
|
4535
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4536
|
CCHAR
|
sca8er |
2:5853bf44af9f
|
4537
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4538
|
RtlFindLeastSignificantBit(
|
sca8er |
2:5853bf44af9f
|
4539
|
/*IN*/ ULONGLONG Set);
|
sca8er |
2:5853bf44af9f
|
4540
|
|
sca8er |
2:5853bf44af9f
|
4541
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4542
|
ULONG
|
sca8er |
2:5853bf44af9f
|
4543
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4544
|
RtlFindLongestRunClear(
|
sca8er |
2:5853bf44af9f
|
4545
|
/*IN*/ PRTL_BITMAP BitMapHeader,
|
sca8er |
2:5853bf44af9f
|
4546
|
/*OUT*/ PULONG StartingIndex);
|
sca8er |
2:5853bf44af9f
|
4547
|
|
sca8er |
2:5853bf44af9f
|
4548
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4549
|
CCHAR
|
sca8er |
2:5853bf44af9f
|
4550
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4551
|
RtlFindMostSignificantBit(
|
sca8er |
2:5853bf44af9f
|
4552
|
/*IN*/ ULONGLONG Set);
|
sca8er |
2:5853bf44af9f
|
4553
|
|
sca8er |
2:5853bf44af9f
|
4554
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4555
|
ULONG
|
sca8er |
2:5853bf44af9f
|
4556
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4557
|
RtlFindNextForwardRunClear(
|
sca8er |
2:5853bf44af9f
|
4558
|
/*IN*/ PRTL_BITMAP BitMapHeader,
|
sca8er |
2:5853bf44af9f
|
4559
|
/*IN*/ ULONG FromIndex,
|
sca8er |
2:5853bf44af9f
|
4560
|
/*OUT*/ PULONG StartingRunIndex);
|
sca8er |
2:5853bf44af9f
|
4561
|
|
sca8er |
2:5853bf44af9f
|
4562
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4563
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
4564
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4565
|
RtlFindRange(
|
sca8er |
2:5853bf44af9f
|
4566
|
/*IN*/ PRTL_RANGE_LIST RangeList,
|
sca8er |
2:5853bf44af9f
|
4567
|
/*IN*/ ULONGLONG Minimum,
|
sca8er |
2:5853bf44af9f
|
4568
|
/*IN*/ ULONGLONG Maximum,
|
sca8er |
2:5853bf44af9f
|
4569
|
/*IN*/ ULONG Length,
|
sca8er |
2:5853bf44af9f
|
4570
|
/*IN*/ ULONG Alignment,
|
sca8er |
2:5853bf44af9f
|
4571
|
/*IN*/ ULONG Flags,
|
sca8er |
2:5853bf44af9f
|
4572
|
/*IN*/ UCHAR AttributeAvailableMask,
|
sca8er |
2:5853bf44af9f
|
4573
|
/*IN*/ PVOID Context /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
4574
|
/*IN*/ PRTL_CONFLICT_RANGE_CALLBACK Callback /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
4575
|
/*OUT*/ PULONGLONG Start);
|
sca8er |
2:5853bf44af9f
|
4576
|
|
sca8er |
2:5853bf44af9f
|
4577
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4578
|
ULONG
|
sca8er |
2:5853bf44af9f
|
4579
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4580
|
RtlFindSetBits(
|
sca8er |
2:5853bf44af9f
|
4581
|
/*IN*/ PRTL_BITMAP BitMapHeader,
|
sca8er |
2:5853bf44af9f
|
4582
|
/*IN*/ ULONG NumberToFind,
|
sca8er |
2:5853bf44af9f
|
4583
|
/*IN*/ ULONG HintIndex);
|
sca8er |
2:5853bf44af9f
|
4584
|
|
sca8er |
2:5853bf44af9f
|
4585
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4586
|
ULONG
|
sca8er |
2:5853bf44af9f
|
4587
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4588
|
RtlFindSetBitsAndClear(
|
sca8er |
2:5853bf44af9f
|
4589
|
/*IN*/ PRTL_BITMAP BitMapHeader,
|
sca8er |
2:5853bf44af9f
|
4590
|
/*IN*/ ULONG NumberToFind,
|
sca8er |
2:5853bf44af9f
|
4591
|
/*IN*/ ULONG HintIndex);
|
sca8er |
2:5853bf44af9f
|
4592
|
|
sca8er |
2:5853bf44af9f
|
4593
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4594
|
VOID
|
sca8er |
2:5853bf44af9f
|
4595
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4596
|
RtlFreeAnsiString(
|
sca8er |
2:5853bf44af9f
|
4597
|
/*IN*/ PANSI_STRING AnsiString);
|
sca8er |
2:5853bf44af9f
|
4598
|
|
sca8er |
2:5853bf44af9f
|
4599
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4600
|
VOID
|
sca8er |
2:5853bf44af9f
|
4601
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4602
|
RtlFreeRangeList(
|
sca8er |
2:5853bf44af9f
|
4603
|
/*IN*/ PRTL_RANGE_LIST RangeList);
|
sca8er |
2:5853bf44af9f
|
4604
|
|
sca8er |
2:5853bf44af9f
|
4605
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4606
|
VOID
|
sca8er |
2:5853bf44af9f
|
4607
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4608
|
RtlFreeUnicodeString(
|
sca8er |
2:5853bf44af9f
|
4609
|
/*IN*/ PUNICODE_STRING UnicodeString);
|
sca8er |
2:5853bf44af9f
|
4610
|
|
sca8er |
2:5853bf44af9f
|
4611
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4612
|
VOID
|
sca8er |
2:5853bf44af9f
|
4613
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4614
|
RtlGetCallersAddress(
|
sca8er |
2:5853bf44af9f
|
4615
|
/*OUT*/ PVOID *CallersAddress,
|
sca8er |
2:5853bf44af9f
|
4616
|
/*OUT*/ PVOID *CallersCaller);
|
sca8er |
2:5853bf44af9f
|
4617
|
|
sca8er |
2:5853bf44af9f
|
4618
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4619
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
4620
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4621
|
RtlGetVersion(
|
sca8er |
2:5853bf44af9f
|
4622
|
/*IN OUT*/ PRTL_OSVERSIONINFOW lpVersionInformation);
|
sca8er |
2:5853bf44af9f
|
4623
|
|
sca8er |
2:5853bf44af9f
|
4624
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4625
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
4626
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4627
|
RtlGetFirstRange(
|
sca8er |
2:5853bf44af9f
|
4628
|
/*IN*/ PRTL_RANGE_LIST RangeList,
|
sca8er |
2:5853bf44af9f
|
4629
|
/*OUT*/ PRTL_RANGE_LIST_ITERATOR Iterator,
|
sca8er |
2:5853bf44af9f
|
4630
|
/*OUT*/ PRTL_RANGE *Range);
|
sca8er |
2:5853bf44af9f
|
4631
|
|
sca8er |
2:5853bf44af9f
|
4632
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4633
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
4634
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4635
|
RtlGetNextRange(
|
sca8er |
2:5853bf44af9f
|
4636
|
/*IN OUT*/ PRTL_RANGE_LIST_ITERATOR Iterator,
|
sca8er |
2:5853bf44af9f
|
4637
|
/*OUT*/ PRTL_RANGE *Range,
|
sca8er |
2:5853bf44af9f
|
4638
|
/*IN*/ BOOLEAN MoveForwards);
|
sca8er |
2:5853bf44af9f
|
4639
|
|
sca8er |
2:5853bf44af9f
|
4640
|
#define FOR_ALL_RANGES(RangeList, Iterator, Current) \
|
sca8er |
2:5853bf44af9f
|
4641
|
for (RtlGetFirstRange((RangeList), (Iterator), &(Current)); \
|
sca8er |
2:5853bf44af9f
|
4642
|
(Current) != NULL; \
|
sca8er |
2:5853bf44af9f
|
4643
|
RtlGetNextRange((Iterator), &(Current), TRUE))
|
sca8er |
2:5853bf44af9f
|
4644
|
|
sca8er |
2:5853bf44af9f
|
4645
|
#define FOR_ALL_RANGES_BACKWARDS(RangeList, Iterator, Current) \
|
sca8er |
2:5853bf44af9f
|
4646
|
for (RtlGetLastRange((RangeList), (Iterator), &(Current)); \
|
sca8er |
2:5853bf44af9f
|
4647
|
(Current) != NULL; \
|
sca8er |
2:5853bf44af9f
|
4648
|
RtlGetNextRange((Iterator), &(Current), FALSE))
|
sca8er |
2:5853bf44af9f
|
4649
|
|
sca8er |
2:5853bf44af9f
|
4650
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4651
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
4652
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4653
|
RtlGUIDFromString(
|
sca8er |
2:5853bf44af9f
|
4654
|
/*IN*/ PUNICODE_STRING GuidString,
|
sca8er |
2:5853bf44af9f
|
4655
|
/*OUT*/ GUID *Guid);
|
sca8er |
2:5853bf44af9f
|
4656
|
|
sca8er |
2:5853bf44af9f
|
4657
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4658
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
4659
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4660
|
RtlHashUnicodeString(
|
sca8er |
2:5853bf44af9f
|
4661
|
/*IN*/ CONST UNICODE_STRING *String,
|
sca8er |
2:5853bf44af9f
|
4662
|
/*IN*/ BOOLEAN CaseInSensitive,
|
sca8er |
2:5853bf44af9f
|
4663
|
/*IN*/ ULONG HashAlgorithm,
|
sca8er |
2:5853bf44af9f
|
4664
|
/*OUT*/ PULONG HashValue);
|
sca8er |
2:5853bf44af9f
|
4665
|
|
sca8er |
2:5853bf44af9f
|
4666
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4667
|
VOID
|
sca8er |
2:5853bf44af9f
|
4668
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4669
|
RtlInitAnsiString(
|
sca8er |
2:5853bf44af9f
|
4670
|
/*IN OUT*/ PANSI_STRING DestinationString,
|
sca8er |
2:5853bf44af9f
|
4671
|
/*IN*/ PCSZ SourceString);
|
sca8er |
2:5853bf44af9f
|
4672
|
|
sca8er |
2:5853bf44af9f
|
4673
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4674
|
VOID
|
sca8er |
2:5853bf44af9f
|
4675
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4676
|
RtlInitializeBitMap(
|
sca8er |
2:5853bf44af9f
|
4677
|
/*IN*/ PRTL_BITMAP BitMapHeader,
|
sca8er |
2:5853bf44af9f
|
4678
|
/*IN*/ PULONG BitMapBuffer,
|
sca8er |
2:5853bf44af9f
|
4679
|
/*IN*/ ULONG SizeOfBitMap);
|
sca8er |
2:5853bf44af9f
|
4680
|
|
sca8er |
2:5853bf44af9f
|
4681
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4682
|
VOID
|
sca8er |
2:5853bf44af9f
|
4683
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4684
|
RtlInitializeRangeList(
|
sca8er |
2:5853bf44af9f
|
4685
|
/*IN OUT*/ PRTL_RANGE_LIST RangeList);
|
sca8er |
2:5853bf44af9f
|
4686
|
|
sca8er |
2:5853bf44af9f
|
4687
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4688
|
VOID
|
sca8er |
2:5853bf44af9f
|
4689
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4690
|
RtlInitString(
|
sca8er |
2:5853bf44af9f
|
4691
|
/*IN OUT*/ PSTRING DestinationString,
|
sca8er |
2:5853bf44af9f
|
4692
|
/*IN*/ PCSZ SourceString);
|
sca8er |
2:5853bf44af9f
|
4693
|
|
sca8er |
2:5853bf44af9f
|
4694
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4695
|
VOID
|
sca8er |
2:5853bf44af9f
|
4696
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4697
|
RtlInitUnicodeString(
|
sca8er |
2:5853bf44af9f
|
4698
|
/*IN OUT*/ PUNICODE_STRING DestinationString,
|
sca8er |
2:5853bf44af9f
|
4699
|
/*IN*/ PCWSTR SourceString);
|
sca8er |
2:5853bf44af9f
|
4700
|
|
sca8er |
2:5853bf44af9f
|
4701
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4702
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
4703
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4704
|
RtlInt64ToUnicodeString(
|
sca8er |
2:5853bf44af9f
|
4705
|
/*IN*/ ULONGLONG Value,
|
sca8er |
2:5853bf44af9f
|
4706
|
/*IN*/ ULONG Base /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
4707
|
/*IN OUT*/ PUNICODE_STRING String);
|
sca8er |
2:5853bf44af9f
|
4708
|
|
sca8er |
2:5853bf44af9f
|
4709
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4710
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
4711
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4712
|
RtlIntegerToUnicodeString(
|
sca8er |
2:5853bf44af9f
|
4713
|
/*IN*/ ULONG Value,
|
sca8er |
2:5853bf44af9f
|
4714
|
/*IN*/ ULONG Base /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
4715
|
/*IN OUT*/ PUNICODE_STRING String);
|
sca8er |
2:5853bf44af9f
|
4716
|
|
sca8er |
2:5853bf44af9f
|
4717
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4718
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
4719
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4720
|
RtlIntPtrToUnicodeString(
|
sca8er |
2:5853bf44af9f
|
4721
|
PLONG Value,
|
sca8er |
2:5853bf44af9f
|
4722
|
ULONG Base /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
4723
|
PUNICODE_STRING String);
|
sca8er |
2:5853bf44af9f
|
4724
|
|
sca8er |
2:5853bf44af9f
|
4725
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4726
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
4727
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4728
|
RtlInvertRangeList(
|
sca8er |
2:5853bf44af9f
|
4729
|
/*OUT*/ PRTL_RANGE_LIST InvertedRangeList,
|
sca8er |
2:5853bf44af9f
|
4730
|
/*IN*/ PRTL_RANGE_LIST RangeList);
|
sca8er |
2:5853bf44af9f
|
4731
|
|
sca8er |
2:5853bf44af9f
|
4732
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4733
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
4734
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4735
|
RtlIsRangeAvailable(
|
sca8er |
2:5853bf44af9f
|
4736
|
/*IN*/ PRTL_RANGE_LIST RangeList,
|
sca8er |
2:5853bf44af9f
|
4737
|
/*IN*/ ULONGLONG Start,
|
sca8er |
2:5853bf44af9f
|
4738
|
/*IN*/ ULONGLONG End,
|
sca8er |
2:5853bf44af9f
|
4739
|
/*IN*/ ULONG Flags,
|
sca8er |
2:5853bf44af9f
|
4740
|
/*IN*/ UCHAR AttributeAvailableMask,
|
sca8er |
2:5853bf44af9f
|
4741
|
/*IN*/ PVOID Context /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
4742
|
/*IN*/ PRTL_CONFLICT_RANGE_CALLBACK Callback /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
4743
|
/*OUT*/ PBOOLEAN Available);
|
sca8er |
2:5853bf44af9f
|
4744
|
|
sca8er |
2:5853bf44af9f
|
4745
|
/*
|
sca8er |
2:5853bf44af9f
|
4746
|
* BOOLEAN
|
sca8er |
2:5853bf44af9f
|
4747
|
* RtlIsZeroLuid(
|
sca8er |
2:5853bf44af9f
|
4748
|
* IN PLUID L1)
|
sca8er |
2:5853bf44af9f
|
4749
|
*/
|
sca8er |
2:5853bf44af9f
|
4750
|
#define RtlIsZeroLuid(_L1) \
|
sca8er |
2:5853bf44af9f
|
4751
|
((BOOLEAN) ((!(_L1)->LowPart) && (!(_L1)->HighPart)))
|
sca8er |
2:5853bf44af9f
|
4752
|
|
sca8er |
2:5853bf44af9f
|
4753
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4754
|
ULONG
|
sca8er |
2:5853bf44af9f
|
4755
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4756
|
RtlLengthSecurityDescriptor(
|
sca8er |
2:5853bf44af9f
|
4757
|
/*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor);
|
sca8er |
2:5853bf44af9f
|
4758
|
|
sca8er |
2:5853bf44af9f
|
4759
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4760
|
VOID
|
sca8er |
2:5853bf44af9f
|
4761
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4762
|
RtlMapGenericMask(
|
sca8er |
2:5853bf44af9f
|
4763
|
/*IN OUT*/ PACCESS_MASK AccessMask,
|
sca8er |
2:5853bf44af9f
|
4764
|
/*IN*/ PGENERIC_MAPPING GenericMapping);
|
sca8er |
2:5853bf44af9f
|
4765
|
|
sca8er |
2:5853bf44af9f
|
4766
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4767
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
4768
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4769
|
RtlMergeRangeLists(
|
sca8er |
2:5853bf44af9f
|
4770
|
/*OUT*/ PRTL_RANGE_LIST MergedRangeList,
|
sca8er |
2:5853bf44af9f
|
4771
|
/*IN*/ PRTL_RANGE_LIST RangeList1,
|
sca8er |
2:5853bf44af9f
|
4772
|
/*IN*/ PRTL_RANGE_LIST RangeList2,
|
sca8er |
2:5853bf44af9f
|
4773
|
/*IN*/ ULONG Flags);
|
sca8er |
2:5853bf44af9f
|
4774
|
|
sca8er |
2:5853bf44af9f
|
4775
|
/*
|
sca8er |
2:5853bf44af9f
|
4776
|
* VOID
|
sca8er |
2:5853bf44af9f
|
4777
|
* RtlMoveMemory(
|
sca8er |
2:5853bf44af9f
|
4778
|
* IN VOID UNALIGNED *Destination,
|
sca8er |
2:5853bf44af9f
|
4779
|
* IN CONST VOID UNALIGNED *Source,
|
sca8er |
2:5853bf44af9f
|
4780
|
* IN SIZE_T Length)
|
sca8er |
2:5853bf44af9f
|
4781
|
*/
|
sca8er |
2:5853bf44af9f
|
4782
|
#define RtlMoveMemory memmove
|
sca8er |
2:5853bf44af9f
|
4783
|
|
sca8er |
2:5853bf44af9f
|
4784
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4785
|
ULONG
|
sca8er |
2:5853bf44af9f
|
4786
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4787
|
RtlNumberOfClearBits(
|
sca8er |
2:5853bf44af9f
|
4788
|
/*IN*/ PRTL_BITMAP BitMapHeader);
|
sca8er |
2:5853bf44af9f
|
4789
|
|
sca8er |
2:5853bf44af9f
|
4790
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4791
|
ULONG
|
sca8er |
2:5853bf44af9f
|
4792
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4793
|
RtlNumberOfSetBits(
|
sca8er |
2:5853bf44af9f
|
4794
|
/*IN*/ PRTL_BITMAP BitMapHeader);
|
sca8er |
2:5853bf44af9f
|
4795
|
|
sca8er |
2:5853bf44af9f
|
4796
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4797
|
VOID
|
sca8er |
2:5853bf44af9f
|
4798
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
4799
|
RtlPrefetchMemoryNonTemporal(
|
sca8er |
2:5853bf44af9f
|
4800
|
/*IN*/ PVOID Source,
|
sca8er |
2:5853bf44af9f
|
4801
|
/*IN*/ SIZE_T Length);
|
sca8er |
2:5853bf44af9f
|
4802
|
|
sca8er |
2:5853bf44af9f
|
4803
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4804
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
4805
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4806
|
RtlPrefixUnicodeString(
|
sca8er |
2:5853bf44af9f
|
4807
|
/*IN*/ PUNICODE_STRING String1,
|
sca8er |
2:5853bf44af9f
|
4808
|
/*IN*/ PUNICODE_STRING String2,
|
sca8er |
2:5853bf44af9f
|
4809
|
/*IN*/ BOOLEAN CaseInSensitive);
|
sca8er |
2:5853bf44af9f
|
4810
|
|
sca8er |
2:5853bf44af9f
|
4811
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4812
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
4813
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4814
|
RtlQueryRegistryValues(
|
sca8er |
2:5853bf44af9f
|
4815
|
/*IN*/ ULONG RelativeTo,
|
sca8er |
2:5853bf44af9f
|
4816
|
/*IN*/ PCWSTR Path,
|
sca8er |
2:5853bf44af9f
|
4817
|
/*IN*/ PRTL_QUERY_REGISTRY_TABLE QueryTable,
|
sca8er |
2:5853bf44af9f
|
4818
|
/*IN*/ PVOID Context,
|
sca8er |
2:5853bf44af9f
|
4819
|
/*IN*/ PVOID Environment /*OPTIONAL*/);
|
sca8er |
2:5853bf44af9f
|
4820
|
|
sca8er |
2:5853bf44af9f
|
4821
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4822
|
VOID
|
sca8er |
2:5853bf44af9f
|
4823
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4824
|
RtlRetrieveUlong(
|
sca8er |
2:5853bf44af9f
|
4825
|
/*IN OUT*/ PULONG DestinationAddress,
|
sca8er |
2:5853bf44af9f
|
4826
|
/*IN*/ PULONG SourceAddress);
|
sca8er |
2:5853bf44af9f
|
4827
|
|
sca8er |
2:5853bf44af9f
|
4828
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4829
|
VOID
|
sca8er |
2:5853bf44af9f
|
4830
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4831
|
RtlRetrieveUshort(
|
sca8er |
2:5853bf44af9f
|
4832
|
/*IN OUT*/ PUSHORT DestinationAddress,
|
sca8er |
2:5853bf44af9f
|
4833
|
/*IN*/ PUSHORT SourceAddress);
|
sca8er |
2:5853bf44af9f
|
4834
|
|
sca8er |
2:5853bf44af9f
|
4835
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4836
|
VOID
|
sca8er |
2:5853bf44af9f
|
4837
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4838
|
RtlSetAllBits(
|
sca8er |
2:5853bf44af9f
|
4839
|
/*IN*/ PRTL_BITMAP BitMapHeader);
|
sca8er |
2:5853bf44af9f
|
4840
|
|
sca8er |
2:5853bf44af9f
|
4841
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4842
|
VOID
|
sca8er |
2:5853bf44af9f
|
4843
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4844
|
RtlSetBit(
|
sca8er |
2:5853bf44af9f
|
4845
|
PRTL_BITMAP BitMapHeader,
|
sca8er |
2:5853bf44af9f
|
4846
|
ULONG BitNumber);
|
sca8er |
2:5853bf44af9f
|
4847
|
|
sca8er |
2:5853bf44af9f
|
4848
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4849
|
VOID
|
sca8er |
2:5853bf44af9f
|
4850
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4851
|
RtlSetBits(
|
sca8er |
2:5853bf44af9f
|
4852
|
/*IN*/ PRTL_BITMAP BitMapHeader,
|
sca8er |
2:5853bf44af9f
|
4853
|
/*IN*/ ULONG StartingIndex,
|
sca8er |
2:5853bf44af9f
|
4854
|
/*IN*/ ULONG NumberToSet);
|
sca8er |
2:5853bf44af9f
|
4855
|
|
sca8er |
2:5853bf44af9f
|
4856
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4857
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
4858
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4859
|
RtlSetDaclSecurityDescriptor(
|
sca8er |
2:5853bf44af9f
|
4860
|
/*IN OUT*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
|
sca8er |
2:5853bf44af9f
|
4861
|
/*IN*/ BOOLEAN DaclPresent,
|
sca8er |
2:5853bf44af9f
|
4862
|
/*IN*/ PACL Dacl /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
4863
|
/*IN*/ BOOLEAN DaclDefaulted /*OPTIONAL*/);
|
sca8er |
2:5853bf44af9f
|
4864
|
|
sca8er |
2:5853bf44af9f
|
4865
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4866
|
VOID
|
sca8er |
2:5853bf44af9f
|
4867
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4868
|
RtlStoreUlong(
|
sca8er |
2:5853bf44af9f
|
4869
|
/*IN*/ PULONG Address,
|
sca8er |
2:5853bf44af9f
|
4870
|
/*IN*/ ULONG Value);
|
sca8er |
2:5853bf44af9f
|
4871
|
|
sca8er |
2:5853bf44af9f
|
4872
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4873
|
VOID
|
sca8er |
2:5853bf44af9f
|
4874
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4875
|
RtlStoreUlonglong(
|
sca8er |
2:5853bf44af9f
|
4876
|
/*IN OUT*/ PULONGLONG Address,
|
sca8er |
2:5853bf44af9f
|
4877
|
ULONGLONG Value);
|
sca8er |
2:5853bf44af9f
|
4878
|
|
sca8er |
2:5853bf44af9f
|
4879
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4880
|
VOID
|
sca8er |
2:5853bf44af9f
|
4881
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4882
|
RtlStoreUlongPtr(
|
sca8er |
2:5853bf44af9f
|
4883
|
/*IN OUT*/ PULONG_PTR Address,
|
sca8er |
2:5853bf44af9f
|
4884
|
/*IN*/ ULONG_PTR Value);
|
sca8er |
2:5853bf44af9f
|
4885
|
|
sca8er |
2:5853bf44af9f
|
4886
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4887
|
VOID
|
sca8er |
2:5853bf44af9f
|
4888
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4889
|
RtlStoreUshort(
|
sca8er |
2:5853bf44af9f
|
4890
|
/*IN*/ PUSHORT Address,
|
sca8er |
2:5853bf44af9f
|
4891
|
/*IN*/ USHORT Value);
|
sca8er |
2:5853bf44af9f
|
4892
|
|
sca8er |
2:5853bf44af9f
|
4893
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4894
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
4895
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4896
|
RtlStringFromGUID(
|
sca8er |
2:5853bf44af9f
|
4897
|
/*IN*/ REFGUID Guid,
|
sca8er |
2:5853bf44af9f
|
4898
|
/*OUT*/ PUNICODE_STRING GuidString);
|
sca8er |
2:5853bf44af9f
|
4899
|
|
sca8er |
2:5853bf44af9f
|
4900
|
#define RtlStringCbCopyA(dst, dst_len, src) strncpy(dst, src, dst_len)
|
sca8er |
2:5853bf44af9f
|
4901
|
#define RtlStringCbPrintfA(args...) snprintf(args)
|
sca8er |
2:5853bf44af9f
|
4902
|
#define RtlStringCbVPrintfA(args...) vsnprintf(args)
|
sca8er |
2:5853bf44af9f
|
4903
|
|
sca8er |
2:5853bf44af9f
|
4904
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4905
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
4906
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4907
|
RtlTestBit(
|
sca8er |
2:5853bf44af9f
|
4908
|
/*IN*/ PRTL_BITMAP BitMapHeader,
|
sca8er |
2:5853bf44af9f
|
4909
|
/*IN*/ ULONG BitNumber);
|
sca8er |
2:5853bf44af9f
|
4910
|
|
sca8er |
2:5853bf44af9f
|
4911
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4912
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
4913
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4914
|
RtlTimeFieldsToTime(
|
sca8er |
2:5853bf44af9f
|
4915
|
/*IN*/ PTIME_FIELDS TimeFields,
|
sca8er |
2:5853bf44af9f
|
4916
|
/*IN*/ PLARGE_INTEGER Time);
|
sca8er |
2:5853bf44af9f
|
4917
|
|
sca8er |
2:5853bf44af9f
|
4918
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4919
|
VOID
|
sca8er |
2:5853bf44af9f
|
4920
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4921
|
RtlTimeToTimeFields(
|
sca8er |
2:5853bf44af9f
|
4922
|
/*IN*/ PLARGE_INTEGER Time,
|
sca8er |
2:5853bf44af9f
|
4923
|
/*IN*/ PTIME_FIELDS TimeFields);
|
sca8er |
2:5853bf44af9f
|
4924
|
|
sca8er |
2:5853bf44af9f
|
4925
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4926
|
ULONG
|
sca8er |
2:5853bf44af9f
|
4927
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
4928
|
RtlUlongByteSwap(
|
sca8er |
2:5853bf44af9f
|
4929
|
/*IN*/ ULONG Source);
|
sca8er |
2:5853bf44af9f
|
4930
|
|
sca8er |
2:5853bf44af9f
|
4931
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4932
|
ULONGLONG
|
sca8er |
2:5853bf44af9f
|
4933
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
4934
|
RtlUlonglongByteSwap(
|
sca8er |
2:5853bf44af9f
|
4935
|
/*IN*/ ULONGLONG Source);
|
sca8er |
2:5853bf44af9f
|
4936
|
|
sca8er |
2:5853bf44af9f
|
4937
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4938
|
ULONG
|
sca8er |
2:5853bf44af9f
|
4939
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4940
|
RtlUnicodeStringToAnsiSize(
|
sca8er |
2:5853bf44af9f
|
4941
|
/*IN*/ PUNICODE_STRING UnicodeString);
|
sca8er |
2:5853bf44af9f
|
4942
|
|
sca8er |
2:5853bf44af9f
|
4943
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4944
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
4945
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4946
|
RtlUnicodeStringToAnsiString(
|
sca8er |
2:5853bf44af9f
|
4947
|
/*IN OUT*/ PANSI_STRING DestinationString,
|
sca8er |
2:5853bf44af9f
|
4948
|
/*IN*/ PUNICODE_STRING SourceString,
|
sca8er |
2:5853bf44af9f
|
4949
|
/*IN*/ BOOLEAN AllocateDestinationString);
|
sca8er |
2:5853bf44af9f
|
4950
|
|
sca8er |
2:5853bf44af9f
|
4951
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4952
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
4953
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4954
|
RtlUnicodeStringToInteger(
|
sca8er |
2:5853bf44af9f
|
4955
|
/*IN*/ PUNICODE_STRING String,
|
sca8er |
2:5853bf44af9f
|
4956
|
/*IN*/ ULONG Base /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
4957
|
/*OUT*/ PULONG Value);
|
sca8er |
2:5853bf44af9f
|
4958
|
|
sca8er |
2:5853bf44af9f
|
4959
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4960
|
WCHAR
|
sca8er |
2:5853bf44af9f
|
4961
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4962
|
RtlUpcaseUnicodeChar(
|
sca8er |
2:5853bf44af9f
|
4963
|
/*IN*/ WCHAR SourceCharacter);
|
sca8er |
2:5853bf44af9f
|
4964
|
|
sca8er |
2:5853bf44af9f
|
4965
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4966
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
4967
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4968
|
RtlUpcaseUnicodeString(
|
sca8er |
2:5853bf44af9f
|
4969
|
/*IN OUT*/ PUNICODE_STRING DestinationString /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
4970
|
/*IN*/ PCUNICODE_STRING SourceString,
|
sca8er |
2:5853bf44af9f
|
4971
|
/*IN*/ BOOLEAN AllocateDestinationString);
|
sca8er |
2:5853bf44af9f
|
4972
|
|
sca8er |
2:5853bf44af9f
|
4973
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4974
|
CHAR
|
sca8er |
2:5853bf44af9f
|
4975
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4976
|
RtlUpperChar(
|
sca8er |
2:5853bf44af9f
|
4977
|
/*IN*/ CHAR Character);
|
sca8er |
2:5853bf44af9f
|
4978
|
|
sca8er |
2:5853bf44af9f
|
4979
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4980
|
VOID
|
sca8er |
2:5853bf44af9f
|
4981
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4982
|
RtlUpperString(
|
sca8er |
2:5853bf44af9f
|
4983
|
/*IN OUT*/ PSTRING DestinationString,
|
sca8er |
2:5853bf44af9f
|
4984
|
/*IN*/ PSTRING SourceString);
|
sca8er |
2:5853bf44af9f
|
4985
|
|
sca8er |
2:5853bf44af9f
|
4986
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4987
|
USHORT
|
sca8er |
2:5853bf44af9f
|
4988
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
4989
|
RtlUshortByteSwap(
|
sca8er |
2:5853bf44af9f
|
4990
|
/*IN*/ USHORT Source);
|
sca8er |
2:5853bf44af9f
|
4991
|
|
sca8er |
2:5853bf44af9f
|
4992
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
4993
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
4994
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
4995
|
RtlValidRelativeSecurityDescriptor(
|
sca8er |
2:5853bf44af9f
|
4996
|
/*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptorInput,
|
sca8er |
2:5853bf44af9f
|
4997
|
/*IN*/ ULONG SecurityDescriptorLength,
|
sca8er |
2:5853bf44af9f
|
4998
|
/*IN*/ SECURITY_INFORMATION RequiredInformation);
|
sca8er |
2:5853bf44af9f
|
4999
|
|
sca8er |
2:5853bf44af9f
|
5000
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5001
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
5002
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5003
|
RtlValidSecurityDescriptor(
|
sca8er |
2:5853bf44af9f
|
5004
|
/*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor);
|
sca8er |
2:5853bf44af9f
|
5005
|
|
sca8er |
2:5853bf44af9f
|
5006
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5007
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
5008
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5009
|
RtlVerifyVersionInfo(
|
sca8er |
2:5853bf44af9f
|
5010
|
/*IN*/ PRTL_OSVERSIONINFOEXW VersionInfo,
|
sca8er |
2:5853bf44af9f
|
5011
|
/*IN*/ ULONG TypeMask,
|
sca8er |
2:5853bf44af9f
|
5012
|
/*IN*/ ULONGLONG ConditionMask);
|
sca8er |
2:5853bf44af9f
|
5013
|
|
sca8er |
2:5853bf44af9f
|
5014
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5015
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
5016
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5017
|
RtlVolumeDeviceToDosName(
|
sca8er |
2:5853bf44af9f
|
5018
|
/*IN*/ PVOID VolumeDeviceObject,
|
sca8er |
2:5853bf44af9f
|
5019
|
/*OUT*/ PUNICODE_STRING DosName);
|
sca8er |
2:5853bf44af9f
|
5020
|
|
sca8er |
2:5853bf44af9f
|
5021
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5022
|
ULONG
|
sca8er |
2:5853bf44af9f
|
5023
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5024
|
RtlWalkFrameChain(
|
sca8er |
2:5853bf44af9f
|
5025
|
/*OUT*/ PVOID *Callers,
|
sca8er |
2:5853bf44af9f
|
5026
|
/*IN*/ ULONG Count,
|
sca8er |
2:5853bf44af9f
|
5027
|
/*IN*/ ULONG Flags);
|
sca8er |
2:5853bf44af9f
|
5028
|
|
sca8er |
2:5853bf44af9f
|
5029
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5030
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
5031
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5032
|
RtlWriteRegistryValue(
|
sca8er |
2:5853bf44af9f
|
5033
|
/*IN*/ ULONG RelativeTo,
|
sca8er |
2:5853bf44af9f
|
5034
|
/*IN*/ PCWSTR Path,
|
sca8er |
2:5853bf44af9f
|
5035
|
/*IN*/ PCWSTR ValueName,
|
sca8er |
2:5853bf44af9f
|
5036
|
/*IN*/ ULONG ValueType,
|
sca8er |
2:5853bf44af9f
|
5037
|
/*IN*/ PVOID ValueData,
|
sca8er |
2:5853bf44af9f
|
5038
|
/*IN*/ ULONG ValueLength);
|
sca8er |
2:5853bf44af9f
|
5039
|
|
sca8er |
2:5853bf44af9f
|
5040
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5041
|
ULONG
|
sca8er |
2:5853bf44af9f
|
5042
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5043
|
RtlxUnicodeStringToAnsiSize(
|
sca8er |
2:5853bf44af9f
|
5044
|
/*IN*/ PUNICODE_STRING UnicodeString);
|
sca8er |
2:5853bf44af9f
|
5045
|
|
sca8er |
2:5853bf44af9f
|
5046
|
/*
|
sca8er |
2:5853bf44af9f
|
5047
|
* VOID
|
sca8er |
2:5853bf44af9f
|
5048
|
* RtlZeroMemory(
|
sca8er |
2:5853bf44af9f
|
5049
|
* IN VOID UNALIGNED *Destination,
|
sca8er |
2:5853bf44af9f
|
5050
|
* IN SIZE_T Length)
|
sca8er |
2:5853bf44af9f
|
5051
|
*/
|
sca8er |
2:5853bf44af9f
|
5052
|
#ifndef RtlZeroMemory
|
sca8er |
2:5853bf44af9f
|
5053
|
#define RtlZeroMemory(Destination, Length) \
|
sca8er |
2:5853bf44af9f
|
5054
|
memset(Destination, 0, Length)
|
sca8er |
2:5853bf44af9f
|
5055
|
#endif
|
sca8er |
2:5853bf44af9f
|
5056
|
|
sca8er |
2:5853bf44af9f
|
5057
|
#ifndef RtlZeroBytes
|
sca8er |
2:5853bf44af9f
|
5058
|
#define RtlZeroBytes RtlZeroMemory
|
sca8er |
2:5853bf44af9f
|
5059
|
#endif
|
sca8er |
2:5853bf44af9f
|
5060
|
|
sca8er |
2:5853bf44af9f
|
5061
|
|
sca8er |
2:5853bf44af9f
|
5062
|
/** Executive support routines **/
|
sca8er |
2:5853bf44af9f
|
5063
|
|
sca8er |
2:5853bf44af9f
|
5064
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5065
|
VOID
|
sca8er |
2:5853bf44af9f
|
5066
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
5067
|
ExAcquireFastMutex(
|
sca8er |
2:5853bf44af9f
|
5068
|
/*IN*/ PFAST_MUTEX FastMutex);
|
sca8er |
2:5853bf44af9f
|
5069
|
|
sca8er |
2:5853bf44af9f
|
5070
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5071
|
VOID
|
sca8er |
2:5853bf44af9f
|
5072
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
5073
|
ExAcquireFastMutexUnsafe(
|
sca8er |
2:5853bf44af9f
|
5074
|
/*IN*/ PFAST_MUTEX FastMutex);
|
sca8er |
2:5853bf44af9f
|
5075
|
|
sca8er |
2:5853bf44af9f
|
5076
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5077
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
5078
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5079
|
ExAcquireResourceExclusiveLite(
|
sca8er |
2:5853bf44af9f
|
5080
|
/*IN*/ PERESOURCE Resource,
|
sca8er |
2:5853bf44af9f
|
5081
|
/*IN*/ BOOLEAN Wait);
|
sca8er |
2:5853bf44af9f
|
5082
|
|
sca8er |
2:5853bf44af9f
|
5083
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5084
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
5085
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5086
|
ExAcquireResourceSharedLite(
|
sca8er |
2:5853bf44af9f
|
5087
|
/*IN*/ PERESOURCE Resource,
|
sca8er |
2:5853bf44af9f
|
5088
|
/*IN*/ BOOLEAN Wait);
|
sca8er |
2:5853bf44af9f
|
5089
|
|
sca8er |
2:5853bf44af9f
|
5090
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5091
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
5092
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5093
|
ExAcquireSharedStarveExclusive(
|
sca8er |
2:5853bf44af9f
|
5094
|
/*IN*/ PERESOURCE Resource,
|
sca8er |
2:5853bf44af9f
|
5095
|
/*IN*/ BOOLEAN Wait);
|
sca8er |
2:5853bf44af9f
|
5096
|
|
sca8er |
2:5853bf44af9f
|
5097
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5098
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
5099
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5100
|
ExAcquireSharedWaitForExclusive(
|
sca8er |
2:5853bf44af9f
|
5101
|
/*IN*/ PERESOURCE Resource,
|
sca8er |
2:5853bf44af9f
|
5102
|
/*IN*/ BOOLEAN Wait);
|
sca8er |
2:5853bf44af9f
|
5103
|
|
sca8er |
2:5853bf44af9f
|
5104
|
|
sca8er |
2:5853bf44af9f
|
5105
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5106
|
PSINGLE_LIST_ENTRY
|
sca8er |
2:5853bf44af9f
|
5107
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
5108
|
ExInterlockedPopEntrySList(
|
sca8er |
2:5853bf44af9f
|
5109
|
/*IN*/ PSLIST_HEADER ListHead,
|
sca8er |
2:5853bf44af9f
|
5110
|
/*IN*/ PKSPIN_LOCK Lock);
|
sca8er |
2:5853bf44af9f
|
5111
|
|
sca8er |
2:5853bf44af9f
|
5112
|
|
sca8er |
2:5853bf44af9f
|
5113
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5114
|
PSINGLE_LIST_ENTRY
|
sca8er |
2:5853bf44af9f
|
5115
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
5116
|
ExInterlockedPushEntrySList(
|
sca8er |
2:5853bf44af9f
|
5117
|
/*IN*/ PSLIST_HEADER ListHead,
|
sca8er |
2:5853bf44af9f
|
5118
|
/*IN*/ PSINGLE_LIST_ENTRY ListEntry,
|
sca8er |
2:5853bf44af9f
|
5119
|
/*IN*/ PKSPIN_LOCK Lock);
|
sca8er |
2:5853bf44af9f
|
5120
|
|
sca8er |
2:5853bf44af9f
|
5121
|
|
sca8er |
2:5853bf44af9f
|
5122
|
#if (__USE_NTOSKRNL__) && (_WIN32_WINNT >= 0x0501)
|
sca8er |
2:5853bf44af9f
|
5123
|
#define ExInterlockedPopEntrySList(_ListHead, \
|
sca8er |
2:5853bf44af9f
|
5124
|
_Lock) \
|
sca8er |
2:5853bf44af9f
|
5125
|
InterlockedPopEntrySList(_ListHead)
|
sca8er |
2:5853bf44af9f
|
5126
|
|
sca8er |
2:5853bf44af9f
|
5127
|
#define ExInterlockedPushEntrySList(_ListHead, \
|
sca8er |
2:5853bf44af9f
|
5128
|
_ListEntry, \
|
sca8er |
2:5853bf44af9f
|
5129
|
_Lock) \
|
sca8er |
2:5853bf44af9f
|
5130
|
InterlockedPushEntrySList(_ListHead, _ListEntry)
|
sca8er |
2:5853bf44af9f
|
5131
|
#endif /* __USE_NTOSKRNL__ */
|
sca8er |
2:5853bf44af9f
|
5132
|
|
sca8er |
2:5853bf44af9f
|
5133
|
#define ExQueryDepthSList(ListHead) QueryDepthSList(ListHead)
|
sca8er |
2:5853bf44af9f
|
5134
|
|
sca8er |
2:5853bf44af9f
|
5135
|
static __inline PVOID
|
sca8er |
2:5853bf44af9f
|
5136
|
ExAllocateFromNPagedLookasideList(
|
sca8er |
2:5853bf44af9f
|
5137
|
/*IN*/ PNPAGED_LOOKASIDE_LIST Lookaside)
|
sca8er |
2:5853bf44af9f
|
5138
|
{
|
sca8er |
2:5853bf44af9f
|
5139
|
PVOID Entry;
|
sca8er |
2:5853bf44af9f
|
5140
|
|
sca8er |
2:5853bf44af9f
|
5141
|
Lookaside->TotalAllocates++;
|
sca8er |
2:5853bf44af9f
|
5142
|
Entry = ExInterlockedPopEntrySList(&Lookaside->ListHead,
|
sca8er |
2:5853bf44af9f
|
5143
|
&Lookaside->Obsoleted);
|
sca8er |
2:5853bf44af9f
|
5144
|
if (Entry == NULL) {
|
sca8er |
2:5853bf44af9f
|
5145
|
Lookaside->_DDK_DUMMYUNION_MEMBER(AllocateMisses)++;
|
sca8er |
2:5853bf44af9f
|
5146
|
Entry = (Lookaside->Allocate)(Lookaside->Type,
|
sca8er |
2:5853bf44af9f
|
5147
|
Lookaside->Size,
|
sca8er |
2:5853bf44af9f
|
5148
|
Lookaside->Tag);
|
sca8er |
2:5853bf44af9f
|
5149
|
}
|
sca8er |
2:5853bf44af9f
|
5150
|
return Entry;
|
sca8er |
2:5853bf44af9f
|
5151
|
}
|
sca8er |
2:5853bf44af9f
|
5152
|
|
sca8er |
2:5853bf44af9f
|
5153
|
static __inline VOID
|
sca8er |
2:5853bf44af9f
|
5154
|
ExFreeToNPagedLookasideList(
|
sca8er |
2:5853bf44af9f
|
5155
|
/*IN*/ PNPAGED_LOOKASIDE_LIST Lookaside,
|
sca8er |
2:5853bf44af9f
|
5156
|
/*IN*/ PVOID Entry)
|
sca8er |
2:5853bf44af9f
|
5157
|
{
|
sca8er |
2:5853bf44af9f
|
5158
|
Lookaside->TotalFrees++;
|
sca8er |
2:5853bf44af9f
|
5159
|
if (ExQueryDepthSList(&Lookaside->ListHead) >= Lookaside->Depth) {
|
sca8er |
2:5853bf44af9f
|
5160
|
Lookaside->_DDK_DUMMYUNION_N_MEMBER(2,FreeMisses)++;
|
sca8er |
2:5853bf44af9f
|
5161
|
(Lookaside->Free)(Entry);
|
sca8er |
2:5853bf44af9f
|
5162
|
} else {
|
sca8er |
2:5853bf44af9f
|
5163
|
ExInterlockedPushEntrySList(&Lookaside->ListHead,
|
sca8er |
2:5853bf44af9f
|
5164
|
(PSLIST_ENTRY)Entry,
|
sca8er |
2:5853bf44af9f
|
5165
|
&Lookaside->Obsoleted);
|
sca8er |
2:5853bf44af9f
|
5166
|
}
|
sca8er |
2:5853bf44af9f
|
5167
|
}
|
sca8er |
2:5853bf44af9f
|
5168
|
|
sca8er |
2:5853bf44af9f
|
5169
|
#if (__USE_NTOSKRNL__) && (_WIN32_WINNT >= 0x0501)
|
sca8er |
2:5853bf44af9f
|
5170
|
|
sca8er |
2:5853bf44af9f
|
5171
|
static __inline PVOID
|
sca8er |
2:5853bf44af9f
|
5172
|
ExAllocateFromPagedLookasideList(
|
sca8er |
2:5853bf44af9f
|
5173
|
/*IN*/ PPAGED_LOOKASIDE_LIST Lookaside)
|
sca8er |
2:5853bf44af9f
|
5174
|
{
|
sca8er |
2:5853bf44af9f
|
5175
|
PVOID Entry;
|
sca8er |
2:5853bf44af9f
|
5176
|
|
sca8er |
2:5853bf44af9f
|
5177
|
Lookaside->TotalAllocates++;
|
sca8er |
2:5853bf44af9f
|
5178
|
Entry = InterlockedPopEntrySList(&Lookaside->ListHead);
|
sca8er |
2:5853bf44af9f
|
5179
|
if (Entry == NULL) {
|
sca8er |
2:5853bf44af9f
|
5180
|
Lookaside->_DDK_DUMMYUNION_MEMBER(AllocateMisses)++;
|
sca8er |
2:5853bf44af9f
|
5181
|
Entry = (Lookaside->Allocate)(Lookaside->Type,
|
sca8er |
2:5853bf44af9f
|
5182
|
Lookaside->Size,
|
sca8er |
2:5853bf44af9f
|
5183
|
Lookaside->Tag);
|
sca8er |
2:5853bf44af9f
|
5184
|
}
|
sca8er |
2:5853bf44af9f
|
5185
|
return Entry;
|
sca8er |
2:5853bf44af9f
|
5186
|
}
|
sca8er |
2:5853bf44af9f
|
5187
|
|
sca8er |
2:5853bf44af9f
|
5188
|
static __inline VOID
|
sca8er |
2:5853bf44af9f
|
5189
|
ExFreeToPagedLookasideList(
|
sca8er |
2:5853bf44af9f
|
5190
|
/*IN*/ PPAGED_LOOKASIDE_LIST Lookaside,
|
sca8er |
2:5853bf44af9f
|
5191
|
/*IN*/ PVOID Entry)
|
sca8er |
2:5853bf44af9f
|
5192
|
{
|
sca8er |
2:5853bf44af9f
|
5193
|
Lookaside->TotalFrees++;
|
sca8er |
2:5853bf44af9f
|
5194
|
if (ExQueryDepthSList(&Lookaside->ListHead) >= Lookaside->Depth) {
|
sca8er |
2:5853bf44af9f
|
5195
|
Lookaside->_DDK_DUMMYUNION_N_MEMBER(2,FreeMisses)++;
|
sca8er |
2:5853bf44af9f
|
5196
|
(Lookaside->Free)(Entry);
|
sca8er |
2:5853bf44af9f
|
5197
|
} else {
|
sca8er |
2:5853bf44af9f
|
5198
|
InterlockedPushEntrySList(&Lookaside->ListHead,
|
sca8er |
2:5853bf44af9f
|
5199
|
(PSLIST_ENTRY)Entry);
|
sca8er |
2:5853bf44af9f
|
5200
|
}
|
sca8er |
2:5853bf44af9f
|
5201
|
}
|
sca8er |
2:5853bf44af9f
|
5202
|
|
sca8er |
2:5853bf44af9f
|
5203
|
#else /* (__USE_NTOSKRNL__) && (_WIN32_WINNT >= 0x0501) */
|
sca8er |
2:5853bf44af9f
|
5204
|
|
sca8er |
2:5853bf44af9f
|
5205
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5206
|
PVOID
|
sca8er |
2:5853bf44af9f
|
5207
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5208
|
ExAllocateFromPagedLookasideList(
|
sca8er |
2:5853bf44af9f
|
5209
|
/*IN*/ PPAGED_LOOKASIDE_LIST Lookaside);
|
sca8er |
2:5853bf44af9f
|
5210
|
|
sca8er |
2:5853bf44af9f
|
5211
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5212
|
VOID
|
sca8er |
2:5853bf44af9f
|
5213
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5214
|
ExFreeToPagedLookasideList(
|
sca8er |
2:5853bf44af9f
|
5215
|
/*IN*/ PPAGED_LOOKASIDE_LIST Lookaside,
|
sca8er |
2:5853bf44af9f
|
5216
|
/*IN*/ PVOID Entry);
|
sca8er |
2:5853bf44af9f
|
5217
|
|
sca8er |
2:5853bf44af9f
|
5218
|
#endif /* (__USE_NTOSKRNL__) && (_WIN32_WINNT >= 0x0501) */
|
sca8er |
2:5853bf44af9f
|
5219
|
|
sca8er |
2:5853bf44af9f
|
5220
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5221
|
PVOID
|
sca8er |
2:5853bf44af9f
|
5222
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5223
|
ExAllocatePoolWithQuotaTag(
|
sca8er |
2:5853bf44af9f
|
5224
|
/*IN*/ POOL_TYPE PoolType,
|
sca8er |
2:5853bf44af9f
|
5225
|
/*IN*/ SIZE_T NumberOfBytes,
|
sca8er |
2:5853bf44af9f
|
5226
|
/*IN*/ ULONG Tag);
|
sca8er |
2:5853bf44af9f
|
5227
|
|
sca8er |
2:5853bf44af9f
|
5228
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5229
|
PVOID
|
sca8er |
2:5853bf44af9f
|
5230
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5231
|
ExAllocatePoolWithTag(
|
sca8er |
2:5853bf44af9f
|
5232
|
/*IN*/ POOL_TYPE PoolType,
|
sca8er |
2:5853bf44af9f
|
5233
|
/*IN*/ SIZE_T NumberOfBytes,
|
sca8er |
2:5853bf44af9f
|
5234
|
/*IN*/ ULONG Tag);
|
sca8er |
2:5853bf44af9f
|
5235
|
|
sca8er |
2:5853bf44af9f
|
5236
|
#ifdef POOL_TAGGING
|
sca8er |
2:5853bf44af9f
|
5237
|
|
sca8er |
2:5853bf44af9f
|
5238
|
#define ExAllocatePoolWithQuota(p,n) ExAllocatePoolWithQuotaTag(p,n,' kdD')
|
sca8er |
2:5853bf44af9f
|
5239
|
#define ExAllocatePool(p,n) ExAllocatePoolWithTag(p,n,' kdD')
|
sca8er |
2:5853bf44af9f
|
5240
|
|
sca8er |
2:5853bf44af9f
|
5241
|
#else /* !POOL_TAGGING */
|
sca8er |
2:5853bf44af9f
|
5242
|
|
sca8er |
2:5853bf44af9f
|
5243
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5244
|
PVOID
|
sca8er |
2:5853bf44af9f
|
5245
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5246
|
ExAllocatePool(
|
sca8er |
2:5853bf44af9f
|
5247
|
/*IN*/ POOL_TYPE PoolType,
|
sca8er |
2:5853bf44af9f
|
5248
|
/*IN*/ SIZE_T NumberOfBytes);
|
sca8er |
2:5853bf44af9f
|
5249
|
|
sca8er |
2:5853bf44af9f
|
5250
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5251
|
PVOID
|
sca8er |
2:5853bf44af9f
|
5252
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5253
|
ExAllocatePoolWithQuota(
|
sca8er |
2:5853bf44af9f
|
5254
|
/*IN*/ POOL_TYPE PoolType,
|
sca8er |
2:5853bf44af9f
|
5255
|
/*IN*/ SIZE_T NumberOfBytes);
|
sca8er |
2:5853bf44af9f
|
5256
|
|
sca8er |
2:5853bf44af9f
|
5257
|
#endif /* POOL_TAGGING */
|
sca8er |
2:5853bf44af9f
|
5258
|
|
sca8er |
2:5853bf44af9f
|
5259
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5260
|
PVOID
|
sca8er |
2:5853bf44af9f
|
5261
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5262
|
ExAllocatePoolWithTagPriority(
|
sca8er |
2:5853bf44af9f
|
5263
|
/*IN*/ POOL_TYPE PoolType,
|
sca8er |
2:5853bf44af9f
|
5264
|
/*IN*/ SIZE_T NumberOfBytes,
|
sca8er |
2:5853bf44af9f
|
5265
|
/*IN*/ ULONG Tag,
|
sca8er |
2:5853bf44af9f
|
5266
|
/*IN*/ EX_POOL_PRIORITY Priority);
|
sca8er |
2:5853bf44af9f
|
5267
|
|
sca8er |
2:5853bf44af9f
|
5268
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5269
|
VOID
|
sca8er |
2:5853bf44af9f
|
5270
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5271
|
ExConvertExclusiveToSharedLite(
|
sca8er |
2:5853bf44af9f
|
5272
|
/*IN*/ PERESOURCE Resource);
|
sca8er |
2:5853bf44af9f
|
5273
|
|
sca8er |
2:5853bf44af9f
|
5274
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5275
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
5276
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5277
|
ExCreateCallback(
|
sca8er |
2:5853bf44af9f
|
5278
|
/*OUT*/ PCALLBACK_OBJECT *CallbackObject,
|
sca8er |
2:5853bf44af9f
|
5279
|
/*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
|
sca8er |
2:5853bf44af9f
|
5280
|
/*IN*/ BOOLEAN Create,
|
sca8er |
2:5853bf44af9f
|
5281
|
/*IN*/ BOOLEAN AllowMultipleCallbacks);
|
sca8er |
2:5853bf44af9f
|
5282
|
|
sca8er |
2:5853bf44af9f
|
5283
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5284
|
VOID
|
sca8er |
2:5853bf44af9f
|
5285
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5286
|
ExDeleteNPagedLookasideList(
|
sca8er |
2:5853bf44af9f
|
5287
|
/*IN*/ PNPAGED_LOOKASIDE_LIST Lookaside);
|
sca8er |
2:5853bf44af9f
|
5288
|
|
sca8er |
2:5853bf44af9f
|
5289
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5290
|
VOID
|
sca8er |
2:5853bf44af9f
|
5291
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5292
|
ExDeletePagedLookasideList(
|
sca8er |
2:5853bf44af9f
|
5293
|
/*IN*/ PPAGED_LOOKASIDE_LIST Lookaside);
|
sca8er |
2:5853bf44af9f
|
5294
|
|
sca8er |
2:5853bf44af9f
|
5295
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5296
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
5297
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5298
|
ExDeleteResourceLite(
|
sca8er |
2:5853bf44af9f
|
5299
|
/*IN*/ PERESOURCE Resource);
|
sca8er |
2:5853bf44af9f
|
5300
|
|
sca8er |
2:5853bf44af9f
|
5301
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5302
|
VOID
|
sca8er |
2:5853bf44af9f
|
5303
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5304
|
ExFreePool(
|
sca8er |
2:5853bf44af9f
|
5305
|
/*IN*/ PVOID P);
|
sca8er |
2:5853bf44af9f
|
5306
|
|
sca8er |
2:5853bf44af9f
|
5307
|
#define PROTECTED_POOL 0x80000000
|
sca8er |
2:5853bf44af9f
|
5308
|
|
sca8er |
2:5853bf44af9f
|
5309
|
#ifdef POOL_TAGGING
|
sca8er |
2:5853bf44af9f
|
5310
|
#define ExFreePool(P) ExFreePoolWithTag(P, 0)
|
sca8er |
2:5853bf44af9f
|
5311
|
#endif
|
sca8er |
2:5853bf44af9f
|
5312
|
|
sca8er |
2:5853bf44af9f
|
5313
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5314
|
VOID
|
sca8er |
2:5853bf44af9f
|
5315
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5316
|
ExFreePoolWithTag(
|
sca8er |
2:5853bf44af9f
|
5317
|
/*IN*/ PVOID P,
|
sca8er |
2:5853bf44af9f
|
5318
|
/*IN*/ ULONG Tag);
|
sca8er |
2:5853bf44af9f
|
5319
|
|
sca8er |
2:5853bf44af9f
|
5320
|
/*
|
sca8er |
2:5853bf44af9f
|
5321
|
* ERESOURCE_THREAD
|
sca8er |
2:5853bf44af9f
|
5322
|
* ExGetCurrentResourceThread(
|
sca8er |
2:5853bf44af9f
|
5323
|
* VOID);
|
sca8er |
2:5853bf44af9f
|
5324
|
*/
|
sca8er |
2:5853bf44af9f
|
5325
|
#define ExGetCurrentResourceThread() ((ERESOURCE_THREAD) PsGetCurrentThread())
|
sca8er |
2:5853bf44af9f
|
5326
|
|
sca8er |
2:5853bf44af9f
|
5327
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5328
|
ULONG
|
sca8er |
2:5853bf44af9f
|
5329
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5330
|
ExGetExclusiveWaiterCount(
|
sca8er |
2:5853bf44af9f
|
5331
|
/*IN*/ PERESOURCE Resource);
|
sca8er |
2:5853bf44af9f
|
5332
|
|
sca8er |
2:5853bf44af9f
|
5333
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5334
|
KPROCESSOR_MODE
|
sca8er |
2:5853bf44af9f
|
5335
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5336
|
ExGetPreviousMode(
|
sca8er |
2:5853bf44af9f
|
5337
|
VOID);
|
sca8er |
2:5853bf44af9f
|
5338
|
|
sca8er |
2:5853bf44af9f
|
5339
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5340
|
ULONG
|
sca8er |
2:5853bf44af9f
|
5341
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5342
|
ExGetSharedWaiterCount(
|
sca8er |
2:5853bf44af9f
|
5343
|
/*IN*/ PERESOURCE Resource);
|
sca8er |
2:5853bf44af9f
|
5344
|
|
sca8er |
2:5853bf44af9f
|
5345
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5346
|
VOID
|
sca8er |
2:5853bf44af9f
|
5347
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5348
|
KeInitializeEvent(
|
sca8er |
2:5853bf44af9f
|
5349
|
/*IN*/ PRKEVENT Event,
|
sca8er |
2:5853bf44af9f
|
5350
|
/*IN*/ EVENT_TYPE Type,
|
sca8er |
2:5853bf44af9f
|
5351
|
/*IN*/ BOOLEAN State);
|
sca8er |
2:5853bf44af9f
|
5352
|
|
sca8er |
2:5853bf44af9f
|
5353
|
/*
|
sca8er |
2:5853bf44af9f
|
5354
|
* VOID DDKAPI
|
sca8er |
2:5853bf44af9f
|
5355
|
* ExInitializeFastMutex(
|
sca8er |
2:5853bf44af9f
|
5356
|
* IN PFAST_MUTEX FastMutex)
|
sca8er |
2:5853bf44af9f
|
5357
|
*/
|
sca8er |
2:5853bf44af9f
|
5358
|
#define ExInitializeFastMutex(_FastMutex) \
|
sca8er |
2:5853bf44af9f
|
5359
|
{ \
|
sca8er |
2:5853bf44af9f
|
5360
|
(_FastMutex)->Count = 1; \
|
sca8er |
2:5853bf44af9f
|
5361
|
(_FastMutex)->Owner = NULL; \
|
sca8er |
2:5853bf44af9f
|
5362
|
(_FastMutex)->Contention = 0; \
|
sca8er |
2:5853bf44af9f
|
5363
|
KeInitializeEvent(&(_FastMutex)->Event, SynchronizationEvent, FALSE); \
|
sca8er |
2:5853bf44af9f
|
5364
|
}
|
sca8er |
2:5853bf44af9f
|
5365
|
|
sca8er |
2:5853bf44af9f
|
5366
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5367
|
VOID
|
sca8er |
2:5853bf44af9f
|
5368
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5369
|
ExInitializeNPagedLookasideList(
|
sca8er |
2:5853bf44af9f
|
5370
|
/*IN*/ PNPAGED_LOOKASIDE_LIST Lookaside,
|
sca8er |
2:5853bf44af9f
|
5371
|
/*IN*/ PALLOCATE_FUNCTION Allocate /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
5372
|
/*IN*/ PFREE_FUNCTION Free /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
5373
|
/*IN*/ ULONG Flags,
|
sca8er |
2:5853bf44af9f
|
5374
|
/*IN*/ SIZE_T Size,
|
sca8er |
2:5853bf44af9f
|
5375
|
/*IN*/ ULONG Tag,
|
sca8er |
2:5853bf44af9f
|
5376
|
/*IN*/ USHORT Depth);
|
sca8er |
2:5853bf44af9f
|
5377
|
|
sca8er |
2:5853bf44af9f
|
5378
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5379
|
VOID
|
sca8er |
2:5853bf44af9f
|
5380
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5381
|
ExInitializePagedLookasideList(
|
sca8er |
2:5853bf44af9f
|
5382
|
/*IN*/ PPAGED_LOOKASIDE_LIST Lookaside,
|
sca8er |
2:5853bf44af9f
|
5383
|
/*IN*/ PALLOCATE_FUNCTION Allocate /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
5384
|
/*IN*/ PFREE_FUNCTION Free /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
5385
|
/*IN*/ ULONG Flags,
|
sca8er |
2:5853bf44af9f
|
5386
|
/*IN*/ SIZE_T Size,
|
sca8er |
2:5853bf44af9f
|
5387
|
/*IN*/ ULONG Tag,
|
sca8er |
2:5853bf44af9f
|
5388
|
/*IN*/ USHORT Depth);
|
sca8er |
2:5853bf44af9f
|
5389
|
|
sca8er |
2:5853bf44af9f
|
5390
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5391
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
5392
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5393
|
ExInitializeResourceLite(
|
sca8er |
2:5853bf44af9f
|
5394
|
/*IN*/ PERESOURCE Resource);
|
sca8er |
2:5853bf44af9f
|
5395
|
|
sca8er |
2:5853bf44af9f
|
5396
|
/*
|
sca8er |
2:5853bf44af9f
|
5397
|
* VOID
|
sca8er |
2:5853bf44af9f
|
5398
|
* InitializeSListHead(
|
sca8er |
2:5853bf44af9f
|
5399
|
* IN PSLIST_HEADER SListHead)
|
sca8er |
2:5853bf44af9f
|
5400
|
*/
|
sca8er |
2:5853bf44af9f
|
5401
|
#define InitializeSListHead(_SListHead) \
|
sca8er |
2:5853bf44af9f
|
5402
|
(_SListHead)->Alignment = 0
|
sca8er |
2:5853bf44af9f
|
5403
|
|
sca8er |
2:5853bf44af9f
|
5404
|
#define ExInitializeSListHead InitializeSListHead
|
sca8er |
2:5853bf44af9f
|
5405
|
|
sca8er |
2:5853bf44af9f
|
5406
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5407
|
LARGE_INTEGER
|
sca8er |
2:5853bf44af9f
|
5408
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5409
|
ExInterlockedAddLargeInteger(
|
sca8er |
2:5853bf44af9f
|
5410
|
/*IN*/ PLARGE_INTEGER Addend,
|
sca8er |
2:5853bf44af9f
|
5411
|
/*IN*/ LARGE_INTEGER Increment,
|
sca8er |
2:5853bf44af9f
|
5412
|
/*IN*/ PKSPIN_LOCK Lock);
|
sca8er |
2:5853bf44af9f
|
5413
|
|
sca8er |
2:5853bf44af9f
|
5414
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5415
|
VOID
|
sca8er |
2:5853bf44af9f
|
5416
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
5417
|
ExInterlockedAddLargeStatistic(
|
sca8er |
2:5853bf44af9f
|
5418
|
/*IN*/ PLARGE_INTEGER Addend,
|
sca8er |
2:5853bf44af9f
|
5419
|
/*IN*/ ULONG Increment);
|
sca8er |
2:5853bf44af9f
|
5420
|
|
sca8er |
2:5853bf44af9f
|
5421
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5422
|
ULONG
|
sca8er |
2:5853bf44af9f
|
5423
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5424
|
ExInterlockedAddUlong(
|
sca8er |
2:5853bf44af9f
|
5425
|
/*IN*/ PULONG Addend,
|
sca8er |
2:5853bf44af9f
|
5426
|
/*IN*/ ULONG Increment,
|
sca8er |
2:5853bf44af9f
|
5427
|
PKSPIN_LOCK Lock);
|
sca8er |
2:5853bf44af9f
|
5428
|
|
sca8er |
2:5853bf44af9f
|
5429
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5430
|
ULONG
|
sca8er |
2:5853bf44af9f
|
5431
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
5432
|
ExfInterlockedAddUlong(
|
sca8er |
2:5853bf44af9f
|
5433
|
/*IN*/ PULONG Addend,
|
sca8er |
2:5853bf44af9f
|
5434
|
/*IN*/ ULONG Increment,
|
sca8er |
2:5853bf44af9f
|
5435
|
PKSPIN_LOCK Lock);
|
sca8er |
2:5853bf44af9f
|
5436
|
|
sca8er |
2:5853bf44af9f
|
5437
|
|
sca8er |
2:5853bf44af9f
|
5438
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5439
|
LONGLONG
|
sca8er |
2:5853bf44af9f
|
5440
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
5441
|
ExInterlockedCompareExchange64(
|
sca8er |
2:5853bf44af9f
|
5442
|
/*IN OUT*/ PLONGLONG Destination,
|
sca8er |
2:5853bf44af9f
|
5443
|
/*IN*/ PLONGLONG Exchange,
|
sca8er |
2:5853bf44af9f
|
5444
|
/*IN*/ PLONGLONG Comparand,
|
sca8er |
2:5853bf44af9f
|
5445
|
/*IN*/ PKSPIN_LOCK Lock);
|
sca8er |
2:5853bf44af9f
|
5446
|
|
sca8er |
2:5853bf44af9f
|
5447
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5448
|
PSINGLE_LIST_ENTRY
|
sca8er |
2:5853bf44af9f
|
5449
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
5450
|
ExInterlockedFlushSList(
|
sca8er |
2:5853bf44af9f
|
5451
|
/*IN*/ PSLIST_HEADER ListHead);
|
sca8er |
2:5853bf44af9f
|
5452
|
|
sca8er |
2:5853bf44af9f
|
5453
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5454
|
PLIST_ENTRY
|
sca8er |
2:5853bf44af9f
|
5455
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5456
|
ExInterlockedInsertHeadList(
|
sca8er |
2:5853bf44af9f
|
5457
|
/*IN*/ PLIST_ENTRY ListHead,
|
sca8er |
2:5853bf44af9f
|
5458
|
/*IN*/ PLIST_ENTRY ListEntry,
|
sca8er |
2:5853bf44af9f
|
5459
|
/*IN*/ PKSPIN_LOCK Lock);
|
sca8er |
2:5853bf44af9f
|
5460
|
|
sca8er |
2:5853bf44af9f
|
5461
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5462
|
PLIST_ENTRY
|
sca8er |
2:5853bf44af9f
|
5463
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
5464
|
ExfInterlockedInsertHeadList(
|
sca8er |
2:5853bf44af9f
|
5465
|
/*IN*/ PLIST_ENTRY ListHead,
|
sca8er |
2:5853bf44af9f
|
5466
|
/*IN*/ PLIST_ENTRY ListEntry,
|
sca8er |
2:5853bf44af9f
|
5467
|
/*IN*/ PKSPIN_LOCK Lock);
|
sca8er |
2:5853bf44af9f
|
5468
|
|
sca8er |
2:5853bf44af9f
|
5469
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5470
|
PLIST_ENTRY
|
sca8er |
2:5853bf44af9f
|
5471
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5472
|
ExInterlockedInsertTailList(
|
sca8er |
2:5853bf44af9f
|
5473
|
/*IN*/ PLIST_ENTRY ListHead,
|
sca8er |
2:5853bf44af9f
|
5474
|
/*IN*/ PLIST_ENTRY ListEntry,
|
sca8er |
2:5853bf44af9f
|
5475
|
/*IN*/ PKSPIN_LOCK Lock);
|
sca8er |
2:5853bf44af9f
|
5476
|
|
sca8er |
2:5853bf44af9f
|
5477
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5478
|
PLIST_ENTRY
|
sca8er |
2:5853bf44af9f
|
5479
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
5480
|
ExfInterlockedInsertTailList(
|
sca8er |
2:5853bf44af9f
|
5481
|
/*IN*/ PLIST_ENTRY ListHead,
|
sca8er |
2:5853bf44af9f
|
5482
|
/*IN*/ PLIST_ENTRY ListEntry,
|
sca8er |
2:5853bf44af9f
|
5483
|
/*IN*/ PKSPIN_LOCK Lock);
|
sca8er |
2:5853bf44af9f
|
5484
|
|
sca8er |
2:5853bf44af9f
|
5485
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5486
|
PSINGLE_LIST_ENTRY
|
sca8er |
2:5853bf44af9f
|
5487
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5488
|
ExInterlockedPopEntryList(
|
sca8er |
2:5853bf44af9f
|
5489
|
/*IN*/ PSINGLE_LIST_ENTRY ListHead,
|
sca8er |
2:5853bf44af9f
|
5490
|
/*IN*/ PKSPIN_LOCK Lock);
|
sca8er |
2:5853bf44af9f
|
5491
|
|
sca8er |
2:5853bf44af9f
|
5492
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5493
|
PSINGLE_LIST_ENTRY
|
sca8er |
2:5853bf44af9f
|
5494
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
5495
|
ExfInterlockedPopEntryList(
|
sca8er |
2:5853bf44af9f
|
5496
|
/*IN*/ PSINGLE_LIST_ENTRY ListHead,
|
sca8er |
2:5853bf44af9f
|
5497
|
/*IN*/ PKSPIN_LOCK Lock);
|
sca8er |
2:5853bf44af9f
|
5498
|
|
sca8er |
2:5853bf44af9f
|
5499
|
|
sca8er |
2:5853bf44af9f
|
5500
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5501
|
PSINGLE_LIST_ENTRY
|
sca8er |
2:5853bf44af9f
|
5502
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5503
|
ExInterlockedPushEntryList(
|
sca8er |
2:5853bf44af9f
|
5504
|
/*IN*/ PSINGLE_LIST_ENTRY ListHead,
|
sca8er |
2:5853bf44af9f
|
5505
|
/*IN*/ PSINGLE_LIST_ENTRY ListEntry,
|
sca8er |
2:5853bf44af9f
|
5506
|
/*IN*/ PKSPIN_LOCK Lock);
|
sca8er |
2:5853bf44af9f
|
5507
|
|
sca8er |
2:5853bf44af9f
|
5508
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5509
|
PSINGLE_LIST_ENTRY
|
sca8er |
2:5853bf44af9f
|
5510
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
5511
|
ExfInterlockedPushEntryList(
|
sca8er |
2:5853bf44af9f
|
5512
|
/*IN*/ PSINGLE_LIST_ENTRY ListHead,
|
sca8er |
2:5853bf44af9f
|
5513
|
/*IN*/ PSINGLE_LIST_ENTRY ListEntry,
|
sca8er |
2:5853bf44af9f
|
5514
|
/*IN*/ PKSPIN_LOCK Lock);
|
sca8er |
2:5853bf44af9f
|
5515
|
|
sca8er |
2:5853bf44af9f
|
5516
|
|
sca8er |
2:5853bf44af9f
|
5517
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5518
|
PLIST_ENTRY
|
sca8er |
2:5853bf44af9f
|
5519
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5520
|
ExInterlockedRemoveHeadList(
|
sca8er |
2:5853bf44af9f
|
5521
|
/*IN*/ PLIST_ENTRY ListHead,
|
sca8er |
2:5853bf44af9f
|
5522
|
/*IN*/ PKSPIN_LOCK Lock);
|
sca8er |
2:5853bf44af9f
|
5523
|
|
sca8er |
2:5853bf44af9f
|
5524
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5525
|
PLIST_ENTRY
|
sca8er |
2:5853bf44af9f
|
5526
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
5527
|
ExfInterlockedRemoveHeadList(
|
sca8er |
2:5853bf44af9f
|
5528
|
/*IN*/ PLIST_ENTRY ListHead,
|
sca8er |
2:5853bf44af9f
|
5529
|
/*IN*/ PKSPIN_LOCK Lock);
|
sca8er |
2:5853bf44af9f
|
5530
|
|
sca8er |
2:5853bf44af9f
|
5531
|
|
sca8er |
2:5853bf44af9f
|
5532
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5533
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
5534
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5535
|
ExIsProcessorFeaturePresent(
|
sca8er |
2:5853bf44af9f
|
5536
|
/*IN*/ ULONG ProcessorFeature);
|
sca8er |
2:5853bf44af9f
|
5537
|
|
sca8er |
2:5853bf44af9f
|
5538
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5539
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
5540
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5541
|
ExIsResourceAcquiredExclusiveLite(
|
sca8er |
2:5853bf44af9f
|
5542
|
/*IN*/ PERESOURCE Resource);
|
sca8er |
2:5853bf44af9f
|
5543
|
|
sca8er |
2:5853bf44af9f
|
5544
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5545
|
USHORT
|
sca8er |
2:5853bf44af9f
|
5546
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5547
|
ExIsResourceAcquiredLite(
|
sca8er |
2:5853bf44af9f
|
5548
|
/*IN*/ PERESOURCE Resource);
|
sca8er |
2:5853bf44af9f
|
5549
|
|
sca8er |
2:5853bf44af9f
|
5550
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5551
|
USHORT
|
sca8er |
2:5853bf44af9f
|
5552
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5553
|
ExIsResourceAcquiredSharedLite(
|
sca8er |
2:5853bf44af9f
|
5554
|
/*IN*/ PERESOURCE Resource);
|
sca8er |
2:5853bf44af9f
|
5555
|
|
sca8er |
2:5853bf44af9f
|
5556
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5557
|
VOID
|
sca8er |
2:5853bf44af9f
|
5558
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5559
|
ExLocalTimeToSystemTime(
|
sca8er |
2:5853bf44af9f
|
5560
|
/*IN*/ PLARGE_INTEGER LocalTime,
|
sca8er |
2:5853bf44af9f
|
5561
|
/*OUT*/ PLARGE_INTEGER SystemTime);
|
sca8er |
2:5853bf44af9f
|
5562
|
|
sca8er |
2:5853bf44af9f
|
5563
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5564
|
VOID
|
sca8er |
2:5853bf44af9f
|
5565
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5566
|
ExNotifyCallback(
|
sca8er |
2:5853bf44af9f
|
5567
|
/*IN*/ PCALLBACK_OBJECT CallbackObject,
|
sca8er |
2:5853bf44af9f
|
5568
|
/*IN*/ PVOID Argument1,
|
sca8er |
2:5853bf44af9f
|
5569
|
/*IN*/ PVOID Argument2);
|
sca8er |
2:5853bf44af9f
|
5570
|
|
sca8er |
2:5853bf44af9f
|
5571
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5572
|
VOID
|
sca8er |
2:5853bf44af9f
|
5573
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5574
|
ExRaiseAccessViolation(
|
sca8er |
2:5853bf44af9f
|
5575
|
VOID);
|
sca8er |
2:5853bf44af9f
|
5576
|
|
sca8er |
2:5853bf44af9f
|
5577
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5578
|
VOID
|
sca8er |
2:5853bf44af9f
|
5579
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5580
|
ExRaiseDatatypeMisalignment(
|
sca8er |
2:5853bf44af9f
|
5581
|
VOID);
|
sca8er |
2:5853bf44af9f
|
5582
|
|
sca8er |
2:5853bf44af9f
|
5583
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5584
|
VOID
|
sca8er |
2:5853bf44af9f
|
5585
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5586
|
ExRaiseStatus(
|
sca8er |
2:5853bf44af9f
|
5587
|
/*IN*/ NTSTATUS Status);
|
sca8er |
2:5853bf44af9f
|
5588
|
|
sca8er |
2:5853bf44af9f
|
5589
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5590
|
PVOID
|
sca8er |
2:5853bf44af9f
|
5591
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5592
|
ExRegisterCallback(
|
sca8er |
2:5853bf44af9f
|
5593
|
/*IN*/ PCALLBACK_OBJECT CallbackObject,
|
sca8er |
2:5853bf44af9f
|
5594
|
/*IN*/ PCALLBACK_FUNCTION CallbackFunction,
|
sca8er |
2:5853bf44af9f
|
5595
|
/*IN*/ PVOID CallbackContext);
|
sca8er |
2:5853bf44af9f
|
5596
|
|
sca8er |
2:5853bf44af9f
|
5597
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5598
|
VOID
|
sca8er |
2:5853bf44af9f
|
5599
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5600
|
ExReinitializeResourceLite(
|
sca8er |
2:5853bf44af9f
|
5601
|
/*IN*/ PERESOURCE Resource);
|
sca8er |
2:5853bf44af9f
|
5602
|
|
sca8er |
2:5853bf44af9f
|
5603
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5604
|
VOID
|
sca8er |
2:5853bf44af9f
|
5605
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
5606
|
ExReleaseFastMutex(
|
sca8er |
2:5853bf44af9f
|
5607
|
/*IN*/ PFAST_MUTEX FastMutex);
|
sca8er |
2:5853bf44af9f
|
5608
|
|
sca8er |
2:5853bf44af9f
|
5609
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5610
|
VOID
|
sca8er |
2:5853bf44af9f
|
5611
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
5612
|
ExReleaseFastMutexUnsafe(
|
sca8er |
2:5853bf44af9f
|
5613
|
/*IN*/ PFAST_MUTEX FastMutex);
|
sca8er |
2:5853bf44af9f
|
5614
|
|
sca8er |
2:5853bf44af9f
|
5615
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5616
|
VOID
|
sca8er |
2:5853bf44af9f
|
5617
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5618
|
ExReleaseResourceForThreadLite(
|
sca8er |
2:5853bf44af9f
|
5619
|
/*IN*/ PERESOURCE Resource,
|
sca8er |
2:5853bf44af9f
|
5620
|
/*IN*/ ERESOURCE_THREAD ResourceThreadId);
|
sca8er |
2:5853bf44af9f
|
5621
|
|
sca8er |
2:5853bf44af9f
|
5622
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5623
|
VOID
|
sca8er |
2:5853bf44af9f
|
5624
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
5625
|
ExReleaseResourceLite(
|
sca8er |
2:5853bf44af9f
|
5626
|
/*IN*/ PERESOURCE Resource);
|
sca8er |
2:5853bf44af9f
|
5627
|
|
sca8er |
2:5853bf44af9f
|
5628
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5629
|
VOID
|
sca8er |
2:5853bf44af9f
|
5630
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5631
|
ExSetResourceOwnerPointer(
|
sca8er |
2:5853bf44af9f
|
5632
|
/*IN*/ PERESOURCE Resource,
|
sca8er |
2:5853bf44af9f
|
5633
|
/*IN*/ PVOID OwnerPointer);
|
sca8er |
2:5853bf44af9f
|
5634
|
|
sca8er |
2:5853bf44af9f
|
5635
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5636
|
ULONG
|
sca8er |
2:5853bf44af9f
|
5637
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5638
|
ExSetTimerResolution(
|
sca8er |
2:5853bf44af9f
|
5639
|
/*IN*/ ULONG DesiredTime,
|
sca8er |
2:5853bf44af9f
|
5640
|
/*IN*/ BOOLEAN SetResolution);
|
sca8er |
2:5853bf44af9f
|
5641
|
|
sca8er |
2:5853bf44af9f
|
5642
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5643
|
VOID
|
sca8er |
2:5853bf44af9f
|
5644
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5645
|
ExSystemTimeToLocalTime(
|
sca8er |
2:5853bf44af9f
|
5646
|
/*IN*/ PLARGE_INTEGER SystemTime,
|
sca8er |
2:5853bf44af9f
|
5647
|
/*OUT*/ PLARGE_INTEGER LocalTime);
|
sca8er |
2:5853bf44af9f
|
5648
|
|
sca8er |
2:5853bf44af9f
|
5649
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5650
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
5651
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
5652
|
ExTryToAcquireFastMutex(
|
sca8er |
2:5853bf44af9f
|
5653
|
/*IN*/ PFAST_MUTEX FastMutex);
|
sca8er |
2:5853bf44af9f
|
5654
|
|
sca8er |
2:5853bf44af9f
|
5655
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5656
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
5657
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5658
|
ExTryToAcquireResourceExclusiveLite(
|
sca8er |
2:5853bf44af9f
|
5659
|
/*IN*/ PERESOURCE Resource);
|
sca8er |
2:5853bf44af9f
|
5660
|
|
sca8er |
2:5853bf44af9f
|
5661
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5662
|
VOID
|
sca8er |
2:5853bf44af9f
|
5663
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5664
|
ExUnregisterCallback(
|
sca8er |
2:5853bf44af9f
|
5665
|
/*IN*/ PVOID CbRegistration);
|
sca8er |
2:5853bf44af9f
|
5666
|
|
sca8er |
2:5853bf44af9f
|
5667
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5668
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
5669
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5670
|
ExUuidCreate(
|
sca8er |
2:5853bf44af9f
|
5671
|
/*OUT*/ UUID *Uuid);
|
sca8er |
2:5853bf44af9f
|
5672
|
|
sca8er |
2:5853bf44af9f
|
5673
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5674
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
5675
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5676
|
ExVerifySuite(
|
sca8er |
2:5853bf44af9f
|
5677
|
/*IN*/ SUITE_TYPE SuiteType);
|
sca8er |
2:5853bf44af9f
|
5678
|
|
sca8er |
2:5853bf44af9f
|
5679
|
#ifdef DBG
|
sca8er |
2:5853bf44af9f
|
5680
|
|
sca8er |
2:5853bf44af9f
|
5681
|
#define PAGED_CODE() { \
|
sca8er |
2:5853bf44af9f
|
5682
|
if (KeGetCurrentIrql() > APC_LEVEL) { \
|
sca8er |
2:5853bf44af9f
|
5683
|
KdPrint( ("NTDDK: Pageable code called at IRQL > APC_LEVEL (%d)\n", KeGetCurrentIrql() )); \
|
sca8er |
2:5853bf44af9f
|
5684
|
ASSERT(FALSE); \
|
sca8er |
2:5853bf44af9f
|
5685
|
} \
|
sca8er |
2:5853bf44af9f
|
5686
|
}
|
sca8er |
2:5853bf44af9f
|
5687
|
|
sca8er |
2:5853bf44af9f
|
5688
|
#else
|
sca8er |
2:5853bf44af9f
|
5689
|
|
sca8er |
2:5853bf44af9f
|
5690
|
#define PAGED_CODE()
|
sca8er |
2:5853bf44af9f
|
5691
|
|
sca8er |
2:5853bf44af9f
|
5692
|
#endif
|
sca8er |
2:5853bf44af9f
|
5693
|
|
sca8er |
2:5853bf44af9f
|
5694
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5695
|
VOID
|
sca8er |
2:5853bf44af9f
|
5696
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5697
|
ProbeForRead(
|
sca8er |
2:5853bf44af9f
|
5698
|
/*IN*/ CONST VOID *Address,
|
sca8er |
2:5853bf44af9f
|
5699
|
/*IN*/ ULONG Length,
|
sca8er |
2:5853bf44af9f
|
5700
|
/*IN*/ ULONG Alignment);
|
sca8er |
2:5853bf44af9f
|
5701
|
|
sca8er |
2:5853bf44af9f
|
5702
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5703
|
VOID
|
sca8er |
2:5853bf44af9f
|
5704
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5705
|
ProbeForWrite(
|
sca8er |
2:5853bf44af9f
|
5706
|
/*IN*/ CONST VOID *Address,
|
sca8er |
2:5853bf44af9f
|
5707
|
/*IN*/ ULONG Length,
|
sca8er |
2:5853bf44af9f
|
5708
|
/*IN*/ ULONG Alignment);
|
sca8er |
2:5853bf44af9f
|
5709
|
|
sca8er |
2:5853bf44af9f
|
5710
|
|
sca8er |
2:5853bf44af9f
|
5711
|
|
sca8er |
2:5853bf44af9f
|
5712
|
/** Configuration manager routines **/
|
sca8er |
2:5853bf44af9f
|
5713
|
|
sca8er |
2:5853bf44af9f
|
5714
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5715
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
5716
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5717
|
CmRegisterCallback(
|
sca8er |
2:5853bf44af9f
|
5718
|
/*IN*/ PEX_CALLBACK_FUNCTION Function,
|
sca8er |
2:5853bf44af9f
|
5719
|
/*IN*/ PVOID Context,
|
sca8er |
2:5853bf44af9f
|
5720
|
/*IN OUT*/ PLARGE_INTEGER Cookie);
|
sca8er |
2:5853bf44af9f
|
5721
|
|
sca8er |
2:5853bf44af9f
|
5722
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5723
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
5724
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5725
|
CmUnRegisterCallback(
|
sca8er |
2:5853bf44af9f
|
5726
|
/*IN*/ LARGE_INTEGER Cookie);
|
sca8er |
2:5853bf44af9f
|
5727
|
|
sca8er |
2:5853bf44af9f
|
5728
|
|
sca8er |
2:5853bf44af9f
|
5729
|
|
sca8er |
2:5853bf44af9f
|
5730
|
/** Filesystem runtime library routines **/
|
sca8er |
2:5853bf44af9f
|
5731
|
|
sca8er |
2:5853bf44af9f
|
5732
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5733
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
5734
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5735
|
FsRtlIsTotalDeviceFailure(
|
sca8er |
2:5853bf44af9f
|
5736
|
/*IN*/ NTSTATUS Status);
|
sca8er |
2:5853bf44af9f
|
5737
|
|
sca8er |
2:5853bf44af9f
|
5738
|
|
sca8er |
2:5853bf44af9f
|
5739
|
|
sca8er |
2:5853bf44af9f
|
5740
|
/** Hardware abstraction layer routines **/
|
sca8er |
2:5853bf44af9f
|
5741
|
|
sca8er |
2:5853bf44af9f
|
5742
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5743
|
VOID
|
sca8er |
2:5853bf44af9f
|
5744
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
5745
|
HalExamineMBR(
|
sca8er |
2:5853bf44af9f
|
5746
|
/*IN*/ PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
5747
|
/*IN*/ ULONG SectorSize,
|
sca8er |
2:5853bf44af9f
|
5748
|
/*IN*/ ULONG MBRTypeIdentifier,
|
sca8er |
2:5853bf44af9f
|
5749
|
/*OUT*/ PVOID Buffer);
|
sca8er |
2:5853bf44af9f
|
5750
|
|
sca8er |
2:5853bf44af9f
|
5751
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5752
|
VOID
|
sca8er |
2:5853bf44af9f
|
5753
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5754
|
READ_PORT_BUFFER_UCHAR(
|
sca8er |
2:5853bf44af9f
|
5755
|
/*IN*/ PUCHAR Port,
|
sca8er |
2:5853bf44af9f
|
5756
|
/*IN*/ PUCHAR Buffer,
|
sca8er |
2:5853bf44af9f
|
5757
|
/*IN*/ ULONG Count);
|
sca8er |
2:5853bf44af9f
|
5758
|
|
sca8er |
2:5853bf44af9f
|
5759
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5760
|
VOID
|
sca8er |
2:5853bf44af9f
|
5761
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5762
|
READ_PORT_BUFFER_ULONG(
|
sca8er |
2:5853bf44af9f
|
5763
|
/*IN*/ PULONG Port,
|
sca8er |
2:5853bf44af9f
|
5764
|
/*IN*/ PULONG Buffer,
|
sca8er |
2:5853bf44af9f
|
5765
|
/*IN*/ ULONG Count);
|
sca8er |
2:5853bf44af9f
|
5766
|
|
sca8er |
2:5853bf44af9f
|
5767
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5768
|
VOID
|
sca8er |
2:5853bf44af9f
|
5769
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5770
|
READ_PORT_BUFFER_USHORT(
|
sca8er |
2:5853bf44af9f
|
5771
|
/*IN*/ PUSHORT Port,
|
sca8er |
2:5853bf44af9f
|
5772
|
/*IN*/ PUSHORT Buffer,
|
sca8er |
2:5853bf44af9f
|
5773
|
/*IN*/ ULONG Count);
|
sca8er |
2:5853bf44af9f
|
5774
|
|
sca8er |
2:5853bf44af9f
|
5775
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5776
|
UCHAR
|
sca8er |
2:5853bf44af9f
|
5777
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5778
|
READ_PORT_UCHAR(
|
sca8er |
2:5853bf44af9f
|
5779
|
/*IN*/ PUCHAR Port);
|
sca8er |
2:5853bf44af9f
|
5780
|
|
sca8er |
2:5853bf44af9f
|
5781
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5782
|
ULONG
|
sca8er |
2:5853bf44af9f
|
5783
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5784
|
READ_PORT_ULONG(
|
sca8er |
2:5853bf44af9f
|
5785
|
/*IN*/ PULONG Port);
|
sca8er |
2:5853bf44af9f
|
5786
|
|
sca8er |
2:5853bf44af9f
|
5787
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5788
|
USHORT
|
sca8er |
2:5853bf44af9f
|
5789
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5790
|
READ_PORT_USHORT(
|
sca8er |
2:5853bf44af9f
|
5791
|
/*IN*/ PUSHORT Port);
|
sca8er |
2:5853bf44af9f
|
5792
|
|
sca8er |
2:5853bf44af9f
|
5793
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5794
|
VOID
|
sca8er |
2:5853bf44af9f
|
5795
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5796
|
READ_REGISTER_BUFFER_UCHAR(
|
sca8er |
2:5853bf44af9f
|
5797
|
/*IN*/ PUCHAR Register,
|
sca8er |
2:5853bf44af9f
|
5798
|
/*IN*/ PUCHAR Buffer,
|
sca8er |
2:5853bf44af9f
|
5799
|
/*IN*/ ULONG Count);
|
sca8er |
2:5853bf44af9f
|
5800
|
|
sca8er |
2:5853bf44af9f
|
5801
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5802
|
VOID
|
sca8er |
2:5853bf44af9f
|
5803
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5804
|
READ_REGISTER_BUFFER_ULONG(
|
sca8er |
2:5853bf44af9f
|
5805
|
/*IN*/ PULONG Register,
|
sca8er |
2:5853bf44af9f
|
5806
|
/*IN*/ PULONG Buffer,
|
sca8er |
2:5853bf44af9f
|
5807
|
/*IN*/ ULONG Count);
|
sca8er |
2:5853bf44af9f
|
5808
|
|
sca8er |
2:5853bf44af9f
|
5809
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5810
|
VOID
|
sca8er |
2:5853bf44af9f
|
5811
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5812
|
READ_REGISTER_BUFFER_USHORT(
|
sca8er |
2:5853bf44af9f
|
5813
|
/*IN*/ PUSHORT Register,
|
sca8er |
2:5853bf44af9f
|
5814
|
/*IN*/ PUSHORT Buffer,
|
sca8er |
2:5853bf44af9f
|
5815
|
/*IN*/ ULONG Count);
|
sca8er |
2:5853bf44af9f
|
5816
|
|
sca8er |
2:5853bf44af9f
|
5817
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5818
|
UCHAR
|
sca8er |
2:5853bf44af9f
|
5819
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5820
|
READ_REGISTER_UCHAR(
|
sca8er |
2:5853bf44af9f
|
5821
|
/*IN*/ PUCHAR Register);
|
sca8er |
2:5853bf44af9f
|
5822
|
|
sca8er |
2:5853bf44af9f
|
5823
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5824
|
ULONG
|
sca8er |
2:5853bf44af9f
|
5825
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5826
|
READ_REGISTER_ULONG(
|
sca8er |
2:5853bf44af9f
|
5827
|
/*IN*/ PULONG Register);
|
sca8er |
2:5853bf44af9f
|
5828
|
|
sca8er |
2:5853bf44af9f
|
5829
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5830
|
USHORT
|
sca8er |
2:5853bf44af9f
|
5831
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5832
|
READ_REGISTER_USHORT(
|
sca8er |
2:5853bf44af9f
|
5833
|
/*IN*/ PUSHORT Register);
|
sca8er |
2:5853bf44af9f
|
5834
|
|
sca8er |
2:5853bf44af9f
|
5835
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5836
|
VOID
|
sca8er |
2:5853bf44af9f
|
5837
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5838
|
WRITE_PORT_BUFFER_UCHAR(
|
sca8er |
2:5853bf44af9f
|
5839
|
/*IN*/ PUCHAR Port,
|
sca8er |
2:5853bf44af9f
|
5840
|
/*IN*/ PUCHAR Buffer,
|
sca8er |
2:5853bf44af9f
|
5841
|
/*IN*/ ULONG Count);
|
sca8er |
2:5853bf44af9f
|
5842
|
|
sca8er |
2:5853bf44af9f
|
5843
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5844
|
VOID
|
sca8er |
2:5853bf44af9f
|
5845
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5846
|
WRITE_PORT_BUFFER_ULONG(
|
sca8er |
2:5853bf44af9f
|
5847
|
/*IN*/ PULONG Port,
|
sca8er |
2:5853bf44af9f
|
5848
|
/*IN*/ PULONG Buffer,
|
sca8er |
2:5853bf44af9f
|
5849
|
/*IN*/ ULONG Count);
|
sca8er |
2:5853bf44af9f
|
5850
|
|
sca8er |
2:5853bf44af9f
|
5851
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5852
|
VOID
|
sca8er |
2:5853bf44af9f
|
5853
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5854
|
WRITE_PORT_BUFFER_USHORT(
|
sca8er |
2:5853bf44af9f
|
5855
|
/*IN*/ PUSHORT Port,
|
sca8er |
2:5853bf44af9f
|
5856
|
/*IN*/ PUSHORT Buffer,
|
sca8er |
2:5853bf44af9f
|
5857
|
/*IN*/ ULONG Count);
|
sca8er |
2:5853bf44af9f
|
5858
|
|
sca8er |
2:5853bf44af9f
|
5859
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5860
|
VOID
|
sca8er |
2:5853bf44af9f
|
5861
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5862
|
WRITE_PORT_UCHAR(
|
sca8er |
2:5853bf44af9f
|
5863
|
/*IN*/ PUCHAR Port,
|
sca8er |
2:5853bf44af9f
|
5864
|
/*IN*/ UCHAR Value);
|
sca8er |
2:5853bf44af9f
|
5865
|
|
sca8er |
2:5853bf44af9f
|
5866
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5867
|
VOID
|
sca8er |
2:5853bf44af9f
|
5868
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5869
|
WRITE_PORT_ULONG(
|
sca8er |
2:5853bf44af9f
|
5870
|
/*IN*/ PULONG Port,
|
sca8er |
2:5853bf44af9f
|
5871
|
/*IN*/ ULONG Value);
|
sca8er |
2:5853bf44af9f
|
5872
|
|
sca8er |
2:5853bf44af9f
|
5873
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5874
|
VOID
|
sca8er |
2:5853bf44af9f
|
5875
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5876
|
WRITE_PORT_USHORT(
|
sca8er |
2:5853bf44af9f
|
5877
|
/*IN*/ PUSHORT Port,
|
sca8er |
2:5853bf44af9f
|
5878
|
/*IN*/ USHORT Value);
|
sca8er |
2:5853bf44af9f
|
5879
|
|
sca8er |
2:5853bf44af9f
|
5880
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5881
|
VOID
|
sca8er |
2:5853bf44af9f
|
5882
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5883
|
WRITE_REGISTER_BUFFER_UCHAR(
|
sca8er |
2:5853bf44af9f
|
5884
|
/*IN*/ PUCHAR Register,
|
sca8er |
2:5853bf44af9f
|
5885
|
/*IN*/ PUCHAR Buffer,
|
sca8er |
2:5853bf44af9f
|
5886
|
/*IN*/ ULONG Count);
|
sca8er |
2:5853bf44af9f
|
5887
|
|
sca8er |
2:5853bf44af9f
|
5888
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5889
|
VOID
|
sca8er |
2:5853bf44af9f
|
5890
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5891
|
WRITE_REGISTER_BUFFER_ULONG(
|
sca8er |
2:5853bf44af9f
|
5892
|
/*IN*/ PULONG Register,
|
sca8er |
2:5853bf44af9f
|
5893
|
/*IN*/ PULONG Buffer,
|
sca8er |
2:5853bf44af9f
|
5894
|
/*IN*/ ULONG Count);
|
sca8er |
2:5853bf44af9f
|
5895
|
|
sca8er |
2:5853bf44af9f
|
5896
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5897
|
VOID
|
sca8er |
2:5853bf44af9f
|
5898
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5899
|
WRITE_REGISTER_BUFFER_USHORT(
|
sca8er |
2:5853bf44af9f
|
5900
|
/*IN*/ PUSHORT Register,
|
sca8er |
2:5853bf44af9f
|
5901
|
/*IN*/ PUSHORT Buffer,
|
sca8er |
2:5853bf44af9f
|
5902
|
/*IN*/ ULONG Count);
|
sca8er |
2:5853bf44af9f
|
5903
|
|
sca8er |
2:5853bf44af9f
|
5904
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5905
|
VOID
|
sca8er |
2:5853bf44af9f
|
5906
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5907
|
WRITE_REGISTER_UCHAR(
|
sca8er |
2:5853bf44af9f
|
5908
|
/*IN*/ PUCHAR Register,
|
sca8er |
2:5853bf44af9f
|
5909
|
/*IN*/ UCHAR Value);
|
sca8er |
2:5853bf44af9f
|
5910
|
|
sca8er |
2:5853bf44af9f
|
5911
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5912
|
VOID
|
sca8er |
2:5853bf44af9f
|
5913
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5914
|
WRITE_REGISTER_ULONG(
|
sca8er |
2:5853bf44af9f
|
5915
|
/*IN*/ PULONG Register,
|
sca8er |
2:5853bf44af9f
|
5916
|
/*IN*/ ULONG Value);
|
sca8er |
2:5853bf44af9f
|
5917
|
|
sca8er |
2:5853bf44af9f
|
5918
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5919
|
VOID
|
sca8er |
2:5853bf44af9f
|
5920
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5921
|
WRITE_REGISTER_USHORT(
|
sca8er |
2:5853bf44af9f
|
5922
|
/*IN*/ PUSHORT Register,
|
sca8er |
2:5853bf44af9f
|
5923
|
/*IN*/ USHORT Value);
|
sca8er |
2:5853bf44af9f
|
5924
|
|
sca8er |
2:5853bf44af9f
|
5925
|
/** I/O manager routines **/
|
sca8er |
2:5853bf44af9f
|
5926
|
|
sca8er |
2:5853bf44af9f
|
5927
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5928
|
VOID
|
sca8er |
2:5853bf44af9f
|
5929
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5930
|
IoAcquireCancelSpinLock(
|
sca8er |
2:5853bf44af9f
|
5931
|
/*OUT*/ PKIRQL Irql);
|
sca8er |
2:5853bf44af9f
|
5932
|
|
sca8er |
2:5853bf44af9f
|
5933
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5934
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
5935
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5936
|
IoAcquireRemoveLockEx(
|
sca8er |
2:5853bf44af9f
|
5937
|
/*IN*/ PIO_REMOVE_LOCK RemoveLock,
|
sca8er |
2:5853bf44af9f
|
5938
|
/*IN*/ PVOID Tag /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
5939
|
/*IN*/ PCSTR File,
|
sca8er |
2:5853bf44af9f
|
5940
|
/*IN*/ ULONG Line,
|
sca8er |
2:5853bf44af9f
|
5941
|
/*IN*/ ULONG RemlockSize);
|
sca8er |
2:5853bf44af9f
|
5942
|
|
sca8er |
2:5853bf44af9f
|
5943
|
/*
|
sca8er |
2:5853bf44af9f
|
5944
|
* NTSTATUS
|
sca8er |
2:5853bf44af9f
|
5945
|
* IoAcquireRemoveLock(
|
sca8er |
2:5853bf44af9f
|
5946
|
* IN PIO_REMOVE_LOCK RemoveLock,
|
sca8er |
2:5853bf44af9f
|
5947
|
* IN PVOID Tag OPTIONAL)
|
sca8er |
2:5853bf44af9f
|
5948
|
*/
|
sca8er |
2:5853bf44af9f
|
5949
|
#define IoAcquireRemoveLock(_RemoveLock, \
|
sca8er |
2:5853bf44af9f
|
5950
|
_Tag) \
|
sca8er |
2:5853bf44af9f
|
5951
|
IoAcquireRemoveLockEx(_RemoveLock, _Tag, __FILE__, __LINE__, sizeof(IO_REMOVE_LOCK))
|
sca8er |
2:5853bf44af9f
|
5952
|
|
sca8er |
2:5853bf44af9f
|
5953
|
/*
|
sca8er |
2:5853bf44af9f
|
5954
|
* VOID
|
sca8er |
2:5853bf44af9f
|
5955
|
* IoAdjustPagingPathCount(
|
sca8er |
2:5853bf44af9f
|
5956
|
* IN PLONG Count,
|
sca8er |
2:5853bf44af9f
|
5957
|
* IN BOOLEAN Increment)
|
sca8er |
2:5853bf44af9f
|
5958
|
*/
|
sca8er |
2:5853bf44af9f
|
5959
|
#define IoAdjustPagingPathCount(_Count, \
|
sca8er |
2:5853bf44af9f
|
5960
|
_Increment) \
|
sca8er |
2:5853bf44af9f
|
5961
|
{ \
|
sca8er |
2:5853bf44af9f
|
5962
|
if (_Increment) \
|
sca8er |
2:5853bf44af9f
|
5963
|
{ \
|
sca8er |
2:5853bf44af9f
|
5964
|
InterlockedIncrement(_Count); \
|
sca8er |
2:5853bf44af9f
|
5965
|
} \
|
sca8er |
2:5853bf44af9f
|
5966
|
else \
|
sca8er |
2:5853bf44af9f
|
5967
|
{ \
|
sca8er |
2:5853bf44af9f
|
5968
|
InterlockedDecrement(_Count); \
|
sca8er |
2:5853bf44af9f
|
5969
|
} \
|
sca8er |
2:5853bf44af9f
|
5970
|
}
|
sca8er |
2:5853bf44af9f
|
5971
|
|
sca8er |
2:5853bf44af9f
|
5972
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5973
|
VOID
|
sca8er |
2:5853bf44af9f
|
5974
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5975
|
IoAllocateController(
|
sca8er |
2:5853bf44af9f
|
5976
|
/*IN*/ PCONTROLLER_OBJECT ControllerObject,
|
sca8er |
2:5853bf44af9f
|
5977
|
/*IN*/ PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
5978
|
/*IN*/ PDRIVER_CONTROL ExecutionRoutine,
|
sca8er |
2:5853bf44af9f
|
5979
|
/*IN*/ PVOID Context);
|
sca8er |
2:5853bf44af9f
|
5980
|
|
sca8er |
2:5853bf44af9f
|
5981
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
5982
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
5983
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
5984
|
IoAllocateDriverObjectExtension(
|
sca8er |
2:5853bf44af9f
|
5985
|
/*IN*/ PDRIVER_OBJECT DriverObject,
|
sca8er |
2:5853bf44af9f
|
5986
|
/*IN*/ PVOID ClientIdentificationAddress,
|
sca8er |
2:5853bf44af9f
|
5987
|
/*IN*/ ULONG DriverObjectExtensionSize,
|
sca8er |
2:5853bf44af9f
|
5988
|
/*OUT*/ PVOID *DriverObjectExtension);
|
sca8er |
2:5853bf44af9f
|
5989
|
|
sca8er |
2:5853bf44af9f
|
5990
|
typedef struct _IO_ERROR_LOG_PACKET {
|
sca8er |
2:5853bf44af9f
|
5991
|
UCHAR MajorFunctionCode;
|
sca8er |
2:5853bf44af9f
|
5992
|
UCHAR RetryCount;
|
sca8er |
2:5853bf44af9f
|
5993
|
USHORT DumpDataSize;
|
sca8er |
2:5853bf44af9f
|
5994
|
USHORT NumberOfStrings;
|
sca8er |
2:5853bf44af9f
|
5995
|
USHORT StringOffset;
|
sca8er |
2:5853bf44af9f
|
5996
|
USHORT EventCategory;
|
sca8er |
2:5853bf44af9f
|
5997
|
NTSTATUS ErrorCode;
|
sca8er |
2:5853bf44af9f
|
5998
|
ULONG UniqueErrorValue;
|
sca8er |
2:5853bf44af9f
|
5999
|
NTSTATUS FinalStatus;
|
sca8er |
2:5853bf44af9f
|
6000
|
ULONG SequenceNumber;
|
sca8er |
2:5853bf44af9f
|
6001
|
ULONG IoControlCode;
|
sca8er |
2:5853bf44af9f
|
6002
|
LARGE_INTEGER DeviceOffset;
|
sca8er |
2:5853bf44af9f
|
6003
|
ULONG DumpData[1];
|
sca8er |
2:5853bf44af9f
|
6004
|
} IO_ERROR_LOG_PACKET, *PIO_ERROR_LOG_PACKET;
|
sca8er |
2:5853bf44af9f
|
6005
|
|
sca8er |
2:5853bf44af9f
|
6006
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6007
|
PVOID
|
sca8er |
2:5853bf44af9f
|
6008
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6009
|
IoAllocateErrorLogEntry(
|
sca8er |
2:5853bf44af9f
|
6010
|
/*IN*/ PVOID IoObject,
|
sca8er |
2:5853bf44af9f
|
6011
|
/*IN*/ UCHAR EntrySize);
|
sca8er |
2:5853bf44af9f
|
6012
|
|
sca8er |
2:5853bf44af9f
|
6013
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6014
|
PIRP
|
sca8er |
2:5853bf44af9f
|
6015
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6016
|
IoAllocateIrp(
|
sca8er |
2:5853bf44af9f
|
6017
|
/*IN*/ CCHAR StackSize,
|
sca8er |
2:5853bf44af9f
|
6018
|
/*IN*/ BOOLEAN ChargeQuota);
|
sca8er |
2:5853bf44af9f
|
6019
|
|
sca8er |
2:5853bf44af9f
|
6020
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6021
|
PMDL
|
sca8er |
2:5853bf44af9f
|
6022
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6023
|
IoAllocateMdl(
|
sca8er |
2:5853bf44af9f
|
6024
|
/*IN*/ PVOID VirtualAddress,
|
sca8er |
2:5853bf44af9f
|
6025
|
/*IN*/ ULONG Length,
|
sca8er |
2:5853bf44af9f
|
6026
|
/*IN*/ BOOLEAN SecondaryBuffer,
|
sca8er |
2:5853bf44af9f
|
6027
|
/*IN*/ BOOLEAN ChargeQuota,
|
sca8er |
2:5853bf44af9f
|
6028
|
/*IN OUT*/ PIRP Irp /*OPTIONAL*/);
|
sca8er |
2:5853bf44af9f
|
6029
|
|
sca8er |
2:5853bf44af9f
|
6030
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6031
|
PIO_WORKITEM
|
sca8er |
2:5853bf44af9f
|
6032
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6033
|
IoAllocateWorkItem(
|
sca8er |
2:5853bf44af9f
|
6034
|
/*IN*/ PDEVICE_OBJECT DeviceObject);
|
sca8er |
2:5853bf44af9f
|
6035
|
|
sca8er |
2:5853bf44af9f
|
6036
|
/*
|
sca8er |
2:5853bf44af9f
|
6037
|
* VOID IoAssignArcName(
|
sca8er |
2:5853bf44af9f
|
6038
|
* IN PUNICODE_STRING ArcName,
|
sca8er |
2:5853bf44af9f
|
6039
|
* IN PUNICODE_STRING DeviceName);
|
sca8er |
2:5853bf44af9f
|
6040
|
*/
|
sca8er |
2:5853bf44af9f
|
6041
|
#define IoAssignArcName(_ArcName, _DeviceName) ( \
|
sca8er |
2:5853bf44af9f
|
6042
|
IoCreateSymbolicLink((_ArcName), (_DeviceName)))
|
sca8er |
2:5853bf44af9f
|
6043
|
|
sca8er |
2:5853bf44af9f
|
6044
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6045
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
6046
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6047
|
IoAttachDevice(
|
sca8er |
2:5853bf44af9f
|
6048
|
/*IN*/ PDEVICE_OBJECT SourceDevice,
|
sca8er |
2:5853bf44af9f
|
6049
|
/*IN*/ PUNICODE_STRING TargetDevice,
|
sca8er |
2:5853bf44af9f
|
6050
|
/*OUT*/ PDEVICE_OBJECT *AttachedDevice);
|
sca8er |
2:5853bf44af9f
|
6051
|
|
sca8er |
2:5853bf44af9f
|
6052
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6053
|
PDEVICE_OBJECT
|
sca8er |
2:5853bf44af9f
|
6054
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6055
|
IoAttachDeviceToDeviceStack(
|
sca8er |
2:5853bf44af9f
|
6056
|
/*IN*/ PDEVICE_OBJECT SourceDevice,
|
sca8er |
2:5853bf44af9f
|
6057
|
/*IN*/ PDEVICE_OBJECT TargetDevice);
|
sca8er |
2:5853bf44af9f
|
6058
|
|
sca8er |
2:5853bf44af9f
|
6059
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6060
|
PIRP
|
sca8er |
2:5853bf44af9f
|
6061
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6062
|
IoBuildAsynchronousFsdRequest(
|
sca8er |
2:5853bf44af9f
|
6063
|
/*IN*/ ULONG MajorFunction,
|
sca8er |
2:5853bf44af9f
|
6064
|
/*IN*/ PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
6065
|
/*IN OUT*/ PVOID Buffer /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
6066
|
/*IN*/ ULONG Length /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
6067
|
/*IN*/ PLARGE_INTEGER StartingOffset /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
6068
|
/*IN*/ PIO_STATUS_BLOCK IoStatusBlock /*OPTIONAL*/);
|
sca8er |
2:5853bf44af9f
|
6069
|
|
sca8er |
2:5853bf44af9f
|
6070
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6071
|
PIRP
|
sca8er |
2:5853bf44af9f
|
6072
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6073
|
IoBuildDeviceIoControlRequest(
|
sca8er |
2:5853bf44af9f
|
6074
|
/*IN*/ ULONG IoControlCode,
|
sca8er |
2:5853bf44af9f
|
6075
|
/*IN*/ PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
6076
|
/*IN*/ PVOID InputBuffer /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
6077
|
/*IN*/ ULONG InputBufferLength,
|
sca8er |
2:5853bf44af9f
|
6078
|
/*OUT*/ PVOID OutputBuffer /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
6079
|
/*IN*/ ULONG OutputBufferLength,
|
sca8er |
2:5853bf44af9f
|
6080
|
/*IN*/ BOOLEAN InternalDeviceIoControl,
|
sca8er |
2:5853bf44af9f
|
6081
|
/*IN*/ PKEVENT Event,
|
sca8er |
2:5853bf44af9f
|
6082
|
/*OUT*/ PIO_STATUS_BLOCK IoStatusBlock);
|
sca8er |
2:5853bf44af9f
|
6083
|
|
sca8er |
2:5853bf44af9f
|
6084
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6085
|
VOID
|
sca8er |
2:5853bf44af9f
|
6086
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6087
|
IoBuildPartialMdl(
|
sca8er |
2:5853bf44af9f
|
6088
|
/*IN*/ PMDL SourceMdl,
|
sca8er |
2:5853bf44af9f
|
6089
|
/*IN OUT*/ PMDL TargetMdl,
|
sca8er |
2:5853bf44af9f
|
6090
|
/*IN*/ PVOID VirtualAddress,
|
sca8er |
2:5853bf44af9f
|
6091
|
/*IN*/ ULONG Length);
|
sca8er |
2:5853bf44af9f
|
6092
|
|
sca8er |
2:5853bf44af9f
|
6093
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6094
|
PIRP
|
sca8er |
2:5853bf44af9f
|
6095
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6096
|
IoBuildSynchronousFsdRequest(
|
sca8er |
2:5853bf44af9f
|
6097
|
/*IN*/ ULONG MajorFunction,
|
sca8er |
2:5853bf44af9f
|
6098
|
/*IN*/ PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
6099
|
/*IN OUT*/ PVOID Buffer /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
6100
|
/*IN*/ ULONG Length /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
6101
|
/*IN*/ PLARGE_INTEGER StartingOffset /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
6102
|
/*IN*/ PKEVENT Event,
|
sca8er |
2:5853bf44af9f
|
6103
|
/*OUT*/ PIO_STATUS_BLOCK IoStatusBlock);
|
sca8er |
2:5853bf44af9f
|
6104
|
|
sca8er |
2:5853bf44af9f
|
6105
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6106
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
6107
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
6108
|
IofCallDriver(
|
sca8er |
2:5853bf44af9f
|
6109
|
/*IN*/ PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
6110
|
/*IN OUT*/ PIRP Irp);
|
sca8er |
2:5853bf44af9f
|
6111
|
|
sca8er |
2:5853bf44af9f
|
6112
|
/*
|
sca8er |
2:5853bf44af9f
|
6113
|
* NTSTATUS
|
sca8er |
2:5853bf44af9f
|
6114
|
* IoCallDriver(
|
sca8er |
2:5853bf44af9f
|
6115
|
* IN PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
6116
|
* IN OUT PIRP Irp)
|
sca8er |
2:5853bf44af9f
|
6117
|
*/
|
sca8er |
2:5853bf44af9f
|
6118
|
#define IoCallDriver IofCallDriver
|
sca8er |
2:5853bf44af9f
|
6119
|
|
sca8er |
2:5853bf44af9f
|
6120
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6121
|
VOID
|
sca8er |
2:5853bf44af9f
|
6122
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6123
|
IoCancelFileOpen(
|
sca8er |
2:5853bf44af9f
|
6124
|
/*IN*/ PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
6125
|
/*IN*/ PFILE_OBJECT FileObject);
|
sca8er |
2:5853bf44af9f
|
6126
|
|
sca8er |
2:5853bf44af9f
|
6127
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6128
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
6129
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6130
|
IoCancelIrp(
|
sca8er |
2:5853bf44af9f
|
6131
|
/*IN*/ PIRP Irp);
|
sca8er |
2:5853bf44af9f
|
6132
|
|
sca8er |
2:5853bf44af9f
|
6133
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6134
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
6135
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6136
|
IoCheckShareAccess(
|
sca8er |
2:5853bf44af9f
|
6137
|
/*IN*/ ACCESS_MASK DesiredAccess,
|
sca8er |
2:5853bf44af9f
|
6138
|
/*IN*/ ULONG DesiredShareAccess,
|
sca8er |
2:5853bf44af9f
|
6139
|
/*IN OUT*/ PFILE_OBJECT FileObject,
|
sca8er |
2:5853bf44af9f
|
6140
|
/*IN OUT*/ PSHARE_ACCESS ShareAccess,
|
sca8er |
2:5853bf44af9f
|
6141
|
/*IN*/ BOOLEAN Update);
|
sca8er |
2:5853bf44af9f
|
6142
|
|
sca8er |
2:5853bf44af9f
|
6143
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6144
|
VOID
|
sca8er |
2:5853bf44af9f
|
6145
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
6146
|
IofCompleteRequest(
|
sca8er |
2:5853bf44af9f
|
6147
|
/*IN*/ PIRP Irp,
|
sca8er |
2:5853bf44af9f
|
6148
|
/*IN*/ CCHAR PriorityBoost);
|
sca8er |
2:5853bf44af9f
|
6149
|
|
sca8er |
2:5853bf44af9f
|
6150
|
/*
|
sca8er |
2:5853bf44af9f
|
6151
|
* VOID
|
sca8er |
2:5853bf44af9f
|
6152
|
* IoCompleteRequest(
|
sca8er |
2:5853bf44af9f
|
6153
|
* IN PIRP Irp,
|
sca8er |
2:5853bf44af9f
|
6154
|
* IN CCHAR PriorityBoost)
|
sca8er |
2:5853bf44af9f
|
6155
|
*/
|
sca8er |
2:5853bf44af9f
|
6156
|
#define IoCompleteRequest IofCompleteRequest
|
sca8er |
2:5853bf44af9f
|
6157
|
|
sca8er |
2:5853bf44af9f
|
6158
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6159
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
6160
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6161
|
IoConnectInterrupt(
|
sca8er |
2:5853bf44af9f
|
6162
|
/*OUT*/ PKINTERRUPT *InterruptObject,
|
sca8er |
2:5853bf44af9f
|
6163
|
/*IN*/ PKSERVICE_ROUTINE ServiceRoutine,
|
sca8er |
2:5853bf44af9f
|
6164
|
/*IN*/ PVOID ServiceContext,
|
sca8er |
2:5853bf44af9f
|
6165
|
/*IN*/ PKSPIN_LOCK SpinLock /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
6166
|
/*IN*/ ULONG Vector,
|
sca8er |
2:5853bf44af9f
|
6167
|
/*IN*/ KIRQL Irql,
|
sca8er |
2:5853bf44af9f
|
6168
|
/*IN*/ KIRQL SynchronizeIrql,
|
sca8er |
2:5853bf44af9f
|
6169
|
/*IN*/ KINTERRUPT_MODE InterruptMode,
|
sca8er |
2:5853bf44af9f
|
6170
|
/*IN*/ BOOLEAN ShareVector,
|
sca8er |
2:5853bf44af9f
|
6171
|
/*IN*/ KAFFINITY ProcessorEnableMask,
|
sca8er |
2:5853bf44af9f
|
6172
|
/*IN*/ BOOLEAN FloatingSave);
|
sca8er |
2:5853bf44af9f
|
6173
|
|
sca8er |
2:5853bf44af9f
|
6174
|
/*
|
sca8er |
2:5853bf44af9f
|
6175
|
* PIO_STACK_LOCATION
|
sca8er |
2:5853bf44af9f
|
6176
|
* IoGetCurrentIrpStackLocation(
|
sca8er |
2:5853bf44af9f
|
6177
|
* IN PIRP Irp)
|
sca8er |
2:5853bf44af9f
|
6178
|
*/
|
sca8er |
2:5853bf44af9f
|
6179
|
#define IoGetCurrentIrpStackLocation(_Irp) \
|
sca8er |
2:5853bf44af9f
|
6180
|
((_Irp)->Tail.Overlay.CurrentStackLocation)
|
sca8er |
2:5853bf44af9f
|
6181
|
|
sca8er |
2:5853bf44af9f
|
6182
|
/*
|
sca8er |
2:5853bf44af9f
|
6183
|
* PIO_STACK_LOCATION
|
sca8er |
2:5853bf44af9f
|
6184
|
* IoGetNextIrpStackLocation(
|
sca8er |
2:5853bf44af9f
|
6185
|
* IN PIRP Irp)
|
sca8er |
2:5853bf44af9f
|
6186
|
*/
|
sca8er |
2:5853bf44af9f
|
6187
|
#define IoGetNextIrpStackLocation(_Irp) \
|
sca8er |
2:5853bf44af9f
|
6188
|
((_Irp)->Tail.Overlay.CurrentStackLocation - 1)
|
sca8er |
2:5853bf44af9f
|
6189
|
|
sca8er |
2:5853bf44af9f
|
6190
|
/*
|
sca8er |
2:5853bf44af9f
|
6191
|
* VOID
|
sca8er |
2:5853bf44af9f
|
6192
|
* IoCopyCurrentIrpStackLocationToNext(
|
sca8er |
2:5853bf44af9f
|
6193
|
* IN PIRP Irp)
|
sca8er |
2:5853bf44af9f
|
6194
|
*/
|
sca8er |
2:5853bf44af9f
|
6195
|
#define IoCopyCurrentIrpStackLocationToNext(_Irp) \
|
sca8er |
2:5853bf44af9f
|
6196
|
{ \
|
sca8er |
2:5853bf44af9f
|
6197
|
PIO_STACK_LOCATION _IrpSp; \
|
sca8er |
2:5853bf44af9f
|
6198
|
PIO_STACK_LOCATION _NextIrpSp; \
|
sca8er |
2:5853bf44af9f
|
6199
|
_IrpSp = IoGetCurrentIrpStackLocation(_Irp); \
|
sca8er |
2:5853bf44af9f
|
6200
|
_NextIrpSp = IoGetNextIrpStackLocation(_Irp); \
|
sca8er |
2:5853bf44af9f
|
6201
|
RtlCopyMemory(_NextIrpSp, _IrpSp, \
|
sca8er |
2:5853bf44af9f
|
6202
|
FIELD_OFFSET(IO_STACK_LOCATION, CompletionRoutine)); \
|
sca8er |
2:5853bf44af9f
|
6203
|
_NextIrpSp->Control = 0; \
|
sca8er |
2:5853bf44af9f
|
6204
|
}
|
sca8er |
2:5853bf44af9f
|
6205
|
|
sca8er |
2:5853bf44af9f
|
6206
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6207
|
PCONTROLLER_OBJECT
|
sca8er |
2:5853bf44af9f
|
6208
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6209
|
IoCreateController(
|
sca8er |
2:5853bf44af9f
|
6210
|
/*IN*/ ULONG Size);
|
sca8er |
2:5853bf44af9f
|
6211
|
|
sca8er |
2:5853bf44af9f
|
6212
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6213
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
6214
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6215
|
IoCreateDevice(
|
sca8er |
2:5853bf44af9f
|
6216
|
/*IN*/ PDRIVER_OBJECT DriverObject,
|
sca8er |
2:5853bf44af9f
|
6217
|
/*IN*/ ULONG DeviceExtensionSize,
|
sca8er |
2:5853bf44af9f
|
6218
|
/*IN*/ PUNICODE_STRING DeviceName /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
6219
|
/*IN*/ DEVICE_TYPE DeviceType,
|
sca8er |
2:5853bf44af9f
|
6220
|
/*IN*/ ULONG DeviceCharacteristics,
|
sca8er |
2:5853bf44af9f
|
6221
|
/*IN*/ BOOLEAN Exclusive,
|
sca8er |
2:5853bf44af9f
|
6222
|
/*OUT*/ PDEVICE_OBJECT *DeviceObject);
|
sca8er |
2:5853bf44af9f
|
6223
|
|
sca8er |
2:5853bf44af9f
|
6224
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6225
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
6226
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6227
|
IoCreateDisk(
|
sca8er |
2:5853bf44af9f
|
6228
|
/*IN*/ PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
6229
|
/*IN*/ PCREATE_DISK Disk);
|
sca8er |
2:5853bf44af9f
|
6230
|
|
sca8er |
2:5853bf44af9f
|
6231
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6232
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
6233
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6234
|
IoCreateFile(
|
sca8er |
2:5853bf44af9f
|
6235
|
/*OUT*/ PHANDLE FileHandle,
|
sca8er |
2:5853bf44af9f
|
6236
|
/*IN*/ ACCESS_MASK DesiredAccess,
|
sca8er |
2:5853bf44af9f
|
6237
|
/*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
|
sca8er |
2:5853bf44af9f
|
6238
|
/*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
|
sca8er |
2:5853bf44af9f
|
6239
|
/*IN*/ PLARGE_INTEGER AllocationSize /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
6240
|
/*IN*/ ULONG FileAttributes,
|
sca8er |
2:5853bf44af9f
|
6241
|
/*IN*/ ULONG ShareAccess,
|
sca8er |
2:5853bf44af9f
|
6242
|
/*IN*/ ULONG Disposition,
|
sca8er |
2:5853bf44af9f
|
6243
|
/*IN*/ ULONG CreateOptions,
|
sca8er |
2:5853bf44af9f
|
6244
|
/*IN*/ PVOID EaBuffer /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
6245
|
/*IN*/ ULONG EaLength,
|
sca8er |
2:5853bf44af9f
|
6246
|
/*IN*/ CREATE_FILE_TYPE CreateFileType,
|
sca8er |
2:5853bf44af9f
|
6247
|
/*IN*/ PVOID ExtraCreateParameters /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
6248
|
/*IN*/ ULONG Options);
|
sca8er |
2:5853bf44af9f
|
6249
|
|
sca8er |
2:5853bf44af9f
|
6250
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6251
|
PKEVENT
|
sca8er |
2:5853bf44af9f
|
6252
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6253
|
IoCreateNotificationEvent(
|
sca8er |
2:5853bf44af9f
|
6254
|
/*IN*/ PUNICODE_STRING EventName,
|
sca8er |
2:5853bf44af9f
|
6255
|
/*OUT*/ PHANDLE EventHandle);
|
sca8er |
2:5853bf44af9f
|
6256
|
|
sca8er |
2:5853bf44af9f
|
6257
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6258
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
6259
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6260
|
IoCreateSymbolicLink(
|
sca8er |
2:5853bf44af9f
|
6261
|
/*IN*/ PUNICODE_STRING SymbolicLinkName,
|
sca8er |
2:5853bf44af9f
|
6262
|
/*IN*/ PUNICODE_STRING DeviceName);
|
sca8er |
2:5853bf44af9f
|
6263
|
|
sca8er |
2:5853bf44af9f
|
6264
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6265
|
PKEVENT
|
sca8er |
2:5853bf44af9f
|
6266
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6267
|
IoCreateSynchronizationEvent(
|
sca8er |
2:5853bf44af9f
|
6268
|
/*IN*/ PUNICODE_STRING EventName,
|
sca8er |
2:5853bf44af9f
|
6269
|
/*OUT*/ PHANDLE EventHandle);
|
sca8er |
2:5853bf44af9f
|
6270
|
|
sca8er |
2:5853bf44af9f
|
6271
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6272
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
6273
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6274
|
IoCreateUnprotectedSymbolicLink(
|
sca8er |
2:5853bf44af9f
|
6275
|
/*IN*/ PUNICODE_STRING SymbolicLinkName,
|
sca8er |
2:5853bf44af9f
|
6276
|
/*IN*/ PUNICODE_STRING DeviceName);
|
sca8er |
2:5853bf44af9f
|
6277
|
|
sca8er |
2:5853bf44af9f
|
6278
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6279
|
VOID
|
sca8er |
2:5853bf44af9f
|
6280
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6281
|
IoCsqInitialize(
|
sca8er |
2:5853bf44af9f
|
6282
|
PIO_CSQ Csq,
|
sca8er |
2:5853bf44af9f
|
6283
|
/*IN*/ PIO_CSQ_INSERT_IRP CsqInsertIrp,
|
sca8er |
2:5853bf44af9f
|
6284
|
/*IN*/ PIO_CSQ_REMOVE_IRP CsqRemoveIrp,
|
sca8er |
2:5853bf44af9f
|
6285
|
/*IN*/ PIO_CSQ_PEEK_NEXT_IRP CsqPeekNextIrp,
|
sca8er |
2:5853bf44af9f
|
6286
|
/*IN*/ PIO_CSQ_ACQUIRE_LOCK CsqAcquireLock,
|
sca8er |
2:5853bf44af9f
|
6287
|
/*IN*/ PIO_CSQ_RELEASE_LOCK CsqReleaseLock,
|
sca8er |
2:5853bf44af9f
|
6288
|
/*IN*/ PIO_CSQ_COMPLETE_CANCELED_IRP CsqCompleteCanceledIrp);
|
sca8er |
2:5853bf44af9f
|
6289
|
|
sca8er |
2:5853bf44af9f
|
6290
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6291
|
VOID
|
sca8er |
2:5853bf44af9f
|
6292
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6293
|
IoCsqInsertIrp(
|
sca8er |
2:5853bf44af9f
|
6294
|
/*IN*/ PIO_CSQ Csq,
|
sca8er |
2:5853bf44af9f
|
6295
|
/*IN*/ PIRP Irp,
|
sca8er |
2:5853bf44af9f
|
6296
|
/*IN*/ PIO_CSQ_IRP_CONTEXT Context);
|
sca8er |
2:5853bf44af9f
|
6297
|
|
sca8er |
2:5853bf44af9f
|
6298
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6299
|
PIRP
|
sca8er |
2:5853bf44af9f
|
6300
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6301
|
IoCsqRemoveIrp(
|
sca8er |
2:5853bf44af9f
|
6302
|
/*IN*/ PIO_CSQ Csq,
|
sca8er |
2:5853bf44af9f
|
6303
|
/*IN*/ PIO_CSQ_IRP_CONTEXT Context);
|
sca8er |
2:5853bf44af9f
|
6304
|
|
sca8er |
2:5853bf44af9f
|
6305
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6306
|
PIRP
|
sca8er |
2:5853bf44af9f
|
6307
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6308
|
IoCsqRemoveNextIrp(
|
sca8er |
2:5853bf44af9f
|
6309
|
/*IN*/ PIO_CSQ Csq,
|
sca8er |
2:5853bf44af9f
|
6310
|
/*IN*/ PVOID PeekContext);
|
sca8er |
2:5853bf44af9f
|
6311
|
|
sca8er |
2:5853bf44af9f
|
6312
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6313
|
VOID
|
sca8er |
2:5853bf44af9f
|
6314
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6315
|
IoDeleteController(
|
sca8er |
2:5853bf44af9f
|
6316
|
/*IN*/ PCONTROLLER_OBJECT ControllerObject);
|
sca8er |
2:5853bf44af9f
|
6317
|
|
sca8er |
2:5853bf44af9f
|
6318
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6319
|
VOID
|
sca8er |
2:5853bf44af9f
|
6320
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6321
|
IoDeleteDevice(
|
sca8er |
2:5853bf44af9f
|
6322
|
/*IN*/ PDEVICE_OBJECT DeviceObject);
|
sca8er |
2:5853bf44af9f
|
6323
|
|
sca8er |
2:5853bf44af9f
|
6324
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6325
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
6326
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6327
|
IoDeleteSymbolicLink(
|
sca8er |
2:5853bf44af9f
|
6328
|
/*IN*/ PUNICODE_STRING SymbolicLinkName);
|
sca8er |
2:5853bf44af9f
|
6329
|
|
sca8er |
2:5853bf44af9f
|
6330
|
/*
|
sca8er |
2:5853bf44af9f
|
6331
|
* VOID
|
sca8er |
2:5853bf44af9f
|
6332
|
* IoDeassignArcName(
|
sca8er |
2:5853bf44af9f
|
6333
|
* IN PUNICODE_STRING ArcName)
|
sca8er |
2:5853bf44af9f
|
6334
|
*/
|
sca8er |
2:5853bf44af9f
|
6335
|
#define IoDeassignArcName IoDeleteSymbolicLink
|
sca8er |
2:5853bf44af9f
|
6336
|
|
sca8er |
2:5853bf44af9f
|
6337
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6338
|
VOID
|
sca8er |
2:5853bf44af9f
|
6339
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6340
|
IoDetachDevice(
|
sca8er |
2:5853bf44af9f
|
6341
|
/*IN OUT*/ PDEVICE_OBJECT TargetDevice);
|
sca8er |
2:5853bf44af9f
|
6342
|
|
sca8er |
2:5853bf44af9f
|
6343
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6344
|
VOID
|
sca8er |
2:5853bf44af9f
|
6345
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6346
|
IoDisconnectInterrupt(
|
sca8er |
2:5853bf44af9f
|
6347
|
/*IN*/ PKINTERRUPT InterruptObject);
|
sca8er |
2:5853bf44af9f
|
6348
|
|
sca8er |
2:5853bf44af9f
|
6349
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6350
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
6351
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6352
|
IoForwardIrpSynchronously(
|
sca8er |
2:5853bf44af9f
|
6353
|
/*IN*/ PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
6354
|
/*IN*/ PIRP Irp);
|
sca8er |
2:5853bf44af9f
|
6355
|
|
sca8er |
2:5853bf44af9f
|
6356
|
#define IoForwardAndCatchIrp IoForwardIrpSynchronously
|
sca8er |
2:5853bf44af9f
|
6357
|
|
sca8er |
2:5853bf44af9f
|
6358
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6359
|
VOID
|
sca8er |
2:5853bf44af9f
|
6360
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6361
|
IoFreeController(
|
sca8er |
2:5853bf44af9f
|
6362
|
/*IN*/ PCONTROLLER_OBJECT ControllerObject);
|
sca8er |
2:5853bf44af9f
|
6363
|
|
sca8er |
2:5853bf44af9f
|
6364
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6365
|
VOID
|
sca8er |
2:5853bf44af9f
|
6366
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6367
|
IoFreeErrorLogEntry(
|
sca8er |
2:5853bf44af9f
|
6368
|
PVOID ElEntry);
|
sca8er |
2:5853bf44af9f
|
6369
|
|
sca8er |
2:5853bf44af9f
|
6370
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6371
|
VOID
|
sca8er |
2:5853bf44af9f
|
6372
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6373
|
IoFreeIrp(
|
sca8er |
2:5853bf44af9f
|
6374
|
/*IN*/ PIRP Irp);
|
sca8er |
2:5853bf44af9f
|
6375
|
|
sca8er |
2:5853bf44af9f
|
6376
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6377
|
VOID
|
sca8er |
2:5853bf44af9f
|
6378
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6379
|
IoFreeMdl(
|
sca8er |
2:5853bf44af9f
|
6380
|
/*IN*/ PMDL Mdl);
|
sca8er |
2:5853bf44af9f
|
6381
|
|
sca8er |
2:5853bf44af9f
|
6382
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6383
|
VOID
|
sca8er |
2:5853bf44af9f
|
6384
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6385
|
IoFreeWorkItem(
|
sca8er |
2:5853bf44af9f
|
6386
|
/*IN*/ PIO_WORKITEM pIOWorkItem);
|
sca8er |
2:5853bf44af9f
|
6387
|
|
sca8er |
2:5853bf44af9f
|
6388
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6389
|
PDEVICE_OBJECT
|
sca8er |
2:5853bf44af9f
|
6390
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6391
|
IoGetAttachedDevice(
|
sca8er |
2:5853bf44af9f
|
6392
|
/*IN*/ PDEVICE_OBJECT DeviceObject);
|
sca8er |
2:5853bf44af9f
|
6393
|
|
sca8er |
2:5853bf44af9f
|
6394
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6395
|
PDEVICE_OBJECT
|
sca8er |
2:5853bf44af9f
|
6396
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6397
|
IoGetAttachedDeviceReference(
|
sca8er |
2:5853bf44af9f
|
6398
|
/*IN*/ PDEVICE_OBJECT DeviceObject);
|
sca8er |
2:5853bf44af9f
|
6399
|
|
sca8er |
2:5853bf44af9f
|
6400
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6401
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
6402
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6403
|
IoGetBootDiskInformation(
|
sca8er |
2:5853bf44af9f
|
6404
|
/*IN OUT*/ PBOOTDISK_INFORMATION BootDiskInformation,
|
sca8er |
2:5853bf44af9f
|
6405
|
/*IN*/ ULONG Size);
|
sca8er |
2:5853bf44af9f
|
6406
|
|
sca8er |
2:5853bf44af9f
|
6407
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6408
|
PCONFIGURATION_INFORMATION
|
sca8er |
2:5853bf44af9f
|
6409
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6410
|
IoGetConfigurationInformation(
|
sca8er |
2:5853bf44af9f
|
6411
|
VOID);
|
sca8er |
2:5853bf44af9f
|
6412
|
|
sca8er |
2:5853bf44af9f
|
6413
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6414
|
PEPROCESS
|
sca8er |
2:5853bf44af9f
|
6415
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6416
|
IoGetCurrentProcess(
|
sca8er |
2:5853bf44af9f
|
6417
|
VOID);
|
sca8er |
2:5853bf44af9f
|
6418
|
|
sca8er |
2:5853bf44af9f
|
6419
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6420
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
6421
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6422
|
IoGetDeviceInterfaceAlias(
|
sca8er |
2:5853bf44af9f
|
6423
|
/*IN*/ PUNICODE_STRING SymbolicLinkName,
|
sca8er |
2:5853bf44af9f
|
6424
|
/*IN*/ CONST GUID *AliasInterfaceClassGuid,
|
sca8er |
2:5853bf44af9f
|
6425
|
/*OUT*/ PUNICODE_STRING AliasSymbolicLinkName);
|
sca8er |
2:5853bf44af9f
|
6426
|
|
sca8er |
2:5853bf44af9f
|
6427
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6428
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
6429
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6430
|
IoGetDeviceInterfaces(
|
sca8er |
2:5853bf44af9f
|
6431
|
/*IN*/ CONST GUID *InterfaceClassGuid,
|
sca8er |
2:5853bf44af9f
|
6432
|
/*IN*/ PDEVICE_OBJECT PhysicalDeviceObject /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
6433
|
/*IN*/ ULONG Flags,
|
sca8er |
2:5853bf44af9f
|
6434
|
/*OUT*/ PWSTR *SymbolicLinkList);
|
sca8er |
2:5853bf44af9f
|
6435
|
|
sca8er |
2:5853bf44af9f
|
6436
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6437
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
6438
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6439
|
IoGetDeviceObjectPointer(
|
sca8er |
2:5853bf44af9f
|
6440
|
/*IN*/ PUNICODE_STRING ObjectName,
|
sca8er |
2:5853bf44af9f
|
6441
|
/*IN*/ ACCESS_MASK DesiredAccess,
|
sca8er |
2:5853bf44af9f
|
6442
|
/*OUT*/ PFILE_OBJECT *FileObject,
|
sca8er |
2:5853bf44af9f
|
6443
|
/*OUT*/ PDEVICE_OBJECT *DeviceObject);
|
sca8er |
2:5853bf44af9f
|
6444
|
|
sca8er |
2:5853bf44af9f
|
6445
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6446
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
6447
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6448
|
IoGetDeviceProperty(
|
sca8er |
2:5853bf44af9f
|
6449
|
/*IN*/ PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
6450
|
/*IN*/ DEVICE_REGISTRY_PROPERTY DeviceProperty,
|
sca8er |
2:5853bf44af9f
|
6451
|
/*IN*/ ULONG BufferLength,
|
sca8er |
2:5853bf44af9f
|
6452
|
/*OUT*/ PVOID PropertyBuffer,
|
sca8er |
2:5853bf44af9f
|
6453
|
/*OUT*/ PULONG ResultLength);
|
sca8er |
2:5853bf44af9f
|
6454
|
|
sca8er |
2:5853bf44af9f
|
6455
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6456
|
PDEVICE_OBJECT
|
sca8er |
2:5853bf44af9f
|
6457
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6458
|
IoGetDeviceToVerify(
|
sca8er |
2:5853bf44af9f
|
6459
|
/*IN*/ PETHREAD Thread);
|
sca8er |
2:5853bf44af9f
|
6460
|
|
sca8er |
2:5853bf44af9f
|
6461
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6462
|
PDMA_ADAPTER
|
sca8er |
2:5853bf44af9f
|
6463
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6464
|
IoGetDmaAdapter(
|
sca8er |
2:5853bf44af9f
|
6465
|
/*IN*/ PDEVICE_OBJECT PhysicalDeviceObject,
|
sca8er |
2:5853bf44af9f
|
6466
|
/*IN*/ PDEVICE_DESCRIPTION DeviceDescription,
|
sca8er |
2:5853bf44af9f
|
6467
|
/*IN OUT*/ PULONG NumberOfMapRegisters);
|
sca8er |
2:5853bf44af9f
|
6468
|
|
sca8er |
2:5853bf44af9f
|
6469
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6470
|
PVOID
|
sca8er |
2:5853bf44af9f
|
6471
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6472
|
IoGetDriverObjectExtension(
|
sca8er |
2:5853bf44af9f
|
6473
|
/*IN*/ PDRIVER_OBJECT DriverObject,
|
sca8er |
2:5853bf44af9f
|
6474
|
/*IN*/ PVOID ClientIdentificationAddress);
|
sca8er |
2:5853bf44af9f
|
6475
|
|
sca8er |
2:5853bf44af9f
|
6476
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6477
|
PGENERIC_MAPPING
|
sca8er |
2:5853bf44af9f
|
6478
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6479
|
IoGetFileObjectGenericMapping(
|
sca8er |
2:5853bf44af9f
|
6480
|
VOID);
|
sca8er |
2:5853bf44af9f
|
6481
|
|
sca8er |
2:5853bf44af9f
|
6482
|
/*
|
sca8er |
2:5853bf44af9f
|
6483
|
* ULONG
|
sca8er |
2:5853bf44af9f
|
6484
|
* IoGetFunctionCodeFromCtlCode(
|
sca8er |
2:5853bf44af9f
|
6485
|
* IN ULONG ControlCode)
|
sca8er |
2:5853bf44af9f
|
6486
|
*/
|
sca8er |
2:5853bf44af9f
|
6487
|
#define IoGetFunctionCodeFromCtlCode(_ControlCode) \
|
sca8er |
2:5853bf44af9f
|
6488
|
(((_ControlCode) >> 2) & 0x00000FFF)
|
sca8er |
2:5853bf44af9f
|
6489
|
|
sca8er |
2:5853bf44af9f
|
6490
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6491
|
PVOID
|
sca8er |
2:5853bf44af9f
|
6492
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6493
|
IoGetInitialStack(
|
sca8er |
2:5853bf44af9f
|
6494
|
VOID);
|
sca8er |
2:5853bf44af9f
|
6495
|
|
sca8er |
2:5853bf44af9f
|
6496
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6497
|
PDEVICE_OBJECT
|
sca8er |
2:5853bf44af9f
|
6498
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6499
|
IoGetRelatedDeviceObject(
|
sca8er |
2:5853bf44af9f
|
6500
|
/*IN*/ PFILE_OBJECT FileObject);
|
sca8er |
2:5853bf44af9f
|
6501
|
|
sca8er |
2:5853bf44af9f
|
6502
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6503
|
ULONG
|
sca8er |
2:5853bf44af9f
|
6504
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6505
|
IoGetRemainingStackSize(
|
sca8er |
2:5853bf44af9f
|
6506
|
VOID);
|
sca8er |
2:5853bf44af9f
|
6507
|
|
sca8er |
2:5853bf44af9f
|
6508
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6509
|
VOID
|
sca8er |
2:5853bf44af9f
|
6510
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6511
|
IoGetStackLimits(
|
sca8er |
2:5853bf44af9f
|
6512
|
/*OUT*/ PULONG_PTR LowLimit,
|
sca8er |
2:5853bf44af9f
|
6513
|
/*OUT*/ PULONG_PTR HighLimit);
|
sca8er |
2:5853bf44af9f
|
6514
|
|
sca8er |
2:5853bf44af9f
|
6515
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6516
|
VOID
|
sca8er |
2:5853bf44af9f
|
6517
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6518
|
KeInitializeDpc(
|
sca8er |
2:5853bf44af9f
|
6519
|
/*IN*/ PRKDPC Dpc,
|
sca8er |
2:5853bf44af9f
|
6520
|
/*IN*/ PKDEFERRED_ROUTINE DeferredRoutine,
|
sca8er |
2:5853bf44af9f
|
6521
|
/*IN*/ PVOID DeferredContext);
|
sca8er |
2:5853bf44af9f
|
6522
|
|
sca8er |
2:5853bf44af9f
|
6523
|
/*
|
sca8er |
2:5853bf44af9f
|
6524
|
* VOID
|
sca8er |
2:5853bf44af9f
|
6525
|
* IoInitializeDpcRequest(
|
sca8er |
2:5853bf44af9f
|
6526
|
* IN PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
6527
|
* IN PIO_DPC_ROUTINE DpcRoutine)
|
sca8er |
2:5853bf44af9f
|
6528
|
*/
|
sca8er |
2:5853bf44af9f
|
6529
|
#define IoInitializeDpcRequest(_DeviceObject, \
|
sca8er |
2:5853bf44af9f
|
6530
|
_DpcRoutine) \
|
sca8er |
2:5853bf44af9f
|
6531
|
KeInitializeDpc(&(_DeviceObject)->Dpc, \
|
sca8er |
2:5853bf44af9f
|
6532
|
(PKDEFERRED_ROUTINE) (_DpcRoutine), \
|
sca8er |
2:5853bf44af9f
|
6533
|
_DeviceObject)
|
sca8er |
2:5853bf44af9f
|
6534
|
|
sca8er |
2:5853bf44af9f
|
6535
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6536
|
VOID
|
sca8er |
2:5853bf44af9f
|
6537
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6538
|
IoInitializeIrp(
|
sca8er |
2:5853bf44af9f
|
6539
|
/*IN OUT*/ PIRP Irp,
|
sca8er |
2:5853bf44af9f
|
6540
|
/*IN*/ USHORT PacketSize,
|
sca8er |
2:5853bf44af9f
|
6541
|
/*IN*/ CCHAR StackSize);
|
sca8er |
2:5853bf44af9f
|
6542
|
|
sca8er |
2:5853bf44af9f
|
6543
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6544
|
VOID
|
sca8er |
2:5853bf44af9f
|
6545
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6546
|
IoInitializeRemoveLockEx(
|
sca8er |
2:5853bf44af9f
|
6547
|
/*IN*/ PIO_REMOVE_LOCK Lock,
|
sca8er |
2:5853bf44af9f
|
6548
|
/*IN*/ ULONG AllocateTag,
|
sca8er |
2:5853bf44af9f
|
6549
|
/*IN*/ ULONG MaxLockedMinutes,
|
sca8er |
2:5853bf44af9f
|
6550
|
/*IN*/ ULONG HighWatermark,
|
sca8er |
2:5853bf44af9f
|
6551
|
/*IN*/ ULONG RemlockSize);
|
sca8er |
2:5853bf44af9f
|
6552
|
|
sca8er |
2:5853bf44af9f
|
6553
|
/* VOID
|
sca8er |
2:5853bf44af9f
|
6554
|
* IoInitializeRemoveLock(
|
sca8er |
2:5853bf44af9f
|
6555
|
* IN PIO_REMOVE_LOCK Lock,
|
sca8er |
2:5853bf44af9f
|
6556
|
* IN ULONG AllocateTag,
|
sca8er |
2:5853bf44af9f
|
6557
|
* IN ULONG MaxLockedMinutes,
|
sca8er |
2:5853bf44af9f
|
6558
|
* IN ULONG HighWatermark)
|
sca8er |
2:5853bf44af9f
|
6559
|
*/
|
sca8er |
2:5853bf44af9f
|
6560
|
#define IoInitializeRemoveLock( \
|
sca8er |
2:5853bf44af9f
|
6561
|
Lock, AllocateTag, MaxLockedMinutes, HighWatermark) \
|
sca8er |
2:5853bf44af9f
|
6562
|
IoInitializeRemoveLockEx(Lock, AllocateTag, MaxLockedMinutes, \
|
sca8er |
2:5853bf44af9f
|
6563
|
HighWatermark, sizeof(IO_REMOVE_LOCK))
|
sca8er |
2:5853bf44af9f
|
6564
|
|
sca8er |
2:5853bf44af9f
|
6565
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6566
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
6567
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6568
|
IoInitializeTimer(
|
sca8er |
2:5853bf44af9f
|
6569
|
/*IN*/ PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
6570
|
/*IN*/ PIO_TIMER_ROUTINE TimerRoutine,
|
sca8er |
2:5853bf44af9f
|
6571
|
/*IN*/ PVOID Context);
|
sca8er |
2:5853bf44af9f
|
6572
|
|
sca8er |
2:5853bf44af9f
|
6573
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6574
|
VOID
|
sca8er |
2:5853bf44af9f
|
6575
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6576
|
IoInvalidateDeviceRelations(
|
sca8er |
2:5853bf44af9f
|
6577
|
/*IN*/ PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
6578
|
/*IN*/ DEVICE_RELATION_TYPE Type);
|
sca8er |
2:5853bf44af9f
|
6579
|
|
sca8er |
2:5853bf44af9f
|
6580
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6581
|
VOID
|
sca8er |
2:5853bf44af9f
|
6582
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6583
|
IoInvalidateDeviceState(
|
sca8er |
2:5853bf44af9f
|
6584
|
/*IN*/ PDEVICE_OBJECT PhysicalDeviceObject);
|
sca8er |
2:5853bf44af9f
|
6585
|
|
sca8er |
2:5853bf44af9f
|
6586
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6587
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
6588
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6589
|
IoIs32bitProcess(
|
sca8er |
2:5853bf44af9f
|
6590
|
/*IN*/ PIRP Irp /*OPTIONAL*/);
|
sca8er |
2:5853bf44af9f
|
6591
|
|
sca8er |
2:5853bf44af9f
|
6592
|
/*
|
sca8er |
2:5853bf44af9f
|
6593
|
* BOOLEAN
|
sca8er |
2:5853bf44af9f
|
6594
|
* IoIsErrorUserInduced(
|
sca8er |
2:5853bf44af9f
|
6595
|
* IN NTSTATUS Status);
|
sca8er |
2:5853bf44af9f
|
6596
|
*/
|
sca8er |
2:5853bf44af9f
|
6597
|
#define IoIsErrorUserInduced(Status) \
|
sca8er |
2:5853bf44af9f
|
6598
|
((BOOLEAN)(((Status) == STATUS_DEVICE_NOT_READY) || \
|
sca8er |
2:5853bf44af9f
|
6599
|
((Status) == STATUS_IO_TIMEOUT) || \
|
sca8er |
2:5853bf44af9f
|
6600
|
((Status) == STATUS_MEDIA_WRITE_PROTECTED) || \
|
sca8er |
2:5853bf44af9f
|
6601
|
((Status) == STATUS_NO_MEDIA_IN_DEVICE) || \
|
sca8er |
2:5853bf44af9f
|
6602
|
((Status) == STATUS_VERIFY_REQUIRED) || \
|
sca8er |
2:5853bf44af9f
|
6603
|
((Status) == STATUS_UNRECOGNIZED_MEDIA) || \
|
sca8er |
2:5853bf44af9f
|
6604
|
((Status) == STATUS_WRONG_VOLUME)))
|
sca8er |
2:5853bf44af9f
|
6605
|
|
sca8er |
2:5853bf44af9f
|
6606
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6607
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
6608
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6609
|
IoIsWdmVersionAvailable(
|
sca8er |
2:5853bf44af9f
|
6610
|
/*IN*/ UCHAR MajorVersion,
|
sca8er |
2:5853bf44af9f
|
6611
|
/*IN*/ UCHAR MinorVersion);
|
sca8er |
2:5853bf44af9f
|
6612
|
|
sca8er |
2:5853bf44af9f
|
6613
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6614
|
PIRP
|
sca8er |
2:5853bf44af9f
|
6615
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6616
|
IoMakeAssociatedIrp(
|
sca8er |
2:5853bf44af9f
|
6617
|
/*IN*/ PIRP Irp,
|
sca8er |
2:5853bf44af9f
|
6618
|
/*IN*/ CCHAR StackSize);
|
sca8er |
2:5853bf44af9f
|
6619
|
|
sca8er |
2:5853bf44af9f
|
6620
|
/*
|
sca8er |
2:5853bf44af9f
|
6621
|
* VOID
|
sca8er |
2:5853bf44af9f
|
6622
|
* IoMarkIrpPending(
|
sca8er |
2:5853bf44af9f
|
6623
|
* IN OUT PIRP Irp)
|
sca8er |
2:5853bf44af9f
|
6624
|
*/
|
sca8er |
2:5853bf44af9f
|
6625
|
#define IoMarkIrpPending(_Irp) \
|
sca8er |
2:5853bf44af9f
|
6626
|
(IoGetCurrentIrpStackLocation(_Irp)->Control |= SL_PENDING_RETURNED)
|
sca8er |
2:5853bf44af9f
|
6627
|
|
sca8er |
2:5853bf44af9f
|
6628
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6629
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
6630
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6631
|
IoOpenDeviceInterfaceRegistryKey(
|
sca8er |
2:5853bf44af9f
|
6632
|
/*IN*/ PUNICODE_STRING SymbolicLinkName,
|
sca8er |
2:5853bf44af9f
|
6633
|
/*IN*/ ACCESS_MASK DesiredAccess,
|
sca8er |
2:5853bf44af9f
|
6634
|
/*OUT*/ PHANDLE DeviceInterfaceKey);
|
sca8er |
2:5853bf44af9f
|
6635
|
|
sca8er |
2:5853bf44af9f
|
6636
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6637
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
6638
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6639
|
IoOpenDeviceRegistryKey(
|
sca8er |
2:5853bf44af9f
|
6640
|
/*IN*/ PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
6641
|
/*IN*/ ULONG DevInstKeyType,
|
sca8er |
2:5853bf44af9f
|
6642
|
/*IN*/ ACCESS_MASK DesiredAccess,
|
sca8er |
2:5853bf44af9f
|
6643
|
/*OUT*/ PHANDLE DevInstRegKey);
|
sca8er |
2:5853bf44af9f
|
6644
|
|
sca8er |
2:5853bf44af9f
|
6645
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6646
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
6647
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6648
|
IoQueryDeviceDescription(
|
sca8er |
2:5853bf44af9f
|
6649
|
/*IN*/ PINTERFACE_TYPE BusType /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
6650
|
/*IN*/ PULONG BusNumber /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
6651
|
/*IN*/ PCONFIGURATION_TYPE ControllerType /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
6652
|
/*IN*/ PULONG ControllerNumber /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
6653
|
/*IN*/ PCONFIGURATION_TYPE PeripheralType /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
6654
|
/*IN*/ PULONG PeripheralNumber /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
6655
|
/*IN*/ PIO_QUERY_DEVICE_ROUTINE CalloutRoutine,
|
sca8er |
2:5853bf44af9f
|
6656
|
/*IN*/ PVOID Context);
|
sca8er |
2:5853bf44af9f
|
6657
|
|
sca8er |
2:5853bf44af9f
|
6658
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6659
|
VOID
|
sca8er |
2:5853bf44af9f
|
6660
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6661
|
IoQueueWorkItem(
|
sca8er |
2:5853bf44af9f
|
6662
|
/*IN*/ PIO_WORKITEM pIOWorkItem,
|
sca8er |
2:5853bf44af9f
|
6663
|
/*IN*/ PIO_WORKITEM_ROUTINE Routine,
|
sca8er |
2:5853bf44af9f
|
6664
|
/*IN*/ WORK_QUEUE_TYPE QueueType,
|
sca8er |
2:5853bf44af9f
|
6665
|
/*IN*/ PVOID Context);
|
sca8er |
2:5853bf44af9f
|
6666
|
|
sca8er |
2:5853bf44af9f
|
6667
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6668
|
VOID
|
sca8er |
2:5853bf44af9f
|
6669
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6670
|
IoRaiseHardError(
|
sca8er |
2:5853bf44af9f
|
6671
|
/*IN*/ PIRP Irp,
|
sca8er |
2:5853bf44af9f
|
6672
|
/*IN*/ PVPB Vpb /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
6673
|
/*IN*/ PDEVICE_OBJECT RealDeviceObject);
|
sca8er |
2:5853bf44af9f
|
6674
|
|
sca8er |
2:5853bf44af9f
|
6675
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6676
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
6677
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6678
|
IoRaiseInformationalHardError(
|
sca8er |
2:5853bf44af9f
|
6679
|
/*IN*/ NTSTATUS ErrorStatus,
|
sca8er |
2:5853bf44af9f
|
6680
|
/*IN*/ PUNICODE_STRING String /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
6681
|
/*IN*/ PKTHREAD Thread /*OPTIONAL*/);
|
sca8er |
2:5853bf44af9f
|
6682
|
|
sca8er |
2:5853bf44af9f
|
6683
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6684
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
6685
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6686
|
IoReadDiskSignature(
|
sca8er |
2:5853bf44af9f
|
6687
|
/*IN*/ PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
6688
|
/*IN*/ ULONG BytesPerSector,
|
sca8er |
2:5853bf44af9f
|
6689
|
/*OUT*/ PDISK_SIGNATURE Signature);
|
sca8er |
2:5853bf44af9f
|
6690
|
|
sca8er |
2:5853bf44af9f
|
6691
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6692
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
6693
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6694
|
IoReadPartitionTableEx(
|
sca8er |
2:5853bf44af9f
|
6695
|
/*IN*/ PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
6696
|
/*IN*/ struct _DRIVE_LAYOUT_INFORMATION_EX **PartitionBuffer);
|
sca8er |
2:5853bf44af9f
|
6697
|
|
sca8er |
2:5853bf44af9f
|
6698
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6699
|
VOID
|
sca8er |
2:5853bf44af9f
|
6700
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6701
|
IoRegisterBootDriverReinitialization(
|
sca8er |
2:5853bf44af9f
|
6702
|
/*IN*/ PDRIVER_OBJECT DriverObject,
|
sca8er |
2:5853bf44af9f
|
6703
|
/*IN*/ PDRIVER_REINITIALIZE DriverReinitializationRoutine,
|
sca8er |
2:5853bf44af9f
|
6704
|
/*IN*/ PVOID Context);
|
sca8er |
2:5853bf44af9f
|
6705
|
|
sca8er |
2:5853bf44af9f
|
6706
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6707
|
VOID
|
sca8er |
2:5853bf44af9f
|
6708
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6709
|
IoRegisterBootDriverReinitialization(
|
sca8er |
2:5853bf44af9f
|
6710
|
/*IN*/ PDRIVER_OBJECT DriverObject,
|
sca8er |
2:5853bf44af9f
|
6711
|
/*IN*/ PDRIVER_REINITIALIZE DriverReinitializationRoutine,
|
sca8er |
2:5853bf44af9f
|
6712
|
/*IN*/ PVOID Context);
|
sca8er |
2:5853bf44af9f
|
6713
|
|
sca8er |
2:5853bf44af9f
|
6714
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6715
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
6716
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6717
|
IoRegisterDeviceInterface(
|
sca8er |
2:5853bf44af9f
|
6718
|
/*IN*/ PDEVICE_OBJECT PhysicalDeviceObject,
|
sca8er |
2:5853bf44af9f
|
6719
|
/*IN*/ CONST GUID *InterfaceClassGuid,
|
sca8er |
2:5853bf44af9f
|
6720
|
/*IN*/ PUNICODE_STRING ReferenceString /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
6721
|
/*OUT*/ PUNICODE_STRING SymbolicLinkName);
|
sca8er |
2:5853bf44af9f
|
6722
|
|
sca8er |
2:5853bf44af9f
|
6723
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6724
|
VOID
|
sca8er |
2:5853bf44af9f
|
6725
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6726
|
IoRegisterDriverReinitialization(
|
sca8er |
2:5853bf44af9f
|
6727
|
/*IN*/ PDRIVER_OBJECT DriverObject,
|
sca8er |
2:5853bf44af9f
|
6728
|
/*IN*/ PDRIVER_REINITIALIZE DriverReinitializationRoutine,
|
sca8er |
2:5853bf44af9f
|
6729
|
/*IN*/ PVOID Context);
|
sca8er |
2:5853bf44af9f
|
6730
|
|
sca8er |
2:5853bf44af9f
|
6731
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6732
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
6733
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6734
|
IoRegisterPlugPlayNotification(
|
sca8er |
2:5853bf44af9f
|
6735
|
/*IN*/ IO_NOTIFICATION_EVENT_CATEGORY EventCategory,
|
sca8er |
2:5853bf44af9f
|
6736
|
/*IN*/ ULONG EventCategoryFlags,
|
sca8er |
2:5853bf44af9f
|
6737
|
/*IN*/ PVOID EventCategoryData /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
6738
|
/*IN*/ PDRIVER_OBJECT DriverObject,
|
sca8er |
2:5853bf44af9f
|
6739
|
/*IN*/ PDRIVER_NOTIFICATION_CALLBACK_ROUTINE CallbackRoutine,
|
sca8er |
2:5853bf44af9f
|
6740
|
/*IN*/ PVOID Context,
|
sca8er |
2:5853bf44af9f
|
6741
|
/*OUT*/ PVOID *NotificationEntry);
|
sca8er |
2:5853bf44af9f
|
6742
|
|
sca8er |
2:5853bf44af9f
|
6743
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6744
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
6745
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6746
|
IoRegisterShutdownNotification(
|
sca8er |
2:5853bf44af9f
|
6747
|
/*IN*/ PDEVICE_OBJECT DeviceObject);
|
sca8er |
2:5853bf44af9f
|
6748
|
|
sca8er |
2:5853bf44af9f
|
6749
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6750
|
VOID
|
sca8er |
2:5853bf44af9f
|
6751
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6752
|
IoReleaseCancelSpinLock(
|
sca8er |
2:5853bf44af9f
|
6753
|
/*IN*/ KIRQL Irql);
|
sca8er |
2:5853bf44af9f
|
6754
|
|
sca8er |
2:5853bf44af9f
|
6755
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6756
|
VOID
|
sca8er |
2:5853bf44af9f
|
6757
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6758
|
IoReleaseRemoveLockAndWaitEx(
|
sca8er |
2:5853bf44af9f
|
6759
|
/*IN*/ PIO_REMOVE_LOCK RemoveLock,
|
sca8er |
2:5853bf44af9f
|
6760
|
/*IN*/ PVOID Tag,
|
sca8er |
2:5853bf44af9f
|
6761
|
/*IN*/ ULONG RemlockSize);
|
sca8er |
2:5853bf44af9f
|
6762
|
|
sca8er |
2:5853bf44af9f
|
6763
|
/*
|
sca8er |
2:5853bf44af9f
|
6764
|
* VOID
|
sca8er |
2:5853bf44af9f
|
6765
|
* IoReleaseRemoveLockAndWait(
|
sca8er |
2:5853bf44af9f
|
6766
|
* IN PIO_REMOVE_LOCK RemoveLock,
|
sca8er |
2:5853bf44af9f
|
6767
|
* IN PVOID Tag)
|
sca8er |
2:5853bf44af9f
|
6768
|
*/
|
sca8er |
2:5853bf44af9f
|
6769
|
#define IoReleaseRemoveLockAndWait(_RemoveLock, \
|
sca8er |
2:5853bf44af9f
|
6770
|
_Tag) \
|
sca8er |
2:5853bf44af9f
|
6771
|
IoReleaseRemoveLockAndWaitEx(_RemoveLock, _Tag, sizeof(IO_REMOVE_LOCK))
|
sca8er |
2:5853bf44af9f
|
6772
|
|
sca8er |
2:5853bf44af9f
|
6773
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6774
|
VOID
|
sca8er |
2:5853bf44af9f
|
6775
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6776
|
IoReleaseRemoveLockEx(
|
sca8er |
2:5853bf44af9f
|
6777
|
/*IN*/ PIO_REMOVE_LOCK RemoveLock,
|
sca8er |
2:5853bf44af9f
|
6778
|
/*IN*/ PVOID Tag,
|
sca8er |
2:5853bf44af9f
|
6779
|
/*IN*/ ULONG RemlockSize);
|
sca8er |
2:5853bf44af9f
|
6780
|
|
sca8er |
2:5853bf44af9f
|
6781
|
/*
|
sca8er |
2:5853bf44af9f
|
6782
|
* VOID
|
sca8er |
2:5853bf44af9f
|
6783
|
* IoReleaseRemoveLock(
|
sca8er |
2:5853bf44af9f
|
6784
|
* IN PIO_REMOVE_LOCK RemoveLock,
|
sca8er |
2:5853bf44af9f
|
6785
|
* IN PVOID Tag)
|
sca8er |
2:5853bf44af9f
|
6786
|
*/
|
sca8er |
2:5853bf44af9f
|
6787
|
#define IoReleaseRemoveLock(_RemoveLock, \
|
sca8er |
2:5853bf44af9f
|
6788
|
_Tag) \
|
sca8er |
2:5853bf44af9f
|
6789
|
IoReleaseRemoveLockEx(_RemoveLock, _Tag, sizeof(IO_REMOVE_LOCK))
|
sca8er |
2:5853bf44af9f
|
6790
|
|
sca8er |
2:5853bf44af9f
|
6791
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6792
|
VOID
|
sca8er |
2:5853bf44af9f
|
6793
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6794
|
IoRemoveShareAccess(
|
sca8er |
2:5853bf44af9f
|
6795
|
/*IN*/ PFILE_OBJECT FileObject,
|
sca8er |
2:5853bf44af9f
|
6796
|
/*IN OUT*/ PSHARE_ACCESS ShareAccess);
|
sca8er |
2:5853bf44af9f
|
6797
|
|
sca8er |
2:5853bf44af9f
|
6798
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6799
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
6800
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6801
|
IoReportDetectedDevice(
|
sca8er |
2:5853bf44af9f
|
6802
|
/*IN*/ PDRIVER_OBJECT DriverObject,
|
sca8er |
2:5853bf44af9f
|
6803
|
/*IN*/ INTERFACE_TYPE LegacyBusType,
|
sca8er |
2:5853bf44af9f
|
6804
|
/*IN*/ ULONG BusNumber,
|
sca8er |
2:5853bf44af9f
|
6805
|
/*IN*/ ULONG SlotNumber,
|
sca8er |
2:5853bf44af9f
|
6806
|
/*IN*/ PCM_RESOURCE_LIST ResourceList,
|
sca8er |
2:5853bf44af9f
|
6807
|
/*IN*/ PIO_RESOURCE_REQUIREMENTS_LIST ResourceRequirements /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
6808
|
/*IN*/ BOOLEAN ResourceAssigned,
|
sca8er |
2:5853bf44af9f
|
6809
|
/*IN OUT*/ PDEVICE_OBJECT *DeviceObject);
|
sca8er |
2:5853bf44af9f
|
6810
|
|
sca8er |
2:5853bf44af9f
|
6811
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6812
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
6813
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6814
|
IoReportResourceForDetection(
|
sca8er |
2:5853bf44af9f
|
6815
|
/*IN*/ PDRIVER_OBJECT DriverObject,
|
sca8er |
2:5853bf44af9f
|
6816
|
/*IN*/ PCM_RESOURCE_LIST DriverList /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
6817
|
/*IN*/ ULONG DriverListSize /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
6818
|
/*IN*/ PDEVICE_OBJECT DeviceObject /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
6819
|
/*IN*/ PCM_RESOURCE_LIST DeviceList /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
6820
|
/*IN*/ ULONG DeviceListSize /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
6821
|
/*OUT*/ PBOOLEAN ConflictDetected);
|
sca8er |
2:5853bf44af9f
|
6822
|
|
sca8er |
2:5853bf44af9f
|
6823
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6824
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
6825
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6826
|
IoReportResourceUsage(
|
sca8er |
2:5853bf44af9f
|
6827
|
/*IN*/ PUNICODE_STRING DriverClassName /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
6828
|
/*IN*/ PDRIVER_OBJECT DriverObject,
|
sca8er |
2:5853bf44af9f
|
6829
|
/*IN*/ PCM_RESOURCE_LIST DriverList /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
6830
|
/*IN*/ ULONG DriverListSize /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
6831
|
/*IN*/ PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
6832
|
/*IN*/ PCM_RESOURCE_LIST DeviceList /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
6833
|
/*IN*/ ULONG DeviceListSize /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
6834
|
/*IN*/ BOOLEAN OverrideConflict,
|
sca8er |
2:5853bf44af9f
|
6835
|
/*OUT*/ PBOOLEAN ConflictDetected);
|
sca8er |
2:5853bf44af9f
|
6836
|
|
sca8er |
2:5853bf44af9f
|
6837
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6838
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
6839
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6840
|
IoReportTargetDeviceChange(
|
sca8er |
2:5853bf44af9f
|
6841
|
/*IN*/ PDEVICE_OBJECT PhysicalDeviceObject,
|
sca8er |
2:5853bf44af9f
|
6842
|
/*IN*/ PVOID NotificationStructure);
|
sca8er |
2:5853bf44af9f
|
6843
|
|
sca8er |
2:5853bf44af9f
|
6844
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6845
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
6846
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6847
|
IoReportTargetDeviceChangeAsynchronous(
|
sca8er |
2:5853bf44af9f
|
6848
|
/*IN*/ PDEVICE_OBJECT PhysicalDeviceObject,
|
sca8er |
2:5853bf44af9f
|
6849
|
/*IN*/ PVOID NotificationStructure,
|
sca8er |
2:5853bf44af9f
|
6850
|
/*IN*/ PDEVICE_CHANGE_COMPLETE_CALLBACK Callback /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
6851
|
/*IN*/ PVOID Context /*OPTIONAL*/);
|
sca8er |
2:5853bf44af9f
|
6852
|
|
sca8er |
2:5853bf44af9f
|
6853
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6854
|
VOID
|
sca8er |
2:5853bf44af9f
|
6855
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6856
|
IoRequestDeviceEject(
|
sca8er |
2:5853bf44af9f
|
6857
|
/*IN*/ PDEVICE_OBJECT PhysicalDeviceObject);
|
sca8er |
2:5853bf44af9f
|
6858
|
|
sca8er |
2:5853bf44af9f
|
6859
|
/*
|
sca8er |
2:5853bf44af9f
|
6860
|
* VOID
|
sca8er |
2:5853bf44af9f
|
6861
|
* IoRequestDpc(
|
sca8er |
2:5853bf44af9f
|
6862
|
* IN PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
6863
|
* IN PIRP Irp,
|
sca8er |
2:5853bf44af9f
|
6864
|
* IN PVOID Context);
|
sca8er |
2:5853bf44af9f
|
6865
|
*/
|
sca8er |
2:5853bf44af9f
|
6866
|
#define IoRequestDpc(DeviceObject, Irp, Context)( \
|
sca8er |
2:5853bf44af9f
|
6867
|
KeInsertQueueDpc(&(DeviceObject)->Dpc, (Irp), (Context)))
|
sca8er |
2:5853bf44af9f
|
6868
|
|
sca8er |
2:5853bf44af9f
|
6869
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6870
|
VOID
|
sca8er |
2:5853bf44af9f
|
6871
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6872
|
IoReuseIrp(
|
sca8er |
2:5853bf44af9f
|
6873
|
/*IN OUT*/ PIRP Irp,
|
sca8er |
2:5853bf44af9f
|
6874
|
/*IN*/ NTSTATUS Status);
|
sca8er |
2:5853bf44af9f
|
6875
|
|
sca8er |
2:5853bf44af9f
|
6876
|
/*
|
sca8er |
2:5853bf44af9f
|
6877
|
* PDRIVER_CANCEL
|
sca8er |
2:5853bf44af9f
|
6878
|
* IoSetCancelRoutine(
|
sca8er |
2:5853bf44af9f
|
6879
|
* IN PIRP Irp,
|
sca8er |
2:5853bf44af9f
|
6880
|
* IN PDRIVER_CANCEL CancelRoutine)
|
sca8er |
2:5853bf44af9f
|
6881
|
*/
|
sca8er |
2:5853bf44af9f
|
6882
|
#define IoSetCancelRoutine(_Irp, \
|
sca8er |
2:5853bf44af9f
|
6883
|
_CancelRoutine) \
|
sca8er |
2:5853bf44af9f
|
6884
|
((PDRIVER_CANCEL) InterlockedExchangePointer( \
|
sca8er |
2:5853bf44af9f
|
6885
|
(PVOID *) &(_Irp)->CancelRoutine, (PVOID) (_CancelRoutine)))
|
sca8er |
2:5853bf44af9f
|
6886
|
|
sca8er |
2:5853bf44af9f
|
6887
|
/*
|
sca8er |
2:5853bf44af9f
|
6888
|
* VOID
|
sca8er |
2:5853bf44af9f
|
6889
|
* IoSetCompletionRoutine(
|
sca8er |
2:5853bf44af9f
|
6890
|
* IN PIRP Irp,
|
sca8er |
2:5853bf44af9f
|
6891
|
* IN PIO_COMPLETION_ROUTINE CompletionRoutine,
|
sca8er |
2:5853bf44af9f
|
6892
|
* IN PVOID Context,
|
sca8er |
2:5853bf44af9f
|
6893
|
* IN BOOLEAN InvokeOnSuccess,
|
sca8er |
2:5853bf44af9f
|
6894
|
* IN BOOLEAN InvokeOnError,
|
sca8er |
2:5853bf44af9f
|
6895
|
* IN BOOLEAN InvokeOnCancel)
|
sca8er |
2:5853bf44af9f
|
6896
|
*/
|
sca8er |
2:5853bf44af9f
|
6897
|
#define IoSetCompletionRoutine(_Irp, \
|
sca8er |
2:5853bf44af9f
|
6898
|
_CompletionRoutine, \
|
sca8er |
2:5853bf44af9f
|
6899
|
_Context, \
|
sca8er |
2:5853bf44af9f
|
6900
|
_InvokeOnSuccess, \
|
sca8er |
2:5853bf44af9f
|
6901
|
_InvokeOnError, \
|
sca8er |
2:5853bf44af9f
|
6902
|
_InvokeOnCancel) \
|
sca8er |
2:5853bf44af9f
|
6903
|
{ \
|
sca8er |
2:5853bf44af9f
|
6904
|
PIO_STACK_LOCATION _IrpSp; \
|
sca8er |
2:5853bf44af9f
|
6905
|
ASSERT(_InvokeOnSuccess || _InvokeOnError || _InvokeOnCancel ? \
|
sca8er |
2:5853bf44af9f
|
6906
|
_CompletionRoutine != NULL : TRUE); \
|
sca8er |
2:5853bf44af9f
|
6907
|
_IrpSp = IoGetNextIrpStackLocation(_Irp); \
|
sca8er |
2:5853bf44af9f
|
6908
|
_IrpSp->CompletionRoutine = (PIO_COMPLETION_ROUTINE)(_CompletionRoutine); \
|
sca8er |
2:5853bf44af9f
|
6909
|
_IrpSp->Context = (_Context); \
|
sca8er |
2:5853bf44af9f
|
6910
|
_IrpSp->Control = 0; \
|
sca8er |
2:5853bf44af9f
|
6911
|
if (_InvokeOnSuccess) _IrpSp->Control = SL_INVOKE_ON_SUCCESS; \
|
sca8er |
2:5853bf44af9f
|
6912
|
if (_InvokeOnError) _IrpSp->Control |= SL_INVOKE_ON_ERROR; \
|
sca8er |
2:5853bf44af9f
|
6913
|
if (_InvokeOnCancel) _IrpSp->Control |= SL_INVOKE_ON_CANCEL; \
|
sca8er |
2:5853bf44af9f
|
6914
|
}
|
sca8er |
2:5853bf44af9f
|
6915
|
|
sca8er |
2:5853bf44af9f
|
6916
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6917
|
VOID
|
sca8er |
2:5853bf44af9f
|
6918
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6919
|
IoSetCompletionRoutineEx(
|
sca8er |
2:5853bf44af9f
|
6920
|
/*IN*/ PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
6921
|
/*IN*/ PIRP Irp,
|
sca8er |
2:5853bf44af9f
|
6922
|
/*IN*/ PIO_COMPLETION_ROUTINE CompletionRoutine,
|
sca8er |
2:5853bf44af9f
|
6923
|
/*IN*/ PVOID Context,
|
sca8er |
2:5853bf44af9f
|
6924
|
/*IN*/ BOOLEAN InvokeOnSuccess,
|
sca8er |
2:5853bf44af9f
|
6925
|
/*IN*/ BOOLEAN InvokeOnError,
|
sca8er |
2:5853bf44af9f
|
6926
|
/*IN*/ BOOLEAN InvokeOnCancel);
|
sca8er |
2:5853bf44af9f
|
6927
|
|
sca8er |
2:5853bf44af9f
|
6928
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6929
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
6930
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6931
|
IoSetDeviceInterfaceState(
|
sca8er |
2:5853bf44af9f
|
6932
|
/*IN*/ PUNICODE_STRING SymbolicLinkName,
|
sca8er |
2:5853bf44af9f
|
6933
|
/*IN*/ BOOLEAN Enable);
|
sca8er |
2:5853bf44af9f
|
6934
|
|
sca8er |
2:5853bf44af9f
|
6935
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6936
|
VOID
|
sca8er |
2:5853bf44af9f
|
6937
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6938
|
IoSetHardErrorOrVerifyDevice(
|
sca8er |
2:5853bf44af9f
|
6939
|
/*IN*/ PIRP Irp,
|
sca8er |
2:5853bf44af9f
|
6940
|
/*IN*/ PDEVICE_OBJECT DeviceObject);
|
sca8er |
2:5853bf44af9f
|
6941
|
|
sca8er |
2:5853bf44af9f
|
6942
|
/*
|
sca8er |
2:5853bf44af9f
|
6943
|
* VOID
|
sca8er |
2:5853bf44af9f
|
6944
|
* IoSetNextIrpStackLocation(
|
sca8er |
2:5853bf44af9f
|
6945
|
* IN OUT PIRP Irp)
|
sca8er |
2:5853bf44af9f
|
6946
|
*/
|
sca8er |
2:5853bf44af9f
|
6947
|
#define IoSetNextIrpStackLocation(_Irp) \
|
sca8er |
2:5853bf44af9f
|
6948
|
{ \
|
sca8er |
2:5853bf44af9f
|
6949
|
(_Irp)->CurrentLocation--; \
|
sca8er |
2:5853bf44af9f
|
6950
|
(_Irp)->Tail.Overlay.CurrentStackLocation--; \
|
sca8er |
2:5853bf44af9f
|
6951
|
}
|
sca8er |
2:5853bf44af9f
|
6952
|
|
sca8er |
2:5853bf44af9f
|
6953
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6954
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
6955
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6956
|
IoSetPartitionInformationEx(
|
sca8er |
2:5853bf44af9f
|
6957
|
/*IN*/ PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
6958
|
/*IN*/ ULONG PartitionNumber,
|
sca8er |
2:5853bf44af9f
|
6959
|
/*IN*/ struct _SET_PARTITION_INFORMATION_EX *PartitionInfo);
|
sca8er |
2:5853bf44af9f
|
6960
|
|
sca8er |
2:5853bf44af9f
|
6961
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6962
|
VOID
|
sca8er |
2:5853bf44af9f
|
6963
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6964
|
IoSetShareAccess(
|
sca8er |
2:5853bf44af9f
|
6965
|
/*IN*/ ACCESS_MASK DesiredAccess,
|
sca8er |
2:5853bf44af9f
|
6966
|
/*IN*/ ULONG DesiredShareAccess,
|
sca8er |
2:5853bf44af9f
|
6967
|
/*IN OUT*/ PFILE_OBJECT FileObject,
|
sca8er |
2:5853bf44af9f
|
6968
|
/*OUT*/ PSHARE_ACCESS ShareAccess);
|
sca8er |
2:5853bf44af9f
|
6969
|
|
sca8er |
2:5853bf44af9f
|
6970
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6971
|
VOID
|
sca8er |
2:5853bf44af9f
|
6972
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6973
|
IoSetStartIoAttributes(
|
sca8er |
2:5853bf44af9f
|
6974
|
/*IN*/ PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
6975
|
/*IN*/ BOOLEAN DeferredStartIo,
|
sca8er |
2:5853bf44af9f
|
6976
|
/*IN*/ BOOLEAN NonCancelable);
|
sca8er |
2:5853bf44af9f
|
6977
|
|
sca8er |
2:5853bf44af9f
|
6978
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6979
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
6980
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6981
|
IoSetSystemPartition(
|
sca8er |
2:5853bf44af9f
|
6982
|
/*IN*/ PUNICODE_STRING VolumeNameString);
|
sca8er |
2:5853bf44af9f
|
6983
|
|
sca8er |
2:5853bf44af9f
|
6984
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
6985
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
6986
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
6987
|
IoSetThreadHardErrorMode(
|
sca8er |
2:5853bf44af9f
|
6988
|
/*IN*/ BOOLEAN EnableHardErrors);
|
sca8er |
2:5853bf44af9f
|
6989
|
|
sca8er |
2:5853bf44af9f
|
6990
|
/*
|
sca8er |
2:5853bf44af9f
|
6991
|
* USHORT
|
sca8er |
2:5853bf44af9f
|
6992
|
* IoSizeOfIrp(
|
sca8er |
2:5853bf44af9f
|
6993
|
* IN CCHAR StackSize)
|
sca8er |
2:5853bf44af9f
|
6994
|
*/
|
sca8er |
2:5853bf44af9f
|
6995
|
#define IoSizeOfIrp(_StackSize) \
|
sca8er |
2:5853bf44af9f
|
6996
|
((USHORT) (sizeof(IRP) + ((_StackSize) * (sizeof(IO_STACK_LOCATION)))))
|
sca8er |
2:5853bf44af9f
|
6997
|
|
sca8er |
2:5853bf44af9f
|
6998
|
/*
|
sca8er |
2:5853bf44af9f
|
6999
|
* VOID
|
sca8er |
2:5853bf44af9f
|
7000
|
* IoSkipCurrentIrpStackLocation(
|
sca8er |
2:5853bf44af9f
|
7001
|
* IN PIRP Irp)
|
sca8er |
2:5853bf44af9f
|
7002
|
*/
|
sca8er |
2:5853bf44af9f
|
7003
|
#define IoSkipCurrentIrpStackLocation(_Irp) \
|
sca8er |
2:5853bf44af9f
|
7004
|
{ \
|
sca8er |
2:5853bf44af9f
|
7005
|
(_Irp)->CurrentLocation++; \
|
sca8er |
2:5853bf44af9f
|
7006
|
(_Irp)->Tail.Overlay.CurrentStackLocation++; \
|
sca8er |
2:5853bf44af9f
|
7007
|
}
|
sca8er |
2:5853bf44af9f
|
7008
|
|
sca8er |
2:5853bf44af9f
|
7009
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7010
|
VOID
|
sca8er |
2:5853bf44af9f
|
7011
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7012
|
IoStartNextPacket(
|
sca8er |
2:5853bf44af9f
|
7013
|
/*IN*/ PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
7014
|
/*IN*/ BOOLEAN Cancelable);
|
sca8er |
2:5853bf44af9f
|
7015
|
|
sca8er |
2:5853bf44af9f
|
7016
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7017
|
VOID
|
sca8er |
2:5853bf44af9f
|
7018
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7019
|
IoStartNextPacketByKey(
|
sca8er |
2:5853bf44af9f
|
7020
|
/*IN*/ PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
7021
|
/*IN*/ BOOLEAN Cancelable,
|
sca8er |
2:5853bf44af9f
|
7022
|
/*IN*/ ULONG Key);
|
sca8er |
2:5853bf44af9f
|
7023
|
|
sca8er |
2:5853bf44af9f
|
7024
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7025
|
VOID
|
sca8er |
2:5853bf44af9f
|
7026
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7027
|
IoStartPacket(
|
sca8er |
2:5853bf44af9f
|
7028
|
/*IN*/ PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
7029
|
/*IN*/ PIRP Irp,
|
sca8er |
2:5853bf44af9f
|
7030
|
/*IN*/ PULONG Key /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
7031
|
/*IN*/ PDRIVER_CANCEL CancelFunction /*OPTIONAL*/);
|
sca8er |
2:5853bf44af9f
|
7032
|
|
sca8er |
2:5853bf44af9f
|
7033
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7034
|
VOID
|
sca8er |
2:5853bf44af9f
|
7035
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7036
|
IoStartTimer(
|
sca8er |
2:5853bf44af9f
|
7037
|
/*IN*/ PDEVICE_OBJECT DeviceObject);
|
sca8er |
2:5853bf44af9f
|
7038
|
|
sca8er |
2:5853bf44af9f
|
7039
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7040
|
VOID
|
sca8er |
2:5853bf44af9f
|
7041
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7042
|
IoStopTimer(
|
sca8er |
2:5853bf44af9f
|
7043
|
/*IN*/ PDEVICE_OBJECT DeviceObject);
|
sca8er |
2:5853bf44af9f
|
7044
|
|
sca8er |
2:5853bf44af9f
|
7045
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7046
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
7047
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7048
|
IoUnregisterPlugPlayNotification(
|
sca8er |
2:5853bf44af9f
|
7049
|
/*IN*/ PVOID NotificationEntry);
|
sca8er |
2:5853bf44af9f
|
7050
|
|
sca8er |
2:5853bf44af9f
|
7051
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7052
|
VOID
|
sca8er |
2:5853bf44af9f
|
7053
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7054
|
IoUnregisterShutdownNotification(
|
sca8er |
2:5853bf44af9f
|
7055
|
/*IN*/ PDEVICE_OBJECT DeviceObject);
|
sca8er |
2:5853bf44af9f
|
7056
|
|
sca8er |
2:5853bf44af9f
|
7057
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7058
|
VOID
|
sca8er |
2:5853bf44af9f
|
7059
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7060
|
IoUpdateShareAccess(
|
sca8er |
2:5853bf44af9f
|
7061
|
/*IN*/ PFILE_OBJECT FileObject,
|
sca8er |
2:5853bf44af9f
|
7062
|
/*IN OUT*/ PSHARE_ACCESS ShareAccess);
|
sca8er |
2:5853bf44af9f
|
7063
|
|
sca8er |
2:5853bf44af9f
|
7064
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7065
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
7066
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7067
|
IoVerifyPartitionTable(
|
sca8er |
2:5853bf44af9f
|
7068
|
/*IN*/ PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
7069
|
/*IN*/ BOOLEAN FixErrors);
|
sca8er |
2:5853bf44af9f
|
7070
|
|
sca8er |
2:5853bf44af9f
|
7071
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7072
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
7073
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7074
|
IoVolumeDeviceToDosName(
|
sca8er |
2:5853bf44af9f
|
7075
|
/*IN*/ PVOID VolumeDeviceObject,
|
sca8er |
2:5853bf44af9f
|
7076
|
/*OUT*/ PUNICODE_STRING DosName);
|
sca8er |
2:5853bf44af9f
|
7077
|
|
sca8er |
2:5853bf44af9f
|
7078
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7079
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
7080
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7081
|
IoWMIAllocateInstanceIds(
|
sca8er |
2:5853bf44af9f
|
7082
|
/*IN*/ GUID *Guid,
|
sca8er |
2:5853bf44af9f
|
7083
|
/*IN*/ ULONG InstanceCount,
|
sca8er |
2:5853bf44af9f
|
7084
|
/*OUT*/ ULONG *FirstInstanceId);
|
sca8er |
2:5853bf44af9f
|
7085
|
|
sca8er |
2:5853bf44af9f
|
7086
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7087
|
ULONG
|
sca8er |
2:5853bf44af9f
|
7088
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7089
|
IoWMIDeviceObjectToProviderId(
|
sca8er |
2:5853bf44af9f
|
7090
|
/*IN*/ PDEVICE_OBJECT DeviceObject);
|
sca8er |
2:5853bf44af9f
|
7091
|
|
sca8er |
2:5853bf44af9f
|
7092
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7093
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
7094
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7095
|
IoWMIDeviceObjectToInstanceName(
|
sca8er |
2:5853bf44af9f
|
7096
|
/*IN*/ PVOID DataBlockObject,
|
sca8er |
2:5853bf44af9f
|
7097
|
/*IN*/ PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
7098
|
/*OUT*/ PUNICODE_STRING InstanceName);
|
sca8er |
2:5853bf44af9f
|
7099
|
|
sca8er |
2:5853bf44af9f
|
7100
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7101
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
7102
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7103
|
IoWMIExecuteMethod(
|
sca8er |
2:5853bf44af9f
|
7104
|
/*IN*/ PVOID DataBlockObject,
|
sca8er |
2:5853bf44af9f
|
7105
|
/*IN*/ PUNICODE_STRING InstanceName,
|
sca8er |
2:5853bf44af9f
|
7106
|
/*IN*/ ULONG MethodId,
|
sca8er |
2:5853bf44af9f
|
7107
|
/*IN*/ ULONG InBufferSize,
|
sca8er |
2:5853bf44af9f
|
7108
|
/*IN OUT*/ PULONG OutBufferSize,
|
sca8er |
2:5853bf44af9f
|
7109
|
/*IN OUT*/ PUCHAR InOutBuffer);
|
sca8er |
2:5853bf44af9f
|
7110
|
|
sca8er |
2:5853bf44af9f
|
7111
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7112
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
7113
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7114
|
IoWMIHandleToInstanceName(
|
sca8er |
2:5853bf44af9f
|
7115
|
/*IN*/ PVOID DataBlockObject,
|
sca8er |
2:5853bf44af9f
|
7116
|
/*IN*/ HANDLE FileHandle,
|
sca8er |
2:5853bf44af9f
|
7117
|
/*OUT*/ PUNICODE_STRING InstanceName);
|
sca8er |
2:5853bf44af9f
|
7118
|
|
sca8er |
2:5853bf44af9f
|
7119
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7120
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
7121
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7122
|
IoWMIOpenBlock(
|
sca8er |
2:5853bf44af9f
|
7123
|
/*IN*/ GUID *DataBlockGuid,
|
sca8er |
2:5853bf44af9f
|
7124
|
/*IN*/ ULONG DesiredAccess,
|
sca8er |
2:5853bf44af9f
|
7125
|
/*OUT*/ PVOID *DataBlockObject);
|
sca8er |
2:5853bf44af9f
|
7126
|
|
sca8er |
2:5853bf44af9f
|
7127
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7128
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
7129
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7130
|
IoWMIQueryAllData(
|
sca8er |
2:5853bf44af9f
|
7131
|
/*IN*/ PVOID DataBlockObject,
|
sca8er |
2:5853bf44af9f
|
7132
|
/*IN OUT*/ ULONG *InOutBufferSize,
|
sca8er |
2:5853bf44af9f
|
7133
|
/*OUT*/ PVOID OutBuffer);
|
sca8er |
2:5853bf44af9f
|
7134
|
|
sca8er |
2:5853bf44af9f
|
7135
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7136
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
7137
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7138
|
IoWMIQueryAllDataMultiple(
|
sca8er |
2:5853bf44af9f
|
7139
|
/*IN*/ PVOID *DataBlockObjectList,
|
sca8er |
2:5853bf44af9f
|
7140
|
/*IN*/ ULONG ObjectCount,
|
sca8er |
2:5853bf44af9f
|
7141
|
/*IN OUT*/ ULONG *InOutBufferSize,
|
sca8er |
2:5853bf44af9f
|
7142
|
/*OUT*/ PVOID OutBuffer);
|
sca8er |
2:5853bf44af9f
|
7143
|
|
sca8er |
2:5853bf44af9f
|
7144
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7145
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
7146
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7147
|
IoWMIQuerySingleInstance(
|
sca8er |
2:5853bf44af9f
|
7148
|
/*IN*/ PVOID DataBlockObject,
|
sca8er |
2:5853bf44af9f
|
7149
|
/*IN*/ PUNICODE_STRING InstanceName,
|
sca8er |
2:5853bf44af9f
|
7150
|
/*IN OUT*/ ULONG *InOutBufferSize,
|
sca8er |
2:5853bf44af9f
|
7151
|
/*OUT*/ PVOID OutBuffer);
|
sca8er |
2:5853bf44af9f
|
7152
|
|
sca8er |
2:5853bf44af9f
|
7153
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7154
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
7155
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7156
|
IoWMIQuerySingleInstanceMultiple(
|
sca8er |
2:5853bf44af9f
|
7157
|
/*IN*/ PVOID *DataBlockObjectList,
|
sca8er |
2:5853bf44af9f
|
7158
|
/*IN*/ PUNICODE_STRING InstanceNames,
|
sca8er |
2:5853bf44af9f
|
7159
|
/*IN*/ ULONG ObjectCount,
|
sca8er |
2:5853bf44af9f
|
7160
|
/*IN OUT*/ ULONG *InOutBufferSize,
|
sca8er |
2:5853bf44af9f
|
7161
|
/*OUT*/ PVOID OutBuffer);
|
sca8er |
2:5853bf44af9f
|
7162
|
|
sca8er |
2:5853bf44af9f
|
7163
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7164
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
7165
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7166
|
IoWMIRegistrationControl(
|
sca8er |
2:5853bf44af9f
|
7167
|
/*IN*/ PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
7168
|
/*IN*/ ULONG Action);
|
sca8er |
2:5853bf44af9f
|
7169
|
|
sca8er |
2:5853bf44af9f
|
7170
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7171
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
7172
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7173
|
IoWMISetNotificationCallback(
|
sca8er |
2:5853bf44af9f
|
7174
|
/*IN*/ PVOID Object,
|
sca8er |
2:5853bf44af9f
|
7175
|
/*IN*/ WMI_NOTIFICATION_CALLBACK Callback,
|
sca8er |
2:5853bf44af9f
|
7176
|
/*IN*/ PVOID Context);
|
sca8er |
2:5853bf44af9f
|
7177
|
|
sca8er |
2:5853bf44af9f
|
7178
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7179
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
7180
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7181
|
IoWMISetSingleInstance(
|
sca8er |
2:5853bf44af9f
|
7182
|
/*IN*/ PVOID DataBlockObject,
|
sca8er |
2:5853bf44af9f
|
7183
|
/*IN*/ PUNICODE_STRING InstanceName,
|
sca8er |
2:5853bf44af9f
|
7184
|
/*IN*/ ULONG Version,
|
sca8er |
2:5853bf44af9f
|
7185
|
/*IN*/ ULONG ValueBufferSize,
|
sca8er |
2:5853bf44af9f
|
7186
|
/*IN*/ PVOID ValueBuffer);
|
sca8er |
2:5853bf44af9f
|
7187
|
|
sca8er |
2:5853bf44af9f
|
7188
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7189
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
7190
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7191
|
IoWMISetSingleItem(
|
sca8er |
2:5853bf44af9f
|
7192
|
/*IN*/ PVOID DataBlockObject,
|
sca8er |
2:5853bf44af9f
|
7193
|
/*IN*/ PUNICODE_STRING InstanceName,
|
sca8er |
2:5853bf44af9f
|
7194
|
/*IN*/ ULONG DataItemId,
|
sca8er |
2:5853bf44af9f
|
7195
|
/*IN*/ ULONG Version,
|
sca8er |
2:5853bf44af9f
|
7196
|
/*IN*/ ULONG ValueBufferSize,
|
sca8er |
2:5853bf44af9f
|
7197
|
/*IN*/ PVOID ValueBuffer);
|
sca8er |
2:5853bf44af9f
|
7198
|
|
sca8er |
2:5853bf44af9f
|
7199
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7200
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
7201
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7202
|
IoWMISuggestInstanceName(
|
sca8er |
2:5853bf44af9f
|
7203
|
/*IN*/ PDEVICE_OBJECT PhysicalDeviceObject /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
7204
|
/*IN*/ PUNICODE_STRING SymbolicLinkName /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
7205
|
/*IN*/ BOOLEAN CombineNames,
|
sca8er |
2:5853bf44af9f
|
7206
|
/*OUT*/ PUNICODE_STRING SuggestedInstanceName);
|
sca8er |
2:5853bf44af9f
|
7207
|
|
sca8er |
2:5853bf44af9f
|
7208
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7209
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
7210
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7211
|
IoWMIWriteEvent(
|
sca8er |
2:5853bf44af9f
|
7212
|
/*IN*/ PVOID WnodeEventItem);
|
sca8er |
2:5853bf44af9f
|
7213
|
|
sca8er |
2:5853bf44af9f
|
7214
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7215
|
VOID
|
sca8er |
2:5853bf44af9f
|
7216
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7217
|
IoWriteErrorLogEntry(
|
sca8er |
2:5853bf44af9f
|
7218
|
/*IN*/ PVOID ElEntry);
|
sca8er |
2:5853bf44af9f
|
7219
|
|
sca8er |
2:5853bf44af9f
|
7220
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7221
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
7222
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7223
|
IoWritePartitionTableEx(
|
sca8er |
2:5853bf44af9f
|
7224
|
/*IN*/ PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
7225
|
/*IN*/ struct _DRIVE_LAYOUT_INFORMATION_EX *PartitionBuffer);
|
sca8er |
2:5853bf44af9f
|
7226
|
|
sca8er |
2:5853bf44af9f
|
7227
|
|
sca8er |
2:5853bf44af9f
|
7228
|
|
sca8er |
2:5853bf44af9f
|
7229
|
/** Kernel routines **/
|
sca8er |
2:5853bf44af9f
|
7230
|
|
sca8er |
2:5853bf44af9f
|
7231
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7232
|
VOID
|
sca8er |
2:5853bf44af9f
|
7233
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
7234
|
KeAcquireInStackQueuedSpinLock(
|
sca8er |
2:5853bf44af9f
|
7235
|
/*IN*/ PKSPIN_LOCK SpinLock,
|
sca8er |
2:5853bf44af9f
|
7236
|
/*IN*/ PKLOCK_QUEUE_HANDLE LockHandle);
|
sca8er |
2:5853bf44af9f
|
7237
|
|
sca8er |
2:5853bf44af9f
|
7238
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7239
|
VOID
|
sca8er |
2:5853bf44af9f
|
7240
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
7241
|
KeAcquireInStackQueuedSpinLockAtDpcLevel(
|
sca8er |
2:5853bf44af9f
|
7242
|
/*IN*/ PKSPIN_LOCK SpinLock,
|
sca8er |
2:5853bf44af9f
|
7243
|
/*IN*/ PKLOCK_QUEUE_HANDLE LockHandle);
|
sca8er |
2:5853bf44af9f
|
7244
|
|
sca8er |
2:5853bf44af9f
|
7245
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7246
|
KIRQL
|
sca8er |
2:5853bf44af9f
|
7247
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7248
|
KeAcquireInterruptSpinLock(
|
sca8er |
2:5853bf44af9f
|
7249
|
/*IN*/ PKINTERRUPT Interrupt);
|
sca8er |
2:5853bf44af9f
|
7250
|
|
sca8er |
2:5853bf44af9f
|
7251
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7252
|
VOID
|
sca8er |
2:5853bf44af9f
|
7253
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7254
|
KeAcquireSpinLock(
|
sca8er |
2:5853bf44af9f
|
7255
|
/*IN*/ PKSPIN_LOCK SpinLock,
|
sca8er |
2:5853bf44af9f
|
7256
|
/*OUT*/ PKIRQL OldIrql);
|
sca8er |
2:5853bf44af9f
|
7257
|
|
sca8er |
2:5853bf44af9f
|
7258
|
/* System Service Dispatch Table */
|
sca8er |
2:5853bf44af9f
|
7259
|
typedef PVOID (NTAPI * SSDT)(VOID);
|
sca8er |
2:5853bf44af9f
|
7260
|
typedef SSDT * PSSDT;
|
sca8er |
2:5853bf44af9f
|
7261
|
|
sca8er |
2:5853bf44af9f
|
7262
|
/* System Service Parameters Table */
|
sca8er |
2:5853bf44af9f
|
7263
|
typedef UCHAR SSPT, * PSSPT;
|
sca8er |
2:5853bf44af9f
|
7264
|
|
sca8er |
2:5853bf44af9f
|
7265
|
typedef struct _SSDT_ENTRY {
|
sca8er |
2:5853bf44af9f
|
7266
|
PSSDT SSDT;
|
sca8er |
2:5853bf44af9f
|
7267
|
PULONG ServiceCounterTable;
|
sca8er |
2:5853bf44af9f
|
7268
|
ULONG NumberOfServices;
|
sca8er |
2:5853bf44af9f
|
7269
|
PSSPT SSPT;
|
sca8er |
2:5853bf44af9f
|
7270
|
} SSDT_ENTRY, *PSSDT_ENTRY;
|
sca8er |
2:5853bf44af9f
|
7271
|
|
sca8er |
2:5853bf44af9f
|
7272
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7273
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
7274
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7275
|
KeAddSystemServiceTable(
|
sca8er |
2:5853bf44af9f
|
7276
|
/*IN*/ PSSDT SSDT,
|
sca8er |
2:5853bf44af9f
|
7277
|
/*IN*/ PULONG ServiceCounterTable,
|
sca8er |
2:5853bf44af9f
|
7278
|
/*IN*/ ULONG NumberOfServices,
|
sca8er |
2:5853bf44af9f
|
7279
|
/*IN*/ PSSPT SSPT,
|
sca8er |
2:5853bf44af9f
|
7280
|
/*IN*/ ULONG TableIndex);
|
sca8er |
2:5853bf44af9f
|
7281
|
|
sca8er |
2:5853bf44af9f
|
7282
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7283
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
7284
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7285
|
KeAreApcsDisabled(
|
sca8er |
2:5853bf44af9f
|
7286
|
VOID);
|
sca8er |
2:5853bf44af9f
|
7287
|
|
sca8er |
2:5853bf44af9f
|
7288
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7289
|
VOID
|
sca8er |
2:5853bf44af9f
|
7290
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7291
|
KeAttachProcess(
|
sca8er |
2:5853bf44af9f
|
7292
|
/*IN*/ PEPROCESS Process);
|
sca8er |
2:5853bf44af9f
|
7293
|
|
sca8er |
2:5853bf44af9f
|
7294
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7295
|
VOID
|
sca8er |
2:5853bf44af9f
|
7296
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7297
|
KeBugCheck(
|
sca8er |
2:5853bf44af9f
|
7298
|
/*IN*/ ULONG BugCheckCode);
|
sca8er |
2:5853bf44af9f
|
7299
|
|
sca8er |
2:5853bf44af9f
|
7300
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7301
|
VOID
|
sca8er |
2:5853bf44af9f
|
7302
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7303
|
KeBugCheckEx(
|
sca8er |
2:5853bf44af9f
|
7304
|
/*IN*/ ULONG BugCheckCode,
|
sca8er |
2:5853bf44af9f
|
7305
|
/*IN*/ ULONG_PTR BugCheckParameter1,
|
sca8er |
2:5853bf44af9f
|
7306
|
/*IN*/ ULONG_PTR BugCheckParameter2,
|
sca8er |
2:5853bf44af9f
|
7307
|
/*IN*/ ULONG_PTR BugCheckParameter3,
|
sca8er |
2:5853bf44af9f
|
7308
|
/*IN*/ ULONG_PTR BugCheckParameter4);
|
sca8er |
2:5853bf44af9f
|
7309
|
|
sca8er |
2:5853bf44af9f
|
7310
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7311
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
7312
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7313
|
KeCancelTimer(
|
sca8er |
2:5853bf44af9f
|
7314
|
/*IN*/ PKTIMER Timer);
|
sca8er |
2:5853bf44af9f
|
7315
|
|
sca8er |
2:5853bf44af9f
|
7316
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7317
|
VOID
|
sca8er |
2:5853bf44af9f
|
7318
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7319
|
KeClearEvent(
|
sca8er |
2:5853bf44af9f
|
7320
|
/*IN*/ PRKEVENT Event);
|
sca8er |
2:5853bf44af9f
|
7321
|
|
sca8er |
2:5853bf44af9f
|
7322
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7323
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
7324
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7325
|
KeDelayExecutionThread(
|
sca8er |
2:5853bf44af9f
|
7326
|
/*IN*/ KPROCESSOR_MODE WaitMode,
|
sca8er |
2:5853bf44af9f
|
7327
|
/*IN*/ BOOLEAN Alertable,
|
sca8er |
2:5853bf44af9f
|
7328
|
/*IN*/ PLARGE_INTEGER Interval);
|
sca8er |
2:5853bf44af9f
|
7329
|
|
sca8er |
2:5853bf44af9f
|
7330
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7331
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
7332
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7333
|
KeDeregisterBugCheckCallback(
|
sca8er |
2:5853bf44af9f
|
7334
|
/*IN*/ PKBUGCHECK_CALLBACK_RECORD CallbackRecord);
|
sca8er |
2:5853bf44af9f
|
7335
|
|
sca8er |
2:5853bf44af9f
|
7336
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7337
|
VOID
|
sca8er |
2:5853bf44af9f
|
7338
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7339
|
KeDetachProcess(
|
sca8er |
2:5853bf44af9f
|
7340
|
VOID);
|
sca8er |
2:5853bf44af9f
|
7341
|
|
sca8er |
2:5853bf44af9f
|
7342
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7343
|
VOID
|
sca8er |
2:5853bf44af9f
|
7344
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7345
|
KeEnterCriticalRegion(
|
sca8er |
2:5853bf44af9f
|
7346
|
VOID);
|
sca8er |
2:5853bf44af9f
|
7347
|
|
sca8er |
2:5853bf44af9f
|
7348
|
/*
|
sca8er |
2:5853bf44af9f
|
7349
|
* VOID
|
sca8er |
2:5853bf44af9f
|
7350
|
* KeFlushIoBuffers(
|
sca8er |
2:5853bf44af9f
|
7351
|
* IN PMDL Mdl,
|
sca8er |
2:5853bf44af9f
|
7352
|
* IN BOOLEAN ReadOperation,
|
sca8er |
2:5853bf44af9f
|
7353
|
* IN BOOLEAN DmaOperation)
|
sca8er |
2:5853bf44af9f
|
7354
|
*/
|
sca8er |
2:5853bf44af9f
|
7355
|
#define KeFlushIoBuffers(_Mdl, _ReadOperation, _DmaOperation)
|
sca8er |
2:5853bf44af9f
|
7356
|
|
sca8er |
2:5853bf44af9f
|
7357
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7358
|
VOID
|
sca8er |
2:5853bf44af9f
|
7359
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7360
|
KeFlushQueuedDpcs(VOID);
|
sca8er |
2:5853bf44af9f
|
7361
|
|
sca8er |
2:5853bf44af9f
|
7362
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7363
|
PRKTHREAD
|
sca8er |
2:5853bf44af9f
|
7364
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7365
|
KeGetCurrentThread(
|
sca8er |
2:5853bf44af9f
|
7366
|
VOID);
|
sca8er |
2:5853bf44af9f
|
7367
|
|
sca8er |
2:5853bf44af9f
|
7368
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7369
|
KPROCESSOR_MODE
|
sca8er |
2:5853bf44af9f
|
7370
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7371
|
KeGetPreviousMode(
|
sca8er |
2:5853bf44af9f
|
7372
|
VOID);
|
sca8er |
2:5853bf44af9f
|
7373
|
|
sca8er |
2:5853bf44af9f
|
7374
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7375
|
ULONG
|
sca8er |
2:5853bf44af9f
|
7376
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7377
|
KeGetRecommendedSharedDataAlignment(
|
sca8er |
2:5853bf44af9f
|
7378
|
VOID);
|
sca8er |
2:5853bf44af9f
|
7379
|
|
sca8er |
2:5853bf44af9f
|
7380
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7381
|
VOID
|
sca8er |
2:5853bf44af9f
|
7382
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7383
|
KeInitializeApc(
|
sca8er |
2:5853bf44af9f
|
7384
|
/*IN*/ PKAPC Apc,
|
sca8er |
2:5853bf44af9f
|
7385
|
/*IN*/ PKTHREAD Thread,
|
sca8er |
2:5853bf44af9f
|
7386
|
/*IN*/ UCHAR StateIndex,
|
sca8er |
2:5853bf44af9f
|
7387
|
/*IN*/ PKKERNEL_ROUTINE KernelRoutine,
|
sca8er |
2:5853bf44af9f
|
7388
|
/*IN*/ PKRUNDOWN_ROUTINE RundownRoutine,
|
sca8er |
2:5853bf44af9f
|
7389
|
/*IN*/ PKNORMAL_ROUTINE NormalRoutine,
|
sca8er |
2:5853bf44af9f
|
7390
|
/*IN*/ UCHAR Mode,
|
sca8er |
2:5853bf44af9f
|
7391
|
/*IN*/ PVOID Context);
|
sca8er |
2:5853bf44af9f
|
7392
|
|
sca8er |
2:5853bf44af9f
|
7393
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7394
|
VOID
|
sca8er |
2:5853bf44af9f
|
7395
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7396
|
KeInitializeDeviceQueue(
|
sca8er |
2:5853bf44af9f
|
7397
|
/*IN*/ PKDEVICE_QUEUE DeviceQueue);
|
sca8er |
2:5853bf44af9f
|
7398
|
|
sca8er |
2:5853bf44af9f
|
7399
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7400
|
VOID
|
sca8er |
2:5853bf44af9f
|
7401
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7402
|
KeInitializeMutex(
|
sca8er |
2:5853bf44af9f
|
7403
|
/*IN*/ PRKMUTEX Mutex,
|
sca8er |
2:5853bf44af9f
|
7404
|
/*IN*/ ULONG Level);
|
sca8er |
2:5853bf44af9f
|
7405
|
|
sca8er |
2:5853bf44af9f
|
7406
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7407
|
VOID
|
sca8er |
2:5853bf44af9f
|
7408
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7409
|
KeInitializeSemaphore(
|
sca8er |
2:5853bf44af9f
|
7410
|
/*IN*/ PRKSEMAPHORE Semaphore,
|
sca8er |
2:5853bf44af9f
|
7411
|
/*IN*/ LONG Count,
|
sca8er |
2:5853bf44af9f
|
7412
|
/*IN*/ LONG Limit);
|
sca8er |
2:5853bf44af9f
|
7413
|
|
sca8er |
2:5853bf44af9f
|
7414
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7415
|
VOID
|
sca8er |
2:5853bf44af9f
|
7416
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7417
|
KeInitializeSpinLock(
|
sca8er |
2:5853bf44af9f
|
7418
|
/*IN*/ PKSPIN_LOCK SpinLock);
|
sca8er |
2:5853bf44af9f
|
7419
|
|
sca8er |
2:5853bf44af9f
|
7420
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7421
|
VOID
|
sca8er |
2:5853bf44af9f
|
7422
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7423
|
KeInitializeTimer(
|
sca8er |
2:5853bf44af9f
|
7424
|
/*IN*/ PKTIMER Timer);
|
sca8er |
2:5853bf44af9f
|
7425
|
|
sca8er |
2:5853bf44af9f
|
7426
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7427
|
VOID
|
sca8er |
2:5853bf44af9f
|
7428
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7429
|
KeInitializeTimerEx(
|
sca8er |
2:5853bf44af9f
|
7430
|
/*IN*/ PKTIMER Timer,
|
sca8er |
2:5853bf44af9f
|
7431
|
/*IN*/ TIMER_TYPE Type);
|
sca8er |
2:5853bf44af9f
|
7432
|
|
sca8er |
2:5853bf44af9f
|
7433
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7434
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
7435
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7436
|
KeInsertByKeyDeviceQueue(
|
sca8er |
2:5853bf44af9f
|
7437
|
/*IN*/ PKDEVICE_QUEUE DeviceQueue,
|
sca8er |
2:5853bf44af9f
|
7438
|
/*IN*/ PKDEVICE_QUEUE_ENTRY DeviceQueueEntry,
|
sca8er |
2:5853bf44af9f
|
7439
|
/*IN*/ ULONG SortKey);
|
sca8er |
2:5853bf44af9f
|
7440
|
|
sca8er |
2:5853bf44af9f
|
7441
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7442
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
7443
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7444
|
KeInsertDeviceQueue(
|
sca8er |
2:5853bf44af9f
|
7445
|
/*IN*/ PKDEVICE_QUEUE DeviceQueue,
|
sca8er |
2:5853bf44af9f
|
7446
|
/*IN*/ PKDEVICE_QUEUE_ENTRY DeviceQueueEntry);
|
sca8er |
2:5853bf44af9f
|
7447
|
|
sca8er |
2:5853bf44af9f
|
7448
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7449
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
7450
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7451
|
KeInsertQueueDpc(
|
sca8er |
2:5853bf44af9f
|
7452
|
/*IN*/ PRKDPC Dpc,
|
sca8er |
2:5853bf44af9f
|
7453
|
/*IN*/ PVOID SystemArgument1,
|
sca8er |
2:5853bf44af9f
|
7454
|
/*IN*/ PVOID SystemArgument2);
|
sca8er |
2:5853bf44af9f
|
7455
|
|
sca8er |
2:5853bf44af9f
|
7456
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7457
|
VOID
|
sca8er |
2:5853bf44af9f
|
7458
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7459
|
KeLeaveCriticalRegion(
|
sca8er |
2:5853bf44af9f
|
7460
|
VOID);
|
sca8er |
2:5853bf44af9f
|
7461
|
|
sca8er |
2:5853bf44af9f
|
7462
|
#define KeMemoryBarrier() asm("mfence;")
|
sca8er |
2:5853bf44af9f
|
7463
|
|
sca8er |
2:5853bf44af9f
|
7464
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7465
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
7466
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7467
|
KePulseEvent(
|
sca8er |
2:5853bf44af9f
|
7468
|
/*IN*/ PRKEVENT Event,
|
sca8er |
2:5853bf44af9f
|
7469
|
/*IN*/ KPRIORITY Increment,
|
sca8er |
2:5853bf44af9f
|
7470
|
/*IN*/ BOOLEAN Wait);
|
sca8er |
2:5853bf44af9f
|
7471
|
|
sca8er |
2:5853bf44af9f
|
7472
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7473
|
ULONGLONG
|
sca8er |
2:5853bf44af9f
|
7474
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7475
|
KeQueryInterruptTime(
|
sca8er |
2:5853bf44af9f
|
7476
|
VOID);
|
sca8er |
2:5853bf44af9f
|
7477
|
|
sca8er |
2:5853bf44af9f
|
7478
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7479
|
LARGE_INTEGER
|
sca8er |
2:5853bf44af9f
|
7480
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7481
|
KeQueryPerformanceCounter(
|
sca8er |
2:5853bf44af9f
|
7482
|
/*OUT*/ PLARGE_INTEGER PerformanceFrequency /*OPTIONAL*/);
|
sca8er |
2:5853bf44af9f
|
7483
|
|
sca8er |
2:5853bf44af9f
|
7484
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7485
|
KPRIORITY
|
sca8er |
2:5853bf44af9f
|
7486
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7487
|
KeQueryPriorityThread(
|
sca8er |
2:5853bf44af9f
|
7488
|
/*IN*/ PRKTHREAD Thread);
|
sca8er |
2:5853bf44af9f
|
7489
|
|
sca8er |
2:5853bf44af9f
|
7490
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7491
|
VOID
|
sca8er |
2:5853bf44af9f
|
7492
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7493
|
KeQuerySystemTime(
|
sca8er |
2:5853bf44af9f
|
7494
|
/*OUT*/ PLARGE_INTEGER CurrentTime);
|
sca8er |
2:5853bf44af9f
|
7495
|
|
sca8er |
2:5853bf44af9f
|
7496
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7497
|
VOID
|
sca8er |
2:5853bf44af9f
|
7498
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7499
|
KeQueryTickCount(
|
sca8er |
2:5853bf44af9f
|
7500
|
/*OUT*/ PLARGE_INTEGER TickCount);
|
sca8er |
2:5853bf44af9f
|
7501
|
|
sca8er |
2:5853bf44af9f
|
7502
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7503
|
ULONG
|
sca8er |
2:5853bf44af9f
|
7504
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7505
|
KeQueryTimeIncrement(
|
sca8er |
2:5853bf44af9f
|
7506
|
VOID);
|
sca8er |
2:5853bf44af9f
|
7507
|
|
sca8er |
2:5853bf44af9f
|
7508
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7509
|
LONG
|
sca8er |
2:5853bf44af9f
|
7510
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7511
|
KeReadStateEvent(
|
sca8er |
2:5853bf44af9f
|
7512
|
/*IN*/ PRKEVENT Event);
|
sca8er |
2:5853bf44af9f
|
7513
|
|
sca8er |
2:5853bf44af9f
|
7514
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7515
|
LONG
|
sca8er |
2:5853bf44af9f
|
7516
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7517
|
KeReadStateMutex(
|
sca8er |
2:5853bf44af9f
|
7518
|
/*IN*/ PRKMUTEX Mutex);
|
sca8er |
2:5853bf44af9f
|
7519
|
|
sca8er |
2:5853bf44af9f
|
7520
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7521
|
LONG
|
sca8er |
2:5853bf44af9f
|
7522
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7523
|
KeReadStateSemaphore(
|
sca8er |
2:5853bf44af9f
|
7524
|
/*IN*/ PRKSEMAPHORE Semaphore);
|
sca8er |
2:5853bf44af9f
|
7525
|
|
sca8er |
2:5853bf44af9f
|
7526
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7527
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
7528
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7529
|
KeReadStateTimer(
|
sca8er |
2:5853bf44af9f
|
7530
|
/*IN*/ PKTIMER Timer);
|
sca8er |
2:5853bf44af9f
|
7531
|
|
sca8er |
2:5853bf44af9f
|
7532
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7533
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
7534
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7535
|
KeRegisterBugCheckCallback(
|
sca8er |
2:5853bf44af9f
|
7536
|
/*IN*/ PKBUGCHECK_CALLBACK_RECORD CallbackRecord,
|
sca8er |
2:5853bf44af9f
|
7537
|
/*IN*/ PKBUGCHECK_CALLBACK_ROUTINE CallbackRoutine,
|
sca8er |
2:5853bf44af9f
|
7538
|
/*IN*/ PVOID Buffer,
|
sca8er |
2:5853bf44af9f
|
7539
|
/*IN*/ ULONG Length,
|
sca8er |
2:5853bf44af9f
|
7540
|
/*IN*/ PUCHAR Component);
|
sca8er |
2:5853bf44af9f
|
7541
|
|
sca8er |
2:5853bf44af9f
|
7542
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7543
|
VOID
|
sca8er |
2:5853bf44af9f
|
7544
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
7545
|
KeReleaseInStackQueuedSpinLock(
|
sca8er |
2:5853bf44af9f
|
7546
|
/*IN*/ PKLOCK_QUEUE_HANDLE LockHandle);
|
sca8er |
2:5853bf44af9f
|
7547
|
|
sca8er |
2:5853bf44af9f
|
7548
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7549
|
VOID
|
sca8er |
2:5853bf44af9f
|
7550
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
7551
|
KeReleaseInStackQueuedSpinLockFromDpcLevel(
|
sca8er |
2:5853bf44af9f
|
7552
|
/*IN*/ PKLOCK_QUEUE_HANDLE LockHandle);
|
sca8er |
2:5853bf44af9f
|
7553
|
|
sca8er |
2:5853bf44af9f
|
7554
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7555
|
VOID
|
sca8er |
2:5853bf44af9f
|
7556
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7557
|
KeReleaseInterruptSpinLock(
|
sca8er |
2:5853bf44af9f
|
7558
|
/*IN*/ PKINTERRUPT Interrupt,
|
sca8er |
2:5853bf44af9f
|
7559
|
/*IN*/ KIRQL OldIrql);
|
sca8er |
2:5853bf44af9f
|
7560
|
|
sca8er |
2:5853bf44af9f
|
7561
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7562
|
LONG
|
sca8er |
2:5853bf44af9f
|
7563
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7564
|
KeReleaseMutex(
|
sca8er |
2:5853bf44af9f
|
7565
|
/*IN*/ PRKMUTEX Mutex,
|
sca8er |
2:5853bf44af9f
|
7566
|
/*IN*/ BOOLEAN Wait);
|
sca8er |
2:5853bf44af9f
|
7567
|
|
sca8er |
2:5853bf44af9f
|
7568
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7569
|
LONG
|
sca8er |
2:5853bf44af9f
|
7570
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7571
|
KeReleaseSemaphore(
|
sca8er |
2:5853bf44af9f
|
7572
|
/*IN*/ PRKSEMAPHORE Semaphore,
|
sca8er |
2:5853bf44af9f
|
7573
|
/*IN*/ KPRIORITY Increment,
|
sca8er |
2:5853bf44af9f
|
7574
|
/*IN*/ LONG Adjustment,
|
sca8er |
2:5853bf44af9f
|
7575
|
/*IN*/ BOOLEAN Wait);
|
sca8er |
2:5853bf44af9f
|
7576
|
|
sca8er |
2:5853bf44af9f
|
7577
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7578
|
VOID
|
sca8er |
2:5853bf44af9f
|
7579
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7580
|
KeReleaseSpinLock(
|
sca8er |
2:5853bf44af9f
|
7581
|
/*IN*/ PKSPIN_LOCK SpinLock,
|
sca8er |
2:5853bf44af9f
|
7582
|
/*IN*/ KIRQL NewIrql);
|
sca8er |
2:5853bf44af9f
|
7583
|
|
sca8er |
2:5853bf44af9f
|
7584
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7585
|
PKDEVICE_QUEUE_ENTRY
|
sca8er |
2:5853bf44af9f
|
7586
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7587
|
KeRemoveByKeyDeviceQueue(
|
sca8er |
2:5853bf44af9f
|
7588
|
/*IN*/ PKDEVICE_QUEUE DeviceQueue,
|
sca8er |
2:5853bf44af9f
|
7589
|
/*IN*/ ULONG SortKey);
|
sca8er |
2:5853bf44af9f
|
7590
|
|
sca8er |
2:5853bf44af9f
|
7591
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7592
|
PKDEVICE_QUEUE_ENTRY
|
sca8er |
2:5853bf44af9f
|
7593
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7594
|
KeRemoveDeviceQueue(
|
sca8er |
2:5853bf44af9f
|
7595
|
/*IN*/ PKDEVICE_QUEUE DeviceQueue);
|
sca8er |
2:5853bf44af9f
|
7596
|
|
sca8er |
2:5853bf44af9f
|
7597
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7598
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
7599
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7600
|
KeRemoveEntryDeviceQueue(
|
sca8er |
2:5853bf44af9f
|
7601
|
/*IN*/ PKDEVICE_QUEUE DeviceQueue,
|
sca8er |
2:5853bf44af9f
|
7602
|
/*IN*/ PKDEVICE_QUEUE_ENTRY DeviceQueueEntry);
|
sca8er |
2:5853bf44af9f
|
7603
|
|
sca8er |
2:5853bf44af9f
|
7604
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7605
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
7606
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7607
|
KeRemoveQueueDpc(
|
sca8er |
2:5853bf44af9f
|
7608
|
/*IN*/ PRKDPC Dpc);
|
sca8er |
2:5853bf44af9f
|
7609
|
|
sca8er |
2:5853bf44af9f
|
7610
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7611
|
LONG
|
sca8er |
2:5853bf44af9f
|
7612
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7613
|
KeResetEvent(
|
sca8er |
2:5853bf44af9f
|
7614
|
/*IN*/ PRKEVENT Event);
|
sca8er |
2:5853bf44af9f
|
7615
|
|
sca8er |
2:5853bf44af9f
|
7616
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7617
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
7618
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7619
|
KeRestoreFloatingPointState(
|
sca8er |
2:5853bf44af9f
|
7620
|
/*IN*/ PKFLOATING_SAVE FloatSave);
|
sca8er |
2:5853bf44af9f
|
7621
|
|
sca8er |
2:5853bf44af9f
|
7622
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7623
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
7624
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7625
|
KeSaveFloatingPointState(
|
sca8er |
2:5853bf44af9f
|
7626
|
/*OUT*/ PKFLOATING_SAVE FloatSave);
|
sca8er |
2:5853bf44af9f
|
7627
|
|
sca8er |
2:5853bf44af9f
|
7628
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7629
|
LONG
|
sca8er |
2:5853bf44af9f
|
7630
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7631
|
KeSetBasePriorityThread(
|
sca8er |
2:5853bf44af9f
|
7632
|
/*IN*/ PRKTHREAD Thread,
|
sca8er |
2:5853bf44af9f
|
7633
|
/*IN*/ LONG Increment);
|
sca8er |
2:5853bf44af9f
|
7634
|
|
sca8er |
2:5853bf44af9f
|
7635
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7636
|
LONG
|
sca8er |
2:5853bf44af9f
|
7637
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7638
|
KeSetEvent(
|
sca8er |
2:5853bf44af9f
|
7639
|
/*IN*/ PRKEVENT Event,
|
sca8er |
2:5853bf44af9f
|
7640
|
/*IN*/ KPRIORITY Increment,
|
sca8er |
2:5853bf44af9f
|
7641
|
/*IN*/ BOOLEAN Wait);
|
sca8er |
2:5853bf44af9f
|
7642
|
|
sca8er |
2:5853bf44af9f
|
7643
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7644
|
VOID
|
sca8er |
2:5853bf44af9f
|
7645
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7646
|
KeSetImportanceDpc(
|
sca8er |
2:5853bf44af9f
|
7647
|
/*IN*/ PRKDPC Dpc,
|
sca8er |
2:5853bf44af9f
|
7648
|
/*IN*/ KDPC_IMPORTANCE Importance);
|
sca8er |
2:5853bf44af9f
|
7649
|
|
sca8er |
2:5853bf44af9f
|
7650
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7651
|
KPRIORITY
|
sca8er |
2:5853bf44af9f
|
7652
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7653
|
KeSetPriorityThread(
|
sca8er |
2:5853bf44af9f
|
7654
|
/*IN*/ PKTHREAD Thread,
|
sca8er |
2:5853bf44af9f
|
7655
|
/*IN*/ KPRIORITY Priority);
|
sca8er |
2:5853bf44af9f
|
7656
|
|
sca8er |
2:5853bf44af9f
|
7657
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7658
|
VOID
|
sca8er |
2:5853bf44af9f
|
7659
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7660
|
KeSetTargetProcessorDpc(
|
sca8er |
2:5853bf44af9f
|
7661
|
/*IN*/ PRKDPC Dpc,
|
sca8er |
2:5853bf44af9f
|
7662
|
/*IN*/ CCHAR Number);
|
sca8er |
2:5853bf44af9f
|
7663
|
|
sca8er |
2:5853bf44af9f
|
7664
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7665
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
7666
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7667
|
KeSetTimer(
|
sca8er |
2:5853bf44af9f
|
7668
|
/*IN*/ PKTIMER Timer,
|
sca8er |
2:5853bf44af9f
|
7669
|
/*IN*/ LARGE_INTEGER DueTime,
|
sca8er |
2:5853bf44af9f
|
7670
|
/*IN*/ PKDPC Dpc /*OPTIONAL*/);
|
sca8er |
2:5853bf44af9f
|
7671
|
|
sca8er |
2:5853bf44af9f
|
7672
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7673
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
7674
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7675
|
KeSetTimerEx(
|
sca8er |
2:5853bf44af9f
|
7676
|
/*IN*/ PKTIMER Timer,
|
sca8er |
2:5853bf44af9f
|
7677
|
/*IN*/ LARGE_INTEGER DueTime,
|
sca8er |
2:5853bf44af9f
|
7678
|
/*IN*/ LONG Period /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
7679
|
/*IN*/ PKDPC Dpc /*OPTIONAL*/);
|
sca8er |
2:5853bf44af9f
|
7680
|
|
sca8er |
2:5853bf44af9f
|
7681
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7682
|
VOID
|
sca8er |
2:5853bf44af9f
|
7683
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
7684
|
KeSetTimeUpdateNotifyRoutine(
|
sca8er |
2:5853bf44af9f
|
7685
|
/*IN*/ PTIME_UPDATE_NOTIFY_ROUTINE NotifyRoutine);
|
sca8er |
2:5853bf44af9f
|
7686
|
|
sca8er |
2:5853bf44af9f
|
7687
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7688
|
VOID
|
sca8er |
2:5853bf44af9f
|
7689
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7690
|
KeStallExecutionProcessor(
|
sca8er |
2:5853bf44af9f
|
7691
|
/*IN*/ ULONG MicroSeconds);
|
sca8er |
2:5853bf44af9f
|
7692
|
|
sca8er |
2:5853bf44af9f
|
7693
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7694
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
7695
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7696
|
KeSynchronizeExecution(
|
sca8er |
2:5853bf44af9f
|
7697
|
/*IN*/ PKINTERRUPT Interrupt,
|
sca8er |
2:5853bf44af9f
|
7698
|
/*IN*/ PKSYNCHRONIZE_ROUTINE SynchronizeRoutine,
|
sca8er |
2:5853bf44af9f
|
7699
|
/*IN*/ PVOID SynchronizeContext);
|
sca8er |
2:5853bf44af9f
|
7700
|
|
sca8er |
2:5853bf44af9f
|
7701
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7702
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
7703
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7704
|
KeWaitForMultipleObjects(
|
sca8er |
2:5853bf44af9f
|
7705
|
/*IN*/ ULONG Count,
|
sca8er |
2:5853bf44af9f
|
7706
|
/*IN*/ PVOID Object[],
|
sca8er |
2:5853bf44af9f
|
7707
|
/*IN*/ WAIT_TYPE WaitType,
|
sca8er |
2:5853bf44af9f
|
7708
|
/*IN*/ KWAIT_REASON WaitReason,
|
sca8er |
2:5853bf44af9f
|
7709
|
/*IN*/ KPROCESSOR_MODE WaitMode,
|
sca8er |
2:5853bf44af9f
|
7710
|
/*IN*/ BOOLEAN Alertable,
|
sca8er |
2:5853bf44af9f
|
7711
|
/*IN*/ PLARGE_INTEGER Timeout /*OPTIONAL */,
|
sca8er |
2:5853bf44af9f
|
7712
|
/*IN*/ PKWAIT_BLOCK WaitBlockArray /*OPTIONAL*/);
|
sca8er |
2:5853bf44af9f
|
7713
|
|
sca8er |
2:5853bf44af9f
|
7714
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7715
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
7716
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7717
|
KeWaitForMutexObject(
|
sca8er |
2:5853bf44af9f
|
7718
|
/*IN*/ PRKMUTEX Mutex,
|
sca8er |
2:5853bf44af9f
|
7719
|
/*IN*/ KWAIT_REASON WaitReason,
|
sca8er |
2:5853bf44af9f
|
7720
|
/*IN*/ KPROCESSOR_MODE WaitMode,
|
sca8er |
2:5853bf44af9f
|
7721
|
/*IN*/ BOOLEAN Alertable,
|
sca8er |
2:5853bf44af9f
|
7722
|
/*IN*/ PLARGE_INTEGER Timeout /*OPTIONAL*/);
|
sca8er |
2:5853bf44af9f
|
7723
|
|
sca8er |
2:5853bf44af9f
|
7724
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7725
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
7726
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7727
|
KeWaitForSingleObject(
|
sca8er |
2:5853bf44af9f
|
7728
|
/*IN*/ PVOID Object,
|
sca8er |
2:5853bf44af9f
|
7729
|
/*IN*/ KWAIT_REASON WaitReason,
|
sca8er |
2:5853bf44af9f
|
7730
|
/*IN*/ KPROCESSOR_MODE WaitMode,
|
sca8er |
2:5853bf44af9f
|
7731
|
/*IN*/ BOOLEAN Alertable,
|
sca8er |
2:5853bf44af9f
|
7732
|
/*IN*/ PLARGE_INTEGER Timeout /*OPTIONAL*/);
|
sca8er |
2:5853bf44af9f
|
7733
|
|
sca8er |
2:5853bf44af9f
|
7734
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7735
|
VOID
|
sca8er |
2:5853bf44af9f
|
7736
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7737
|
KeRaiseIrql(
|
sca8er |
2:5853bf44af9f
|
7738
|
/*IN*/ KIRQL new_irql,
|
sca8er |
2:5853bf44af9f
|
7739
|
/*OUT*/ PKIRQL old_irql);
|
sca8er |
2:5853bf44af9f
|
7740
|
|
sca8er |
2:5853bf44af9f
|
7741
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7742
|
VOID
|
sca8er |
2:5853bf44af9f
|
7743
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7744
|
KeLowerIrql(
|
sca8er |
2:5853bf44af9f
|
7745
|
/*IN*/ KIRQL irql);
|
sca8er |
2:5853bf44af9f
|
7746
|
|
sca8er |
2:5853bf44af9f
|
7747
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7748
|
KIRQL
|
sca8er |
2:5853bf44af9f
|
7749
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7750
|
KeRaiseIrqlToDpcLevel(
|
sca8er |
2:5853bf44af9f
|
7751
|
VOID);
|
sca8er |
2:5853bf44af9f
|
7752
|
|
sca8er |
2:5853bf44af9f
|
7753
|
/** Memory manager routines **/
|
sca8er |
2:5853bf44af9f
|
7754
|
|
sca8er |
2:5853bf44af9f
|
7755
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7756
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
7757
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7758
|
MmAdvanceMdl(
|
sca8er |
2:5853bf44af9f
|
7759
|
/*IN*/ PMDL Mdl,
|
sca8er |
2:5853bf44af9f
|
7760
|
/*IN*/ ULONG NumberOfBytes);
|
sca8er |
2:5853bf44af9f
|
7761
|
|
sca8er |
2:5853bf44af9f
|
7762
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7763
|
PVOID
|
sca8er |
2:5853bf44af9f
|
7764
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7765
|
MmAllocateContiguousMemory(
|
sca8er |
2:5853bf44af9f
|
7766
|
/*IN*/ ULONG NumberOfBytes,
|
sca8er |
2:5853bf44af9f
|
7767
|
/*IN*/ PHYSICAL_ADDRESS HighestAcceptableAddress);
|
sca8er |
2:5853bf44af9f
|
7768
|
|
sca8er |
2:5853bf44af9f
|
7769
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7770
|
PVOID
|
sca8er |
2:5853bf44af9f
|
7771
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7772
|
MmAllocateContiguousMemorySpecifyCache(
|
sca8er |
2:5853bf44af9f
|
7773
|
/*IN*/ SIZE_T NumberOfBytes,
|
sca8er |
2:5853bf44af9f
|
7774
|
/*IN*/ PHYSICAL_ADDRESS LowestAcceptableAddress,
|
sca8er |
2:5853bf44af9f
|
7775
|
/*IN*/ PHYSICAL_ADDRESS HighestAcceptableAddress,
|
sca8er |
2:5853bf44af9f
|
7776
|
/*IN*/ PHYSICAL_ADDRESS BoundaryAddressMultiple /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
7777
|
/*IN*/ MEMORY_CACHING_TYPE CacheType);
|
sca8er |
2:5853bf44af9f
|
7778
|
|
sca8er |
2:5853bf44af9f
|
7779
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7780
|
PVOID
|
sca8er |
2:5853bf44af9f
|
7781
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7782
|
MmAllocateMappingAddress(
|
sca8er |
2:5853bf44af9f
|
7783
|
/*IN*/ SIZE_T NumberOfBytes,
|
sca8er |
2:5853bf44af9f
|
7784
|
/*IN*/ ULONG PoolTag);
|
sca8er |
2:5853bf44af9f
|
7785
|
|
sca8er |
2:5853bf44af9f
|
7786
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7787
|
PVOID
|
sca8er |
2:5853bf44af9f
|
7788
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7789
|
MmAllocateNonCachedMemory(
|
sca8er |
2:5853bf44af9f
|
7790
|
/*IN*/ ULONG NumberOfBytes);
|
sca8er |
2:5853bf44af9f
|
7791
|
|
sca8er |
2:5853bf44af9f
|
7792
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7793
|
PMDL
|
sca8er |
2:5853bf44af9f
|
7794
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7795
|
MmAllocatePagesForMdl(
|
sca8er |
2:5853bf44af9f
|
7796
|
/*IN*/ PHYSICAL_ADDRESS LowAddress,
|
sca8er |
2:5853bf44af9f
|
7797
|
/*IN*/ PHYSICAL_ADDRESS HighAddress,
|
sca8er |
2:5853bf44af9f
|
7798
|
/*IN*/ PHYSICAL_ADDRESS SkipBytes,
|
sca8er |
2:5853bf44af9f
|
7799
|
/*IN*/ SIZE_T TotalBytes);
|
sca8er |
2:5853bf44af9f
|
7800
|
|
sca8er |
2:5853bf44af9f
|
7801
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7802
|
VOID
|
sca8er |
2:5853bf44af9f
|
7803
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7804
|
MmBuildMdlForNonPagedPool(
|
sca8er |
2:5853bf44af9f
|
7805
|
/*IN OUT*/ PMDL MemoryDescriptorList);
|
sca8er |
2:5853bf44af9f
|
7806
|
|
sca8er |
2:5853bf44af9f
|
7807
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7808
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
7809
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7810
|
MmCreateSection(
|
sca8er |
2:5853bf44af9f
|
7811
|
/*OUT*/ PSECTION_OBJECT *SectionObject,
|
sca8er |
2:5853bf44af9f
|
7812
|
/*IN*/ ACCESS_MASK DesiredAccess,
|
sca8er |
2:5853bf44af9f
|
7813
|
/*IN*/ POBJECT_ATTRIBUTES ObjectAttributes /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
7814
|
/*IN*/ PLARGE_INTEGER MaximumSize,
|
sca8er |
2:5853bf44af9f
|
7815
|
/*IN*/ ULONG SectionPageProtection,
|
sca8er |
2:5853bf44af9f
|
7816
|
/*IN*/ ULONG AllocationAttributes,
|
sca8er |
2:5853bf44af9f
|
7817
|
/*IN*/ HANDLE FileHandle /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
7818
|
/*IN*/ PFILE_OBJECT File /*OPTIONAL*/);
|
sca8er |
2:5853bf44af9f
|
7819
|
|
sca8er |
2:5853bf44af9f
|
7820
|
typedef enum _MMFLUSH_TYPE {
|
sca8er |
2:5853bf44af9f
|
7821
|
MmFlushForDelete,
|
sca8er |
2:5853bf44af9f
|
7822
|
MmFlushForWrite
|
sca8er |
2:5853bf44af9f
|
7823
|
} MMFLUSH_TYPE;
|
sca8er |
2:5853bf44af9f
|
7824
|
|
sca8er |
2:5853bf44af9f
|
7825
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7826
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
7827
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7828
|
MmFlushImageSection(
|
sca8er |
2:5853bf44af9f
|
7829
|
/*IN*/ PSECTION_OBJECT_POINTERS SectionObjectPointer,
|
sca8er |
2:5853bf44af9f
|
7830
|
/*IN*/ MMFLUSH_TYPE FlushType);
|
sca8er |
2:5853bf44af9f
|
7831
|
|
sca8er |
2:5853bf44af9f
|
7832
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7833
|
VOID
|
sca8er |
2:5853bf44af9f
|
7834
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7835
|
MmFreeContiguousMemory(
|
sca8er |
2:5853bf44af9f
|
7836
|
/*IN*/ PVOID BaseAddress);
|
sca8er |
2:5853bf44af9f
|
7837
|
|
sca8er |
2:5853bf44af9f
|
7838
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7839
|
VOID
|
sca8er |
2:5853bf44af9f
|
7840
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7841
|
MmFreeContiguousMemorySpecifyCache(
|
sca8er |
2:5853bf44af9f
|
7842
|
/*IN*/ PVOID BaseAddress,
|
sca8er |
2:5853bf44af9f
|
7843
|
/*IN*/ SIZE_T NumberOfBytes,
|
sca8er |
2:5853bf44af9f
|
7844
|
/*IN*/ MEMORY_CACHING_TYPE CacheType);
|
sca8er |
2:5853bf44af9f
|
7845
|
|
sca8er |
2:5853bf44af9f
|
7846
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7847
|
VOID
|
sca8er |
2:5853bf44af9f
|
7848
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7849
|
MmFreeMappingAddress(
|
sca8er |
2:5853bf44af9f
|
7850
|
/*IN*/ PVOID BaseAddress,
|
sca8er |
2:5853bf44af9f
|
7851
|
/*IN*/ ULONG PoolTag);
|
sca8er |
2:5853bf44af9f
|
7852
|
|
sca8er |
2:5853bf44af9f
|
7853
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7854
|
VOID
|
sca8er |
2:5853bf44af9f
|
7855
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7856
|
MmFreeNonCachedMemory(
|
sca8er |
2:5853bf44af9f
|
7857
|
/*IN*/ PVOID BaseAddress,
|
sca8er |
2:5853bf44af9f
|
7858
|
/*IN*/ SIZE_T NumberOfBytes);
|
sca8er |
2:5853bf44af9f
|
7859
|
|
sca8er |
2:5853bf44af9f
|
7860
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7861
|
VOID
|
sca8er |
2:5853bf44af9f
|
7862
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7863
|
MmFreePagesFromMdl(
|
sca8er |
2:5853bf44af9f
|
7864
|
/*IN*/ PMDL MemoryDescriptorList);
|
sca8er |
2:5853bf44af9f
|
7865
|
|
sca8er |
2:5853bf44af9f
|
7866
|
/*
|
sca8er |
2:5853bf44af9f
|
7867
|
* ULONG
|
sca8er |
2:5853bf44af9f
|
7868
|
* MmGetMdlByteCount(
|
sca8er |
2:5853bf44af9f
|
7869
|
* IN PMDL Mdl)
|
sca8er |
2:5853bf44af9f
|
7870
|
*/
|
sca8er |
2:5853bf44af9f
|
7871
|
#define MmGetMdlByteCount(_Mdl) \
|
sca8er |
2:5853bf44af9f
|
7872
|
((_Mdl)->ByteCount)
|
sca8er |
2:5853bf44af9f
|
7873
|
|
sca8er |
2:5853bf44af9f
|
7874
|
/*
|
sca8er |
2:5853bf44af9f
|
7875
|
* ULONG
|
sca8er |
2:5853bf44af9f
|
7876
|
* MmGetMdlByteOffset(
|
sca8er |
2:5853bf44af9f
|
7877
|
* IN PMDL Mdl)
|
sca8er |
2:5853bf44af9f
|
7878
|
*/
|
sca8er |
2:5853bf44af9f
|
7879
|
#define MmGetMdlByteOffset(_Mdl) \
|
sca8er |
2:5853bf44af9f
|
7880
|
((_Mdl)->ByteOffset)
|
sca8er |
2:5853bf44af9f
|
7881
|
|
sca8er |
2:5853bf44af9f
|
7882
|
/*
|
sca8er |
2:5853bf44af9f
|
7883
|
* PPFN_NUMBER
|
sca8er |
2:5853bf44af9f
|
7884
|
* MmGetMdlPfnArray(
|
sca8er |
2:5853bf44af9f
|
7885
|
* IN PMDL Mdl)
|
sca8er |
2:5853bf44af9f
|
7886
|
*/
|
sca8er |
2:5853bf44af9f
|
7887
|
#define MmGetMdlPfnArray(_Mdl) \
|
sca8er |
2:5853bf44af9f
|
7888
|
((PPFN_NUMBER) ((_Mdl) + 1))
|
sca8er |
2:5853bf44af9f
|
7889
|
|
sca8er |
2:5853bf44af9f
|
7890
|
/*
|
sca8er |
2:5853bf44af9f
|
7891
|
* PVOID
|
sca8er |
2:5853bf44af9f
|
7892
|
* MmGetMdlVirtualAddress(
|
sca8er |
2:5853bf44af9f
|
7893
|
* IN PMDL Mdl)
|
sca8er |
2:5853bf44af9f
|
7894
|
*/
|
sca8er |
2:5853bf44af9f
|
7895
|
#define MmGetMdlVirtualAddress(_Mdl) \
|
sca8er |
2:5853bf44af9f
|
7896
|
((PVOID) ((PCHAR) ((_Mdl)->StartVa) + (_Mdl)->ByteOffset))
|
sca8er |
2:5853bf44af9f
|
7897
|
|
sca8er |
2:5853bf44af9f
|
7898
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7899
|
PHYSICAL_ADDRESS
|
sca8er |
2:5853bf44af9f
|
7900
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7901
|
MmGetPhysicalAddress(
|
sca8er |
2:5853bf44af9f
|
7902
|
/*IN*/ PVOID BaseAddress);
|
sca8er |
2:5853bf44af9f
|
7903
|
|
sca8er |
2:5853bf44af9f
|
7904
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7905
|
PPHYSICAL_MEMORY_RANGE
|
sca8er |
2:5853bf44af9f
|
7906
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7907
|
MmGetPhysicalMemoryRanges(
|
sca8er |
2:5853bf44af9f
|
7908
|
VOID);
|
sca8er |
2:5853bf44af9f
|
7909
|
|
sca8er |
2:5853bf44af9f
|
7910
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7911
|
PVOID
|
sca8er |
2:5853bf44af9f
|
7912
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7913
|
MmGetVirtualForPhysical(
|
sca8er |
2:5853bf44af9f
|
7914
|
/*IN*/ PHYSICAL_ADDRESS PhysicalAddress);
|
sca8er |
2:5853bf44af9f
|
7915
|
|
sca8er |
2:5853bf44af9f
|
7916
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7917
|
PVOID
|
sca8er |
2:5853bf44af9f
|
7918
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7919
|
MmMapLockedPagesSpecifyCache(
|
sca8er |
2:5853bf44af9f
|
7920
|
/*IN*/ PMDL MemoryDescriptorList,
|
sca8er |
2:5853bf44af9f
|
7921
|
/*IN*/ KPROCESSOR_MODE AccessMode,
|
sca8er |
2:5853bf44af9f
|
7922
|
/*IN*/ MEMORY_CACHING_TYPE CacheType,
|
sca8er |
2:5853bf44af9f
|
7923
|
/*IN*/ PVOID BaseAddress,
|
sca8er |
2:5853bf44af9f
|
7924
|
/*IN*/ ULONG BugCheckOnFailure,
|
sca8er |
2:5853bf44af9f
|
7925
|
/*IN*/ MM_PAGE_PRIORITY Priority);
|
sca8er |
2:5853bf44af9f
|
7926
|
|
sca8er |
2:5853bf44af9f
|
7927
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7928
|
PVOID
|
sca8er |
2:5853bf44af9f
|
7929
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7930
|
MmMapLockedPagesWithReservedMapping(
|
sca8er |
2:5853bf44af9f
|
7931
|
/*IN*/ PVOID MappingAddress,
|
sca8er |
2:5853bf44af9f
|
7932
|
/*IN*/ ULONG PoolTag,
|
sca8er |
2:5853bf44af9f
|
7933
|
/*IN*/ PMDL MemoryDescriptorList,
|
sca8er |
2:5853bf44af9f
|
7934
|
/*IN*/ MEMORY_CACHING_TYPE CacheType);
|
sca8er |
2:5853bf44af9f
|
7935
|
|
sca8er |
2:5853bf44af9f
|
7936
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7937
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
7938
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7939
|
MmMapUserAddressesToPage(
|
sca8er |
2:5853bf44af9f
|
7940
|
/*IN*/ PVOID BaseAddress,
|
sca8er |
2:5853bf44af9f
|
7941
|
/*IN*/ SIZE_T NumberOfBytes,
|
sca8er |
2:5853bf44af9f
|
7942
|
/*IN*/ PVOID PageAddress);
|
sca8er |
2:5853bf44af9f
|
7943
|
|
sca8er |
2:5853bf44af9f
|
7944
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7945
|
PVOID
|
sca8er |
2:5853bf44af9f
|
7946
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7947
|
MmMapVideoDisplay(
|
sca8er |
2:5853bf44af9f
|
7948
|
/*IN*/ PHYSICAL_ADDRESS PhysicalAddress,
|
sca8er |
2:5853bf44af9f
|
7949
|
/*IN*/ SIZE_T NumberOfBytes,
|
sca8er |
2:5853bf44af9f
|
7950
|
/*IN*/ MEMORY_CACHING_TYPE CacheType);
|
sca8er |
2:5853bf44af9f
|
7951
|
|
sca8er |
2:5853bf44af9f
|
7952
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7953
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
7954
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7955
|
MmMapViewInSessionSpace(
|
sca8er |
2:5853bf44af9f
|
7956
|
/*IN*/ PVOID Section,
|
sca8er |
2:5853bf44af9f
|
7957
|
/*OUT*/ PVOID *MappedBase,
|
sca8er |
2:5853bf44af9f
|
7958
|
/*IN OUT*/ PSIZE_T ViewSize);
|
sca8er |
2:5853bf44af9f
|
7959
|
|
sca8er |
2:5853bf44af9f
|
7960
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7961
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
7962
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7963
|
MmMapViewInSystemSpace(
|
sca8er |
2:5853bf44af9f
|
7964
|
/*IN*/ PVOID Section,
|
sca8er |
2:5853bf44af9f
|
7965
|
/*OUT*/ PVOID *MappedBase,
|
sca8er |
2:5853bf44af9f
|
7966
|
/*IN*/ PSIZE_T ViewSize);
|
sca8er |
2:5853bf44af9f
|
7967
|
|
sca8er |
2:5853bf44af9f
|
7968
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7969
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
7970
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7971
|
MmMarkPhysicalMemoryAsBad(
|
sca8er |
2:5853bf44af9f
|
7972
|
/*IN*/ PPHYSICAL_ADDRESS StartAddress,
|
sca8er |
2:5853bf44af9f
|
7973
|
/*IN OUT*/ PLARGE_INTEGER NumberOfBytes);
|
sca8er |
2:5853bf44af9f
|
7974
|
|
sca8er |
2:5853bf44af9f
|
7975
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7976
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
7977
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7978
|
MmMarkPhysicalMemoryAsGood(
|
sca8er |
2:5853bf44af9f
|
7979
|
/*IN*/ PPHYSICAL_ADDRESS StartAddress,
|
sca8er |
2:5853bf44af9f
|
7980
|
/*IN OUT*/ PLARGE_INTEGER NumberOfBytes);
|
sca8er |
2:5853bf44af9f
|
7981
|
|
sca8er |
2:5853bf44af9f
|
7982
|
/*
|
sca8er |
2:5853bf44af9f
|
7983
|
* PVOID
|
sca8er |
2:5853bf44af9f
|
7984
|
* MmGetSystemAddressForMdlSafe(
|
sca8er |
2:5853bf44af9f
|
7985
|
* IN PMDL Mdl,
|
sca8er |
2:5853bf44af9f
|
7986
|
* IN MM_PAGE_PRIORITY Priority)
|
sca8er |
2:5853bf44af9f
|
7987
|
*/
|
sca8er |
2:5853bf44af9f
|
7988
|
#define MmGetSystemAddressForMdlSafe(_Mdl, _Priority) \
|
sca8er |
2:5853bf44af9f
|
7989
|
((_Mdl)->MdlFlags & (MDL_MAPPED_TO_SYSTEM_VA \
|
sca8er |
2:5853bf44af9f
|
7990
|
| MDL_SOURCE_IS_NONPAGED_POOL)) ? \
|
sca8er |
2:5853bf44af9f
|
7991
|
(_Mdl)->MappedSystemVa : \
|
sca8er |
2:5853bf44af9f
|
7992
|
(PVOID) MmMapLockedPagesSpecifyCache((_Mdl), \
|
sca8er |
2:5853bf44af9f
|
7993
|
KernelMode, MmCached, NULL, FALSE, _Priority)
|
sca8er |
2:5853bf44af9f
|
7994
|
|
sca8er |
2:5853bf44af9f
|
7995
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
7996
|
PVOID
|
sca8er |
2:5853bf44af9f
|
7997
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
7998
|
MmGetSystemRoutineAddress(
|
sca8er |
2:5853bf44af9f
|
7999
|
/*IN*/ PUNICODE_STRING SystemRoutineName);
|
sca8er |
2:5853bf44af9f
|
8000
|
|
sca8er |
2:5853bf44af9f
|
8001
|
/*
|
sca8er |
2:5853bf44af9f
|
8002
|
* ULONG
|
sca8er |
2:5853bf44af9f
|
8003
|
* ADDRESS_AND_SIZE_TO_SPAN_PAGES(
|
sca8er |
2:5853bf44af9f
|
8004
|
* IN PVOID Va,
|
sca8er |
2:5853bf44af9f
|
8005
|
* IN ULONG Size)
|
sca8er |
2:5853bf44af9f
|
8006
|
*/
|
sca8er |
2:5853bf44af9f
|
8007
|
#define ADDRESS_AND_SIZE_TO_SPAN_PAGES(_Va, \
|
sca8er |
2:5853bf44af9f
|
8008
|
_Size) \
|
sca8er |
2:5853bf44af9f
|
8009
|
((ULONG) ((((ULONG_PTR) (_Va) & (PAGE_SIZE - 1)) \
|
sca8er |
2:5853bf44af9f
|
8010
|
+ (_Size) + (PAGE_SIZE - 1)) >> PAGE_SHIFT))
|
sca8er |
2:5853bf44af9f
|
8011
|
|
sca8er |
2:5853bf44af9f
|
8012
|
/*
|
sca8er |
2:5853bf44af9f
|
8013
|
* VOID
|
sca8er |
2:5853bf44af9f
|
8014
|
* MmInitializeMdl(
|
sca8er |
2:5853bf44af9f
|
8015
|
* IN PMDL MemoryDescriptorList,
|
sca8er |
2:5853bf44af9f
|
8016
|
* IN PVOID BaseVa,
|
sca8er |
2:5853bf44af9f
|
8017
|
* IN SIZE_T Length)
|
sca8er |
2:5853bf44af9f
|
8018
|
*/
|
sca8er |
2:5853bf44af9f
|
8019
|
#define MmInitializeMdl(_MemoryDescriptorList, \
|
sca8er |
2:5853bf44af9f
|
8020
|
_BaseVa, \
|
sca8er |
2:5853bf44af9f
|
8021
|
_Length) \
|
sca8er |
2:5853bf44af9f
|
8022
|
{ \
|
sca8er |
2:5853bf44af9f
|
8023
|
(_MemoryDescriptorList)->Next = (PMDL) NULL; \
|
sca8er |
2:5853bf44af9f
|
8024
|
(_MemoryDescriptorList)->Size = (CSHORT) (sizeof(MDL) + \
|
sca8er |
2:5853bf44af9f
|
8025
|
(sizeof(PFN_NUMBER) * ADDRESS_AND_SIZE_TO_SPAN_PAGES(_BaseVa, _Length))); \
|
sca8er |
2:5853bf44af9f
|
8026
|
(_MemoryDescriptorList)->MdlFlags = 0; \
|
sca8er |
2:5853bf44af9f
|
8027
|
(_MemoryDescriptorList)->StartVa = (PVOID) PAGE_ALIGN(_BaseVa); \
|
sca8er |
2:5853bf44af9f
|
8028
|
(_MemoryDescriptorList)->ByteOffset = BYTE_OFFSET(_BaseVa); \
|
sca8er |
2:5853bf44af9f
|
8029
|
(_MemoryDescriptorList)->ByteCount = (ULONG) _Length; \
|
sca8er |
2:5853bf44af9f
|
8030
|
}
|
sca8er |
2:5853bf44af9f
|
8031
|
|
sca8er |
2:5853bf44af9f
|
8032
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8033
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
8034
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8035
|
MmIsAddressValid(
|
sca8er |
2:5853bf44af9f
|
8036
|
/*IN*/ PVOID VirtualAddress);
|
sca8er |
2:5853bf44af9f
|
8037
|
|
sca8er |
2:5853bf44af9f
|
8038
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8039
|
LOGICAL
|
sca8er |
2:5853bf44af9f
|
8040
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8041
|
MmIsDriverVerifying(
|
sca8er |
2:5853bf44af9f
|
8042
|
/*IN*/ PDRIVER_OBJECT DriverObject);
|
sca8er |
2:5853bf44af9f
|
8043
|
|
sca8er |
2:5853bf44af9f
|
8044
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8045
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
8046
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8047
|
MmIsThisAnNtAsSystem(
|
sca8er |
2:5853bf44af9f
|
8048
|
VOID);
|
sca8er |
2:5853bf44af9f
|
8049
|
|
sca8er |
2:5853bf44af9f
|
8050
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8051
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8052
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8053
|
MmIsVerifierEnabled(
|
sca8er |
2:5853bf44af9f
|
8054
|
/*OUT*/ PULONG VerifierFlags);
|
sca8er |
2:5853bf44af9f
|
8055
|
|
sca8er |
2:5853bf44af9f
|
8056
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8057
|
PVOID
|
sca8er |
2:5853bf44af9f
|
8058
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8059
|
MmLockPagableDataSection(
|
sca8er |
2:5853bf44af9f
|
8060
|
/*IN*/ PVOID AddressWithinSection);
|
sca8er |
2:5853bf44af9f
|
8061
|
|
sca8er |
2:5853bf44af9f
|
8062
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8063
|
PVOID
|
sca8er |
2:5853bf44af9f
|
8064
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8065
|
MmLockPagableImageSection(
|
sca8er |
2:5853bf44af9f
|
8066
|
/*IN*/ PVOID AddressWithinSection);
|
sca8er |
2:5853bf44af9f
|
8067
|
|
sca8er |
2:5853bf44af9f
|
8068
|
/*
|
sca8er |
2:5853bf44af9f
|
8069
|
* PVOID
|
sca8er |
2:5853bf44af9f
|
8070
|
* MmLockPagableCodeSection(
|
sca8er |
2:5853bf44af9f
|
8071
|
* IN PVOID AddressWithinSection)
|
sca8er |
2:5853bf44af9f
|
8072
|
*/
|
sca8er |
2:5853bf44af9f
|
8073
|
#define MmLockPagableCodeSection MmLockPagableDataSection
|
sca8er |
2:5853bf44af9f
|
8074
|
|
sca8er |
2:5853bf44af9f
|
8075
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8076
|
VOID
|
sca8er |
2:5853bf44af9f
|
8077
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8078
|
MmLockPagableSectionByHandle(
|
sca8er |
2:5853bf44af9f
|
8079
|
/*IN*/ PVOID ImageSectionHandle);
|
sca8er |
2:5853bf44af9f
|
8080
|
|
sca8er |
2:5853bf44af9f
|
8081
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8082
|
PVOID
|
sca8er |
2:5853bf44af9f
|
8083
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8084
|
MmMapIoSpace(
|
sca8er |
2:5853bf44af9f
|
8085
|
/*IN*/ PHYSICAL_ADDRESS PhysicalAddress,
|
sca8er |
2:5853bf44af9f
|
8086
|
/*IN*/ ULONG NumberOfBytes,
|
sca8er |
2:5853bf44af9f
|
8087
|
/*IN*/ MEMORY_CACHING_TYPE CacheEnable);
|
sca8er |
2:5853bf44af9f
|
8088
|
|
sca8er |
2:5853bf44af9f
|
8089
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8090
|
PVOID
|
sca8er |
2:5853bf44af9f
|
8091
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8092
|
MmMapLockedPages(
|
sca8er |
2:5853bf44af9f
|
8093
|
/*IN*/ PMDL MemoryDescriptorList,
|
sca8er |
2:5853bf44af9f
|
8094
|
/*IN*/ KPROCESSOR_MODE AccessMode);
|
sca8er |
2:5853bf44af9f
|
8095
|
|
sca8er |
2:5853bf44af9f
|
8096
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8097
|
VOID
|
sca8er |
2:5853bf44af9f
|
8098
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8099
|
MmPageEntireDriver(
|
sca8er |
2:5853bf44af9f
|
8100
|
/*IN*/ PVOID AddressWithinSection);
|
sca8er |
2:5853bf44af9f
|
8101
|
|
sca8er |
2:5853bf44af9f
|
8102
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8103
|
VOID
|
sca8er |
2:5853bf44af9f
|
8104
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8105
|
MmProbeAndLockProcessPages(
|
sca8er |
2:5853bf44af9f
|
8106
|
/*IN OUT*/ PMDL MemoryDescriptorList,
|
sca8er |
2:5853bf44af9f
|
8107
|
/*IN*/ PEPROCESS Process,
|
sca8er |
2:5853bf44af9f
|
8108
|
/*IN*/ KPROCESSOR_MODE AccessMode,
|
sca8er |
2:5853bf44af9f
|
8109
|
/*IN*/ LOCK_OPERATION Operation);
|
sca8er |
2:5853bf44af9f
|
8110
|
|
sca8er |
2:5853bf44af9f
|
8111
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8112
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8113
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8114
|
MmProtectMdlSystemAddress(
|
sca8er |
2:5853bf44af9f
|
8115
|
/*IN*/ PMDL MemoryDescriptorList,
|
sca8er |
2:5853bf44af9f
|
8116
|
/*IN*/ ULONG NewProtect);
|
sca8er |
2:5853bf44af9f
|
8117
|
|
sca8er |
2:5853bf44af9f
|
8118
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8119
|
VOID
|
sca8er |
2:5853bf44af9f
|
8120
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8121
|
MmUnmapLockedPages(
|
sca8er |
2:5853bf44af9f
|
8122
|
/*IN*/ PVOID BaseAddress,
|
sca8er |
2:5853bf44af9f
|
8123
|
/*IN*/ PMDL MemoryDescriptorList);
|
sca8er |
2:5853bf44af9f
|
8124
|
|
sca8er |
2:5853bf44af9f
|
8125
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8126
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8127
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8128
|
MmUnmapViewInSessionSpace(
|
sca8er |
2:5853bf44af9f
|
8129
|
/*IN*/ PVOID MappedBase);
|
sca8er |
2:5853bf44af9f
|
8130
|
|
sca8er |
2:5853bf44af9f
|
8131
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8132
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8133
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8134
|
MmUnmapViewInSystemSpace(
|
sca8er |
2:5853bf44af9f
|
8135
|
/*IN*/ PVOID MappedBase);
|
sca8er |
2:5853bf44af9f
|
8136
|
|
sca8er |
2:5853bf44af9f
|
8137
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8138
|
VOID
|
sca8er |
2:5853bf44af9f
|
8139
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8140
|
MmUnsecureVirtualMemory(
|
sca8er |
2:5853bf44af9f
|
8141
|
/*IN*/ HANDLE SecureHandle);
|
sca8er |
2:5853bf44af9f
|
8142
|
|
sca8er |
2:5853bf44af9f
|
8143
|
/*
|
sca8er |
2:5853bf44af9f
|
8144
|
* VOID
|
sca8er |
2:5853bf44af9f
|
8145
|
* MmPrepareMdlForReuse(
|
sca8er |
2:5853bf44af9f
|
8146
|
* IN PMDL Mdl)
|
sca8er |
2:5853bf44af9f
|
8147
|
*/
|
sca8er |
2:5853bf44af9f
|
8148
|
#define MmPrepareMdlForReuse(_Mdl) \
|
sca8er |
2:5853bf44af9f
|
8149
|
{ \
|
sca8er |
2:5853bf44af9f
|
8150
|
if (((_Mdl)->MdlFlags & MDL_PARTIAL_HAS_BEEN_MAPPED) != 0) { \
|
sca8er |
2:5853bf44af9f
|
8151
|
ASSERT(((_Mdl)->MdlFlags & MDL_PARTIAL) != 0); \
|
sca8er |
2:5853bf44af9f
|
8152
|
MmUnmapLockedPages((_Mdl)->MappedSystemVa, (_Mdl)); \
|
sca8er |
2:5853bf44af9f
|
8153
|
} else if (((_Mdl)->MdlFlags & MDL_PARTIAL) == 0) { \
|
sca8er |
2:5853bf44af9f
|
8154
|
ASSERT(((_Mdl)->MdlFlags & MDL_MAPPED_TO_SYSTEM_VA) == 0); \
|
sca8er |
2:5853bf44af9f
|
8155
|
} \
|
sca8er |
2:5853bf44af9f
|
8156
|
}
|
sca8er |
2:5853bf44af9f
|
8157
|
|
sca8er |
2:5853bf44af9f
|
8158
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8159
|
VOID
|
sca8er |
2:5853bf44af9f
|
8160
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8161
|
MmProbeAndLockPages(
|
sca8er |
2:5853bf44af9f
|
8162
|
/*IN OUT*/ PMDL MemoryDescriptorList,
|
sca8er |
2:5853bf44af9f
|
8163
|
/*IN*/ KPROCESSOR_MODE AccessMode,
|
sca8er |
2:5853bf44af9f
|
8164
|
/*IN*/ LOCK_OPERATION Operation);
|
sca8er |
2:5853bf44af9f
|
8165
|
|
sca8er |
2:5853bf44af9f
|
8166
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8167
|
MM_SYSTEM_SIZE
|
sca8er |
2:5853bf44af9f
|
8168
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8169
|
MmQuerySystemSize(
|
sca8er |
2:5853bf44af9f
|
8170
|
VOID);
|
sca8er |
2:5853bf44af9f
|
8171
|
|
sca8er |
2:5853bf44af9f
|
8172
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8173
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8174
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8175
|
MmRemovePhysicalMemory(
|
sca8er |
2:5853bf44af9f
|
8176
|
/*IN*/ PPHYSICAL_ADDRESS StartAddress,
|
sca8er |
2:5853bf44af9f
|
8177
|
/*IN OUT*/ PLARGE_INTEGER NumberOfBytes);
|
sca8er |
2:5853bf44af9f
|
8178
|
|
sca8er |
2:5853bf44af9f
|
8179
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8180
|
VOID
|
sca8er |
2:5853bf44af9f
|
8181
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8182
|
MmResetDriverPaging(
|
sca8er |
2:5853bf44af9f
|
8183
|
/*IN*/ PVOID AddressWithinSection);
|
sca8er |
2:5853bf44af9f
|
8184
|
|
sca8er |
2:5853bf44af9f
|
8185
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8186
|
HANDLE
|
sca8er |
2:5853bf44af9f
|
8187
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8188
|
MmSecureVirtualMemory(
|
sca8er |
2:5853bf44af9f
|
8189
|
/*IN*/ PVOID Address,
|
sca8er |
2:5853bf44af9f
|
8190
|
/*IN*/ SIZE_T Size,
|
sca8er |
2:5853bf44af9f
|
8191
|
/*IN*/ ULONG ProbeMode);
|
sca8er |
2:5853bf44af9f
|
8192
|
|
sca8er |
2:5853bf44af9f
|
8193
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8194
|
ULONG
|
sca8er |
2:5853bf44af9f
|
8195
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8196
|
MmSizeOfMdl(
|
sca8er |
2:5853bf44af9f
|
8197
|
/*IN*/ PVOID Base,
|
sca8er |
2:5853bf44af9f
|
8198
|
/*IN*/ SIZE_T Length);
|
sca8er |
2:5853bf44af9f
|
8199
|
|
sca8er |
2:5853bf44af9f
|
8200
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8201
|
VOID
|
sca8er |
2:5853bf44af9f
|
8202
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8203
|
MmUnlockPagableImageSection(
|
sca8er |
2:5853bf44af9f
|
8204
|
/*IN*/ PVOID ImageSectionHandle);
|
sca8er |
2:5853bf44af9f
|
8205
|
|
sca8er |
2:5853bf44af9f
|
8206
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8207
|
VOID
|
sca8er |
2:5853bf44af9f
|
8208
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8209
|
MmUnlockPages(
|
sca8er |
2:5853bf44af9f
|
8210
|
/*IN*/ PMDL MemoryDescriptorList);
|
sca8er |
2:5853bf44af9f
|
8211
|
|
sca8er |
2:5853bf44af9f
|
8212
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8213
|
VOID
|
sca8er |
2:5853bf44af9f
|
8214
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8215
|
MmUnmapIoSpace(
|
sca8er |
2:5853bf44af9f
|
8216
|
/*IN*/ PVOID BaseAddress,
|
sca8er |
2:5853bf44af9f
|
8217
|
/*IN*/ SIZE_T NumberOfBytes);
|
sca8er |
2:5853bf44af9f
|
8218
|
|
sca8er |
2:5853bf44af9f
|
8219
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8220
|
VOID
|
sca8er |
2:5853bf44af9f
|
8221
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8222
|
MmUnmapReservedMapping(
|
sca8er |
2:5853bf44af9f
|
8223
|
/*IN*/ PVOID BaseAddress,
|
sca8er |
2:5853bf44af9f
|
8224
|
/*IN*/ ULONG PoolTag,
|
sca8er |
2:5853bf44af9f
|
8225
|
/*IN*/ PMDL MemoryDescriptorList);
|
sca8er |
2:5853bf44af9f
|
8226
|
|
sca8er |
2:5853bf44af9f
|
8227
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8228
|
VOID
|
sca8er |
2:5853bf44af9f
|
8229
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8230
|
MmUnmapVideoDisplay(
|
sca8er |
2:5853bf44af9f
|
8231
|
/*IN*/ PVOID BaseAddress,
|
sca8er |
2:5853bf44af9f
|
8232
|
/*IN*/ SIZE_T NumberOfBytes);
|
sca8er |
2:5853bf44af9f
|
8233
|
|
sca8er |
2:5853bf44af9f
|
8234
|
|
sca8er |
2:5853bf44af9f
|
8235
|
|
sca8er |
2:5853bf44af9f
|
8236
|
/** Object manager routines **/
|
sca8er |
2:5853bf44af9f
|
8237
|
|
sca8er |
2:5853bf44af9f
|
8238
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8239
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8240
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8241
|
ObAssignSecurity(
|
sca8er |
2:5853bf44af9f
|
8242
|
/*IN*/ PACCESS_STATE AccessState,
|
sca8er |
2:5853bf44af9f
|
8243
|
/*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
|
sca8er |
2:5853bf44af9f
|
8244
|
/*IN*/ PVOID Object,
|
sca8er |
2:5853bf44af9f
|
8245
|
/*IN*/ POBJECT_TYPE Type);
|
sca8er |
2:5853bf44af9f
|
8246
|
|
sca8er |
2:5853bf44af9f
|
8247
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8248
|
VOID
|
sca8er |
2:5853bf44af9f
|
8249
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8250
|
ObDereferenceSecurityDescriptor(
|
sca8er |
2:5853bf44af9f
|
8251
|
PSECURITY_DESCRIPTOR SecurityDescriptor,
|
sca8er |
2:5853bf44af9f
|
8252
|
ULONG Count);
|
sca8er |
2:5853bf44af9f
|
8253
|
|
sca8er |
2:5853bf44af9f
|
8254
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8255
|
VOID
|
sca8er |
2:5853bf44af9f
|
8256
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
8257
|
ObfDereferenceObject(
|
sca8er |
2:5853bf44af9f
|
8258
|
/*IN*/ PVOID Object);
|
sca8er |
2:5853bf44af9f
|
8259
|
|
sca8er |
2:5853bf44af9f
|
8260
|
/*
|
sca8er |
2:5853bf44af9f
|
8261
|
* VOID
|
sca8er |
2:5853bf44af9f
|
8262
|
* ObDereferenceObject(
|
sca8er |
2:5853bf44af9f
|
8263
|
* IN PVOID Object)
|
sca8er |
2:5853bf44af9f
|
8264
|
*/
|
sca8er |
2:5853bf44af9f
|
8265
|
#define ObDereferenceObject ObfDereferenceObject
|
sca8er |
2:5853bf44af9f
|
8266
|
|
sca8er |
2:5853bf44af9f
|
8267
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8268
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8269
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8270
|
ObGetObjectSecurity(
|
sca8er |
2:5853bf44af9f
|
8271
|
/*IN*/ PVOID Object,
|
sca8er |
2:5853bf44af9f
|
8272
|
/*OUT*/ PSECURITY_DESCRIPTOR *SecurityDescriptor,
|
sca8er |
2:5853bf44af9f
|
8273
|
/*OUT*/ PBOOLEAN MemoryAllocated);
|
sca8er |
2:5853bf44af9f
|
8274
|
|
sca8er |
2:5853bf44af9f
|
8275
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8276
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8277
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8278
|
ObInsertObject(
|
sca8er |
2:5853bf44af9f
|
8279
|
/*IN*/ PVOID Object,
|
sca8er |
2:5853bf44af9f
|
8280
|
/*IN*/ PACCESS_STATE PassedAccessState /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
8281
|
/*IN*/ ACCESS_MASK DesiredAccess,
|
sca8er |
2:5853bf44af9f
|
8282
|
/*IN*/ ULONG AdditionalReferences,
|
sca8er |
2:5853bf44af9f
|
8283
|
/*OUT*/ PVOID* ReferencedObject /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
8284
|
/*OUT*/ PHANDLE Handle);
|
sca8er |
2:5853bf44af9f
|
8285
|
|
sca8er |
2:5853bf44af9f
|
8286
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8287
|
VOID
|
sca8er |
2:5853bf44af9f
|
8288
|
DDKFASTAPI
|
sca8er |
2:5853bf44af9f
|
8289
|
ObfReferenceObject(
|
sca8er |
2:5853bf44af9f
|
8290
|
/*IN*/ PVOID Object);
|
sca8er |
2:5853bf44af9f
|
8291
|
|
sca8er |
2:5853bf44af9f
|
8292
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8293
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8294
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8295
|
ObLogSecurityDescriptor(
|
sca8er |
2:5853bf44af9f
|
8296
|
/*IN*/ PSECURITY_DESCRIPTOR InputSecurityDescriptor,
|
sca8er |
2:5853bf44af9f
|
8297
|
/*OUT*/ PSECURITY_DESCRIPTOR *OutputSecurityDescriptor,
|
sca8er |
2:5853bf44af9f
|
8298
|
/*IN*/ ULONG RefBias);
|
sca8er |
2:5853bf44af9f
|
8299
|
/*
|
sca8er |
2:5853bf44af9f
|
8300
|
* VOID
|
sca8er |
2:5853bf44af9f
|
8301
|
* ObReferenceObject(
|
sca8er |
2:5853bf44af9f
|
8302
|
* IN PVOID Object)
|
sca8er |
2:5853bf44af9f
|
8303
|
*/
|
sca8er |
2:5853bf44af9f
|
8304
|
#define ObReferenceObject ObfReferenceObject
|
sca8er |
2:5853bf44af9f
|
8305
|
|
sca8er |
2:5853bf44af9f
|
8306
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8307
|
VOID
|
sca8er |
2:5853bf44af9f
|
8308
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8309
|
ObMakeTemporaryObject(
|
sca8er |
2:5853bf44af9f
|
8310
|
/*IN*/ PVOID Object);
|
sca8er |
2:5853bf44af9f
|
8311
|
|
sca8er |
2:5853bf44af9f
|
8312
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8313
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8314
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8315
|
ObOpenObjectByName(
|
sca8er |
2:5853bf44af9f
|
8316
|
/*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
|
sca8er |
2:5853bf44af9f
|
8317
|
/*IN*/ POBJECT_TYPE ObjectType,
|
sca8er |
2:5853bf44af9f
|
8318
|
/*IN OUT*/ PVOID ParseContext /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
8319
|
/*IN*/ KPROCESSOR_MODE AccessMode,
|
sca8er |
2:5853bf44af9f
|
8320
|
/*IN*/ ACCESS_MASK DesiredAccess,
|
sca8er |
2:5853bf44af9f
|
8321
|
/*IN*/ PACCESS_STATE PassedAccessState,
|
sca8er |
2:5853bf44af9f
|
8322
|
/*OUT*/ PHANDLE Handle);
|
sca8er |
2:5853bf44af9f
|
8323
|
|
sca8er |
2:5853bf44af9f
|
8324
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8325
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8326
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8327
|
ObOpenObjectByPointer(
|
sca8er |
2:5853bf44af9f
|
8328
|
/*IN*/ PVOID Object,
|
sca8er |
2:5853bf44af9f
|
8329
|
/*IN*/ ULONG HandleAttributes,
|
sca8er |
2:5853bf44af9f
|
8330
|
/*IN*/ PACCESS_STATE PassedAccessState /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
8331
|
/*IN*/ ACCESS_MASK DesiredAccess /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
8332
|
/*IN*/ POBJECT_TYPE ObjectType /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
8333
|
/*IN*/ KPROCESSOR_MODE AccessMode,
|
sca8er |
2:5853bf44af9f
|
8334
|
/*OUT*/ PHANDLE Handle);
|
sca8er |
2:5853bf44af9f
|
8335
|
|
sca8er |
2:5853bf44af9f
|
8336
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8337
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8338
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8339
|
ObQueryObjectAuditingByHandle(
|
sca8er |
2:5853bf44af9f
|
8340
|
/*IN*/ HANDLE Handle,
|
sca8er |
2:5853bf44af9f
|
8341
|
/*OUT*/ PBOOLEAN GenerateOnClose);
|
sca8er |
2:5853bf44af9f
|
8342
|
|
sca8er |
2:5853bf44af9f
|
8343
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8344
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8345
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8346
|
ObReferenceObjectByHandle(
|
sca8er |
2:5853bf44af9f
|
8347
|
/*IN*/ HANDLE Handle,
|
sca8er |
2:5853bf44af9f
|
8348
|
/*IN*/ ACCESS_MASK DesiredAccess,
|
sca8er |
2:5853bf44af9f
|
8349
|
/*IN*/ POBJECT_TYPE ObjectType /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
8350
|
/*IN*/ KPROCESSOR_MODE AccessMode,
|
sca8er |
2:5853bf44af9f
|
8351
|
/*OUT*/ PVOID *Object,
|
sca8er |
2:5853bf44af9f
|
8352
|
/*OUT*/ POBJECT_HANDLE_INFORMATION HandleInformation /*OPTIONAL*/);
|
sca8er |
2:5853bf44af9f
|
8353
|
|
sca8er |
2:5853bf44af9f
|
8354
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8355
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8356
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8357
|
ObReferenceObjectByName(
|
sca8er |
2:5853bf44af9f
|
8358
|
/*IN*/ PUNICODE_STRING ObjectPath,
|
sca8er |
2:5853bf44af9f
|
8359
|
/*IN*/ ULONG Attributes,
|
sca8er |
2:5853bf44af9f
|
8360
|
/*IN*/ PACCESS_STATE PassedAccessState /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
8361
|
/*IN*/ ACCESS_MASK DesiredAccess /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
8362
|
/*IN*/ POBJECT_TYPE ObjectType,
|
sca8er |
2:5853bf44af9f
|
8363
|
/*IN*/ KPROCESSOR_MODE AccessMode,
|
sca8er |
2:5853bf44af9f
|
8364
|
/*IN OUT*/ PVOID ParseContext /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
8365
|
/*OUT*/ PVOID *Object);
|
sca8er |
2:5853bf44af9f
|
8366
|
|
sca8er |
2:5853bf44af9f
|
8367
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8368
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8369
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8370
|
ObReferenceObjectByPointer(
|
sca8er |
2:5853bf44af9f
|
8371
|
/*IN*/ PVOID Object,
|
sca8er |
2:5853bf44af9f
|
8372
|
/*IN*/ ACCESS_MASK DesiredAccess,
|
sca8er |
2:5853bf44af9f
|
8373
|
/*IN*/ POBJECT_TYPE ObjectType,
|
sca8er |
2:5853bf44af9f
|
8374
|
/*IN*/ KPROCESSOR_MODE AccessMode);
|
sca8er |
2:5853bf44af9f
|
8375
|
|
sca8er |
2:5853bf44af9f
|
8376
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8377
|
VOID
|
sca8er |
2:5853bf44af9f
|
8378
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8379
|
ObReferenceSecurityDescriptor(
|
sca8er |
2:5853bf44af9f
|
8380
|
/*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
|
sca8er |
2:5853bf44af9f
|
8381
|
/*IN*/ ULONG Count);
|
sca8er |
2:5853bf44af9f
|
8382
|
|
sca8er |
2:5853bf44af9f
|
8383
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8384
|
VOID
|
sca8er |
2:5853bf44af9f
|
8385
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8386
|
ObReleaseObjectSecurity(
|
sca8er |
2:5853bf44af9f
|
8387
|
/*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
|
sca8er |
2:5853bf44af9f
|
8388
|
/*IN*/ BOOLEAN MemoryAllocated);
|
sca8er |
2:5853bf44af9f
|
8389
|
|
sca8er |
2:5853bf44af9f
|
8390
|
|
sca8er |
2:5853bf44af9f
|
8391
|
|
sca8er |
2:5853bf44af9f
|
8392
|
/** Process manager routines **/
|
sca8er |
2:5853bf44af9f
|
8393
|
|
sca8er |
2:5853bf44af9f
|
8394
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8395
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8396
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8397
|
PsCreateSystemProcess(
|
sca8er |
2:5853bf44af9f
|
8398
|
/*IN*/ PHANDLE ProcessHandle,
|
sca8er |
2:5853bf44af9f
|
8399
|
/*IN*/ ACCESS_MASK DesiredAccess,
|
sca8er |
2:5853bf44af9f
|
8400
|
/*IN*/ POBJECT_ATTRIBUTES ObjectAttributes);
|
sca8er |
2:5853bf44af9f
|
8401
|
|
sca8er |
2:5853bf44af9f
|
8402
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8403
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8404
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8405
|
PsCreateSystemThread(
|
sca8er |
2:5853bf44af9f
|
8406
|
/*OUT*/ PHANDLE ThreadHandle,
|
sca8er |
2:5853bf44af9f
|
8407
|
/*IN*/ ULONG DesiredAccess,
|
sca8er |
2:5853bf44af9f
|
8408
|
/*IN*/ POBJECT_ATTRIBUTES ObjectAttributes /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
8409
|
/*IN*/ HANDLE ProcessHandle /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
8410
|
/*OUT*/ PCLIENT_ID ClientId /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
8411
|
/*IN*/ PKSTART_ROUTINE StartRoutine,
|
sca8er |
2:5853bf44af9f
|
8412
|
/*IN*/ PVOID StartContext);
|
sca8er |
2:5853bf44af9f
|
8413
|
|
sca8er |
2:5853bf44af9f
|
8414
|
/*
|
sca8er |
2:5853bf44af9f
|
8415
|
* PEPROCESS
|
sca8er |
2:5853bf44af9f
|
8416
|
* PsGetCurrentProcess(VOID)
|
sca8er |
2:5853bf44af9f
|
8417
|
*/
|
sca8er |
2:5853bf44af9f
|
8418
|
#define PsGetCurrentProcess IoGetCurrentProcess
|
sca8er |
2:5853bf44af9f
|
8419
|
|
sca8er |
2:5853bf44af9f
|
8420
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8421
|
HANDLE
|
sca8er |
2:5853bf44af9f
|
8422
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8423
|
PsGetCurrentProcessId(
|
sca8er |
2:5853bf44af9f
|
8424
|
VOID);
|
sca8er |
2:5853bf44af9f
|
8425
|
|
sca8er |
2:5853bf44af9f
|
8426
|
/*
|
sca8er |
2:5853bf44af9f
|
8427
|
* PETHREAD
|
sca8er |
2:5853bf44af9f
|
8428
|
* PsGetCurrentThread(VOID)
|
sca8er |
2:5853bf44af9f
|
8429
|
*/
|
sca8er |
2:5853bf44af9f
|
8430
|
#define PsGetCurrentThread() \
|
sca8er |
2:5853bf44af9f
|
8431
|
((PETHREAD) KeGetCurrentThread())
|
sca8er |
2:5853bf44af9f
|
8432
|
|
sca8er |
2:5853bf44af9f
|
8433
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8434
|
HANDLE
|
sca8er |
2:5853bf44af9f
|
8435
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8436
|
PsGetCurrentThreadId(
|
sca8er |
2:5853bf44af9f
|
8437
|
VOID);
|
sca8er |
2:5853bf44af9f
|
8438
|
|
sca8er |
2:5853bf44af9f
|
8439
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8440
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
8441
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8442
|
PsGetVersion(
|
sca8er |
2:5853bf44af9f
|
8443
|
PULONG MajorVersion /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
8444
|
PULONG MinorVersion /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
8445
|
PULONG BuildNumber /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
8446
|
PUNICODE_STRING CSDVersion /*OPTIONAL*/);
|
sca8er |
2:5853bf44af9f
|
8447
|
|
sca8er |
2:5853bf44af9f
|
8448
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8449
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8450
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8451
|
PsRemoveCreateThreadNotifyRoutine(
|
sca8er |
2:5853bf44af9f
|
8452
|
/*IN*/ PCREATE_THREAD_NOTIFY_ROUTINE NotifyRoutine);
|
sca8er |
2:5853bf44af9f
|
8453
|
|
sca8er |
2:5853bf44af9f
|
8454
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8455
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8456
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8457
|
PsRemoveLoadImageNotifyRoutine(
|
sca8er |
2:5853bf44af9f
|
8458
|
/*IN*/ PLOAD_IMAGE_NOTIFY_ROUTINE NotifyRoutine);
|
sca8er |
2:5853bf44af9f
|
8459
|
|
sca8er |
2:5853bf44af9f
|
8460
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8461
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8462
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8463
|
PsSetCreateProcessNotifyRoutine(
|
sca8er |
2:5853bf44af9f
|
8464
|
/*IN*/ PCREATE_PROCESS_NOTIFY_ROUTINE NotifyRoutine,
|
sca8er |
2:5853bf44af9f
|
8465
|
/*IN*/ BOOLEAN Remove);
|
sca8er |
2:5853bf44af9f
|
8466
|
|
sca8er |
2:5853bf44af9f
|
8467
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8468
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8469
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8470
|
PsSetCreateThreadNotifyRoutine(
|
sca8er |
2:5853bf44af9f
|
8471
|
/*IN*/ PCREATE_THREAD_NOTIFY_ROUTINE NotifyRoutine);
|
sca8er |
2:5853bf44af9f
|
8472
|
|
sca8er |
2:5853bf44af9f
|
8473
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8474
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8475
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8476
|
PsSetLoadImageNotifyRoutine(
|
sca8er |
2:5853bf44af9f
|
8477
|
/*IN*/ PLOAD_IMAGE_NOTIFY_ROUTINE NotifyRoutine);
|
sca8er |
2:5853bf44af9f
|
8478
|
|
sca8er |
2:5853bf44af9f
|
8479
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8480
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8481
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8482
|
PsTerminateSystemThread(
|
sca8er |
2:5853bf44af9f
|
8483
|
/*IN*/ NTSTATUS ExitStatus);
|
sca8er |
2:5853bf44af9f
|
8484
|
|
sca8er |
2:5853bf44af9f
|
8485
|
|
sca8er |
2:5853bf44af9f
|
8486
|
|
sca8er |
2:5853bf44af9f
|
8487
|
/** Security reference monitor routines **/
|
sca8er |
2:5853bf44af9f
|
8488
|
|
sca8er |
2:5853bf44af9f
|
8489
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8490
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
8491
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8492
|
SeAccessCheck(
|
sca8er |
2:5853bf44af9f
|
8493
|
/*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
|
sca8er |
2:5853bf44af9f
|
8494
|
/*IN*/ PSECURITY_SUBJECT_CONTEXT SubjectSecurityContext,
|
sca8er |
2:5853bf44af9f
|
8495
|
/*IN*/ BOOLEAN SubjectContextLocked,
|
sca8er |
2:5853bf44af9f
|
8496
|
/*IN*/ ACCESS_MASK DesiredAccess,
|
sca8er |
2:5853bf44af9f
|
8497
|
/*IN*/ ACCESS_MASK PreviouslyGrantedAccess,
|
sca8er |
2:5853bf44af9f
|
8498
|
/*OUT*/ PPRIVILEGE_SET *Privileges /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
8499
|
/*IN*/ PGENERIC_MAPPING GenericMapping,
|
sca8er |
2:5853bf44af9f
|
8500
|
/*IN*/ KPROCESSOR_MODE AccessMode,
|
sca8er |
2:5853bf44af9f
|
8501
|
/*OUT*/ PACCESS_MASK GrantedAccess,
|
sca8er |
2:5853bf44af9f
|
8502
|
/*OUT*/ PNTSTATUS AccessStatus);
|
sca8er |
2:5853bf44af9f
|
8503
|
|
sca8er |
2:5853bf44af9f
|
8504
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8505
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8506
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8507
|
SeAssignSecurity(
|
sca8er |
2:5853bf44af9f
|
8508
|
/*IN*/ PSECURITY_DESCRIPTOR ParentDescriptor /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
8509
|
/*IN*/ PSECURITY_DESCRIPTOR ExplicitDescriptor /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
8510
|
/*OUT*/ PSECURITY_DESCRIPTOR *NewDescriptor,
|
sca8er |
2:5853bf44af9f
|
8511
|
/*IN*/ BOOLEAN IsDirectoryObject,
|
sca8er |
2:5853bf44af9f
|
8512
|
/*IN*/ PSECURITY_SUBJECT_CONTEXT SubjectContext,
|
sca8er |
2:5853bf44af9f
|
8513
|
/*IN*/ PGENERIC_MAPPING GenericMapping,
|
sca8er |
2:5853bf44af9f
|
8514
|
/*IN*/ POOL_TYPE PoolType);
|
sca8er |
2:5853bf44af9f
|
8515
|
|
sca8er |
2:5853bf44af9f
|
8516
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8517
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8518
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8519
|
SeAssignSecurityEx(
|
sca8er |
2:5853bf44af9f
|
8520
|
/*IN*/ PSECURITY_DESCRIPTOR ParentDescriptor /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
8521
|
/*IN*/ PSECURITY_DESCRIPTOR ExplicitDescriptor /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
8522
|
/*OUT*/ PSECURITY_DESCRIPTOR *NewDescriptor,
|
sca8er |
2:5853bf44af9f
|
8523
|
/*IN*/ GUID *ObjectType /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
8524
|
/*IN*/ BOOLEAN IsDirectoryObject,
|
sca8er |
2:5853bf44af9f
|
8525
|
/*IN*/ ULONG AutoInheritFlags,
|
sca8er |
2:5853bf44af9f
|
8526
|
/*IN*/ PSECURITY_SUBJECT_CONTEXT SubjectContext,
|
sca8er |
2:5853bf44af9f
|
8527
|
/*IN*/ PGENERIC_MAPPING GenericMapping,
|
sca8er |
2:5853bf44af9f
|
8528
|
/*IN*/ POOL_TYPE PoolType);
|
sca8er |
2:5853bf44af9f
|
8529
|
|
sca8er |
2:5853bf44af9f
|
8530
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8531
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8532
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8533
|
SeDeassignSecurity(
|
sca8er |
2:5853bf44af9f
|
8534
|
/*IN OUT*/ PSECURITY_DESCRIPTOR *SecurityDescriptor);
|
sca8er |
2:5853bf44af9f
|
8535
|
|
sca8er |
2:5853bf44af9f
|
8536
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8537
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
8538
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8539
|
SeSinglePrivilegeCheck(
|
sca8er |
2:5853bf44af9f
|
8540
|
LUID PrivilegeValue,
|
sca8er |
2:5853bf44af9f
|
8541
|
KPROCESSOR_MODE PreviousMode);
|
sca8er |
2:5853bf44af9f
|
8542
|
|
sca8er |
2:5853bf44af9f
|
8543
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8544
|
BOOLEAN
|
sca8er |
2:5853bf44af9f
|
8545
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8546
|
SeValidSecurityDescriptor(
|
sca8er |
2:5853bf44af9f
|
8547
|
/*IN*/ ULONG Length,
|
sca8er |
2:5853bf44af9f
|
8548
|
/*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor);
|
sca8er |
2:5853bf44af9f
|
8549
|
|
sca8er |
2:5853bf44af9f
|
8550
|
|
sca8er |
2:5853bf44af9f
|
8551
|
|
sca8er |
2:5853bf44af9f
|
8552
|
/** NtXxx routines **/
|
sca8er |
2:5853bf44af9f
|
8553
|
|
sca8er |
2:5853bf44af9f
|
8554
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8555
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8556
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8557
|
NtOpenProcess(
|
sca8er |
2:5853bf44af9f
|
8558
|
/*OUT*/ PHANDLE ProcessHandle,
|
sca8er |
2:5853bf44af9f
|
8559
|
/*IN*/ ACCESS_MASK DesiredAccess,
|
sca8er |
2:5853bf44af9f
|
8560
|
/*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
|
sca8er |
2:5853bf44af9f
|
8561
|
/*IN*/ PCLIENT_ID ClientId /*OPTIONAL*/);
|
sca8er |
2:5853bf44af9f
|
8562
|
|
sca8er |
2:5853bf44af9f
|
8563
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8564
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8565
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8566
|
NtQueryInformationProcess(
|
sca8er |
2:5853bf44af9f
|
8567
|
/*IN*/ HANDLE ProcessHandle,
|
sca8er |
2:5853bf44af9f
|
8568
|
/*IN*/ PROCESSINFOCLASS ProcessInformationClass,
|
sca8er |
2:5853bf44af9f
|
8569
|
/*OUT*/ PVOID ProcessInformation,
|
sca8er |
2:5853bf44af9f
|
8570
|
/*IN*/ ULONG ProcessInformationLength,
|
sca8er |
2:5853bf44af9f
|
8571
|
/*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
|
sca8er |
2:5853bf44af9f
|
8572
|
|
sca8er |
2:5853bf44af9f
|
8573
|
|
sca8er |
2:5853bf44af9f
|
8574
|
|
sca8er |
2:5853bf44af9f
|
8575
|
/** NtXxx and ZwXxx routines **/
|
sca8er |
2:5853bf44af9f
|
8576
|
|
sca8er |
2:5853bf44af9f
|
8577
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8578
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8579
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8580
|
NtCancelTimer(
|
sca8er |
2:5853bf44af9f
|
8581
|
/*IN*/ HANDLE TimerHandle,
|
sca8er |
2:5853bf44af9f
|
8582
|
/*OUT*/ PBOOLEAN CurrentState /*OPTIONAL*/);
|
sca8er |
2:5853bf44af9f
|
8583
|
|
sca8er |
2:5853bf44af9f
|
8584
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8585
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8586
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8587
|
ZwCancelTimer(
|
sca8er |
2:5853bf44af9f
|
8588
|
/*IN*/ HANDLE TimerHandle,
|
sca8er |
2:5853bf44af9f
|
8589
|
/*OUT*/ PBOOLEAN CurrentState /*OPTIONAL*/);
|
sca8er |
2:5853bf44af9f
|
8590
|
|
sca8er |
2:5853bf44af9f
|
8591
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8592
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8593
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8594
|
NtClose(
|
sca8er |
2:5853bf44af9f
|
8595
|
/*IN*/ HANDLE Handle);
|
sca8er |
2:5853bf44af9f
|
8596
|
|
sca8er |
2:5853bf44af9f
|
8597
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8598
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8599
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8600
|
ZwClose(
|
sca8er |
2:5853bf44af9f
|
8601
|
/*IN*/ HANDLE Handle);
|
sca8er |
2:5853bf44af9f
|
8602
|
|
sca8er |
2:5853bf44af9f
|
8603
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8604
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8605
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8606
|
NtCreateDirectoryObject(
|
sca8er |
2:5853bf44af9f
|
8607
|
/*OUT*/ PHANDLE DirectoryHandle,
|
sca8er |
2:5853bf44af9f
|
8608
|
/*IN*/ ACCESS_MASK DesiredAccess,
|
sca8er |
2:5853bf44af9f
|
8609
|
/*IN*/ POBJECT_ATTRIBUTES ObjectAttributes);
|
sca8er |
2:5853bf44af9f
|
8610
|
|
sca8er |
2:5853bf44af9f
|
8611
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8612
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8613
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8614
|
ZwCreateDirectoryObject(
|
sca8er |
2:5853bf44af9f
|
8615
|
/*OUT*/ PHANDLE DirectoryHandle,
|
sca8er |
2:5853bf44af9f
|
8616
|
/*IN*/ ACCESS_MASK DesiredAccess,
|
sca8er |
2:5853bf44af9f
|
8617
|
/*IN*/ POBJECT_ATTRIBUTES ObjectAttributes);
|
sca8er |
2:5853bf44af9f
|
8618
|
|
sca8er |
2:5853bf44af9f
|
8619
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8620
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8621
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8622
|
NtCreateEvent(
|
sca8er |
2:5853bf44af9f
|
8623
|
/*OUT*/ PHANDLE EventHandle,
|
sca8er |
2:5853bf44af9f
|
8624
|
/*IN*/ ACCESS_MASK DesiredAccess,
|
sca8er |
2:5853bf44af9f
|
8625
|
/*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
|
sca8er |
2:5853bf44af9f
|
8626
|
/*IN*/ BOOLEAN ManualReset,
|
sca8er |
2:5853bf44af9f
|
8627
|
/*IN*/ BOOLEAN InitialState);
|
sca8er |
2:5853bf44af9f
|
8628
|
|
sca8er |
2:5853bf44af9f
|
8629
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8630
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8631
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8632
|
ZwCreateEvent(
|
sca8er |
2:5853bf44af9f
|
8633
|
/*OUT*/ PHANDLE EventHandle,
|
sca8er |
2:5853bf44af9f
|
8634
|
/*IN*/ ACCESS_MASK DesiredAccess,
|
sca8er |
2:5853bf44af9f
|
8635
|
/*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
|
sca8er |
2:5853bf44af9f
|
8636
|
/*IN*/ BOOLEAN ManualReset,
|
sca8er |
2:5853bf44af9f
|
8637
|
/*IN*/ BOOLEAN InitialState);
|
sca8er |
2:5853bf44af9f
|
8638
|
|
sca8er |
2:5853bf44af9f
|
8639
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8640
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8641
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8642
|
NtCreateFile(
|
sca8er |
2:5853bf44af9f
|
8643
|
/*OUT*/ PHANDLE FileHandle,
|
sca8er |
2:5853bf44af9f
|
8644
|
/*IN*/ ACCESS_MASK DesiredAccess,
|
sca8er |
2:5853bf44af9f
|
8645
|
/*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
|
sca8er |
2:5853bf44af9f
|
8646
|
/*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
|
sca8er |
2:5853bf44af9f
|
8647
|
/*IN*/ PLARGE_INTEGER AllocationSize /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
8648
|
/*IN*/ ULONG FileAttributes,
|
sca8er |
2:5853bf44af9f
|
8649
|
/*IN*/ ULONG ShareAccess,
|
sca8er |
2:5853bf44af9f
|
8650
|
/*IN*/ ULONG CreateDisposition,
|
sca8er |
2:5853bf44af9f
|
8651
|
/*IN*/ ULONG CreateOptions,
|
sca8er |
2:5853bf44af9f
|
8652
|
/*IN*/ PVOID EaBuffer /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
8653
|
/*IN*/ ULONG EaLength);
|
sca8er |
2:5853bf44af9f
|
8654
|
|
sca8er |
2:5853bf44af9f
|
8655
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8656
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8657
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8658
|
ZwCreateFile(
|
sca8er |
2:5853bf44af9f
|
8659
|
/*OUT*/ PHANDLE FileHandle,
|
sca8er |
2:5853bf44af9f
|
8660
|
/*IN*/ ACCESS_MASK DesiredAccess,
|
sca8er |
2:5853bf44af9f
|
8661
|
/*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
|
sca8er |
2:5853bf44af9f
|
8662
|
/*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
|
sca8er |
2:5853bf44af9f
|
8663
|
/*IN*/ PLARGE_INTEGER AllocationSize /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
8664
|
/*IN*/ ULONG FileAttributes,
|
sca8er |
2:5853bf44af9f
|
8665
|
/*IN*/ ULONG ShareAccess,
|
sca8er |
2:5853bf44af9f
|
8666
|
/*IN*/ ULONG CreateDisposition,
|
sca8er |
2:5853bf44af9f
|
8667
|
/*IN*/ ULONG CreateOptions,
|
sca8er |
2:5853bf44af9f
|
8668
|
/*IN*/ PVOID EaBuffer /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
8669
|
/*IN*/ ULONG EaLength);
|
sca8er |
2:5853bf44af9f
|
8670
|
|
sca8er |
2:5853bf44af9f
|
8671
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8672
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8673
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8674
|
NtCreateKey(
|
sca8er |
2:5853bf44af9f
|
8675
|
/*OUT*/ PHANDLE KeyHandle,
|
sca8er |
2:5853bf44af9f
|
8676
|
/*IN*/ ACCESS_MASK DesiredAccess,
|
sca8er |
2:5853bf44af9f
|
8677
|
/*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
|
sca8er |
2:5853bf44af9f
|
8678
|
/*IN*/ ULONG TitleIndex,
|
sca8er |
2:5853bf44af9f
|
8679
|
/*IN*/ PUNICODE_STRING Class /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
8680
|
/*IN*/ ULONG CreateOptions,
|
sca8er |
2:5853bf44af9f
|
8681
|
/*OUT*/ PULONG Disposition /*OPTIONAL*/);
|
sca8er |
2:5853bf44af9f
|
8682
|
|
sca8er |
2:5853bf44af9f
|
8683
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8684
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8685
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8686
|
ZwCreateKey(
|
sca8er |
2:5853bf44af9f
|
8687
|
/*OUT*/ PHANDLE KeyHandle,
|
sca8er |
2:5853bf44af9f
|
8688
|
/*IN*/ ACCESS_MASK DesiredAccess,
|
sca8er |
2:5853bf44af9f
|
8689
|
/*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
|
sca8er |
2:5853bf44af9f
|
8690
|
/*IN*/ ULONG TitleIndex,
|
sca8er |
2:5853bf44af9f
|
8691
|
/*IN*/ PUNICODE_STRING Class /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
8692
|
/*IN*/ ULONG CreateOptions,
|
sca8er |
2:5853bf44af9f
|
8693
|
/*OUT*/ PULONG Disposition /*OPTIONAL*/);
|
sca8er |
2:5853bf44af9f
|
8694
|
|
sca8er |
2:5853bf44af9f
|
8695
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8696
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8697
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8698
|
NtCreateTimer(
|
sca8er |
2:5853bf44af9f
|
8699
|
/*OUT*/ PHANDLE TimerHandle,
|
sca8er |
2:5853bf44af9f
|
8700
|
/*IN*/ ACCESS_MASK DesiredAccess,
|
sca8er |
2:5853bf44af9f
|
8701
|
/*IN*/ POBJECT_ATTRIBUTES ObjectAttributes /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
8702
|
/*IN*/ TIMER_TYPE TimerType);
|
sca8er |
2:5853bf44af9f
|
8703
|
|
sca8er |
2:5853bf44af9f
|
8704
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8705
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8706
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8707
|
ZwCreateTimer(
|
sca8er |
2:5853bf44af9f
|
8708
|
/*OUT*/ PHANDLE TimerHandle,
|
sca8er |
2:5853bf44af9f
|
8709
|
/*IN*/ ACCESS_MASK DesiredAccess,
|
sca8er |
2:5853bf44af9f
|
8710
|
/*IN*/ POBJECT_ATTRIBUTES ObjectAttributes /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
8711
|
/*IN*/ TIMER_TYPE TimerType);
|
sca8er |
2:5853bf44af9f
|
8712
|
|
sca8er |
2:5853bf44af9f
|
8713
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8714
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8715
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8716
|
NtDeleteKey(
|
sca8er |
2:5853bf44af9f
|
8717
|
/*IN*/ HANDLE KeyHandle);
|
sca8er |
2:5853bf44af9f
|
8718
|
|
sca8er |
2:5853bf44af9f
|
8719
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8720
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8721
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8722
|
ZwDeleteKey(
|
sca8er |
2:5853bf44af9f
|
8723
|
/*IN*/ HANDLE KeyHandle);
|
sca8er |
2:5853bf44af9f
|
8724
|
|
sca8er |
2:5853bf44af9f
|
8725
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8726
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8727
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8728
|
NtDeleteValueKey(
|
sca8er |
2:5853bf44af9f
|
8729
|
/*IN*/ HANDLE KeyHandle,
|
sca8er |
2:5853bf44af9f
|
8730
|
/*IN*/ PUNICODE_STRING ValueName);
|
sca8er |
2:5853bf44af9f
|
8731
|
|
sca8er |
2:5853bf44af9f
|
8732
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8733
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8734
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8735
|
ZwDeleteValueKey(
|
sca8er |
2:5853bf44af9f
|
8736
|
/*IN*/ HANDLE KeyHandle,
|
sca8er |
2:5853bf44af9f
|
8737
|
/*IN*/ PUNICODE_STRING ValueName);
|
sca8er |
2:5853bf44af9f
|
8738
|
|
sca8er |
2:5853bf44af9f
|
8739
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8740
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8741
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8742
|
NtDeviceIoControlFile(
|
sca8er |
2:5853bf44af9f
|
8743
|
/*IN*/ HANDLE DeviceHandle,
|
sca8er |
2:5853bf44af9f
|
8744
|
/*IN*/ HANDLE Event /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
8745
|
/*IN*/ PIO_APC_ROUTINE UserApcRoutine /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
8746
|
/*IN*/ PVOID UserApcContext /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
8747
|
/*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
|
sca8er |
2:5853bf44af9f
|
8748
|
/*IN*/ ULONG IoControlCode,
|
sca8er |
2:5853bf44af9f
|
8749
|
/*IN*/ PVOID InputBuffer,
|
sca8er |
2:5853bf44af9f
|
8750
|
/*IN*/ ULONG InputBufferSize,
|
sca8er |
2:5853bf44af9f
|
8751
|
/*OUT*/ PVOID OutputBuffer,
|
sca8er |
2:5853bf44af9f
|
8752
|
/*IN*/ ULONG OutputBufferSize);
|
sca8er |
2:5853bf44af9f
|
8753
|
|
sca8er |
2:5853bf44af9f
|
8754
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8755
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8756
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8757
|
ZwDeviceIoControlFile(
|
sca8er |
2:5853bf44af9f
|
8758
|
/*IN*/ HANDLE DeviceHandle,
|
sca8er |
2:5853bf44af9f
|
8759
|
/*IN*/ HANDLE Event /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
8760
|
/*IN*/ PIO_APC_ROUTINE UserApcRoutine /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
8761
|
/*IN*/ PVOID UserApcContext /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
8762
|
/*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
|
sca8er |
2:5853bf44af9f
|
8763
|
/*IN*/ ULONG IoControlCode,
|
sca8er |
2:5853bf44af9f
|
8764
|
/*IN*/ PVOID InputBuffer,
|
sca8er |
2:5853bf44af9f
|
8765
|
/*IN*/ ULONG InputBufferSize,
|
sca8er |
2:5853bf44af9f
|
8766
|
/*OUT*/ PVOID OutputBuffer,
|
sca8er |
2:5853bf44af9f
|
8767
|
/*IN*/ ULONG OutputBufferSize);
|
sca8er |
2:5853bf44af9f
|
8768
|
|
sca8er |
2:5853bf44af9f
|
8769
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8770
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8771
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8772
|
NtEnumerateKey(
|
sca8er |
2:5853bf44af9f
|
8773
|
/*IN*/ HANDLE KeyHandle,
|
sca8er |
2:5853bf44af9f
|
8774
|
/*IN*/ ULONG Index,
|
sca8er |
2:5853bf44af9f
|
8775
|
/*IN*/ KEY_INFORMATION_CLASS KeyInformationClass,
|
sca8er |
2:5853bf44af9f
|
8776
|
/*OUT*/ PVOID KeyInformation,
|
sca8er |
2:5853bf44af9f
|
8777
|
/*IN*/ ULONG Length,
|
sca8er |
2:5853bf44af9f
|
8778
|
/*OUT*/ PULONG ResultLength);
|
sca8er |
2:5853bf44af9f
|
8779
|
|
sca8er |
2:5853bf44af9f
|
8780
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8781
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8782
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8783
|
ZwEnumerateKey(
|
sca8er |
2:5853bf44af9f
|
8784
|
/*IN*/ HANDLE KeyHandle,
|
sca8er |
2:5853bf44af9f
|
8785
|
/*IN*/ ULONG Index,
|
sca8er |
2:5853bf44af9f
|
8786
|
/*IN*/ KEY_INFORMATION_CLASS KeyInformationClass,
|
sca8er |
2:5853bf44af9f
|
8787
|
/*OUT*/ PVOID KeyInformation,
|
sca8er |
2:5853bf44af9f
|
8788
|
/*IN*/ ULONG Length,
|
sca8er |
2:5853bf44af9f
|
8789
|
/*OUT*/ PULONG ResultLength);
|
sca8er |
2:5853bf44af9f
|
8790
|
|
sca8er |
2:5853bf44af9f
|
8791
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8792
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8793
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8794
|
NtEnumerateValueKey(
|
sca8er |
2:5853bf44af9f
|
8795
|
/*IN*/ HANDLE KeyHandle,
|
sca8er |
2:5853bf44af9f
|
8796
|
/*IN*/ ULONG Index,
|
sca8er |
2:5853bf44af9f
|
8797
|
/*IN*/ KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
|
sca8er |
2:5853bf44af9f
|
8798
|
/*OUT*/ PVOID KeyValueInformation,
|
sca8er |
2:5853bf44af9f
|
8799
|
/*IN*/ ULONG Length,
|
sca8er |
2:5853bf44af9f
|
8800
|
/*OUT*/ PULONG ResultLength);
|
sca8er |
2:5853bf44af9f
|
8801
|
|
sca8er |
2:5853bf44af9f
|
8802
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8803
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8804
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8805
|
ZwEnumerateValueKey(
|
sca8er |
2:5853bf44af9f
|
8806
|
/*IN*/ HANDLE KeyHandle,
|
sca8er |
2:5853bf44af9f
|
8807
|
/*IN*/ ULONG Index,
|
sca8er |
2:5853bf44af9f
|
8808
|
/*IN*/ KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
|
sca8er |
2:5853bf44af9f
|
8809
|
/*OUT*/ PVOID KeyValueInformation,
|
sca8er |
2:5853bf44af9f
|
8810
|
/*IN*/ ULONG Length,
|
sca8er |
2:5853bf44af9f
|
8811
|
/*OUT*/ PULONG ResultLength);
|
sca8er |
2:5853bf44af9f
|
8812
|
|
sca8er |
2:5853bf44af9f
|
8813
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8814
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8815
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8816
|
NtFlushKey(
|
sca8er |
2:5853bf44af9f
|
8817
|
/*IN*/ HANDLE KeyHandle);
|
sca8er |
2:5853bf44af9f
|
8818
|
|
sca8er |
2:5853bf44af9f
|
8819
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8820
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8821
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8822
|
ZwFlushKey(
|
sca8er |
2:5853bf44af9f
|
8823
|
/*IN*/ HANDLE KeyHandle);
|
sca8er |
2:5853bf44af9f
|
8824
|
|
sca8er |
2:5853bf44af9f
|
8825
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8826
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8827
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8828
|
NtMakeTemporaryObject(
|
sca8er |
2:5853bf44af9f
|
8829
|
/*IN*/ HANDLE Handle);
|
sca8er |
2:5853bf44af9f
|
8830
|
|
sca8er |
2:5853bf44af9f
|
8831
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8832
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8833
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8834
|
ZwMakeTemporaryObject(
|
sca8er |
2:5853bf44af9f
|
8835
|
/*IN*/ HANDLE Handle);
|
sca8er |
2:5853bf44af9f
|
8836
|
|
sca8er |
2:5853bf44af9f
|
8837
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8838
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8839
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8840
|
NtMapViewOfSection(
|
sca8er |
2:5853bf44af9f
|
8841
|
/*IN*/ HANDLE SectionHandle,
|
sca8er |
2:5853bf44af9f
|
8842
|
/*IN*/ HANDLE ProcessHandle,
|
sca8er |
2:5853bf44af9f
|
8843
|
/*IN OUT*/ PVOID *BaseAddress,
|
sca8er |
2:5853bf44af9f
|
8844
|
/*IN*/ ULONG ZeroBits,
|
sca8er |
2:5853bf44af9f
|
8845
|
/*IN*/ ULONG CommitSize,
|
sca8er |
2:5853bf44af9f
|
8846
|
/*IN OUT*/ PLARGE_INTEGER SectionOffset /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
8847
|
/*IN OUT*/ PSIZE_T ViewSize,
|
sca8er |
2:5853bf44af9f
|
8848
|
/*IN*/ SECTION_INHERIT InheritDisposition,
|
sca8er |
2:5853bf44af9f
|
8849
|
/*IN*/ ULONG AllocationType,
|
sca8er |
2:5853bf44af9f
|
8850
|
/*IN*/ ULONG Protect);
|
sca8er |
2:5853bf44af9f
|
8851
|
|
sca8er |
2:5853bf44af9f
|
8852
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8853
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8854
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8855
|
ZwMapViewOfSection(
|
sca8er |
2:5853bf44af9f
|
8856
|
/*IN*/ HANDLE SectionHandle,
|
sca8er |
2:5853bf44af9f
|
8857
|
/*IN*/ HANDLE ProcessHandle,
|
sca8er |
2:5853bf44af9f
|
8858
|
/*IN OUT*/ PVOID *BaseAddress,
|
sca8er |
2:5853bf44af9f
|
8859
|
/*IN*/ ULONG ZeroBits,
|
sca8er |
2:5853bf44af9f
|
8860
|
/*IN*/ ULONG CommitSize,
|
sca8er |
2:5853bf44af9f
|
8861
|
/*IN OUT*/ PLARGE_INTEGER SectionOffset /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
8862
|
/*IN OUT*/ PSIZE_T ViewSize,
|
sca8er |
2:5853bf44af9f
|
8863
|
/*IN*/ SECTION_INHERIT InheritDisposition,
|
sca8er |
2:5853bf44af9f
|
8864
|
/*IN*/ ULONG AllocationType,
|
sca8er |
2:5853bf44af9f
|
8865
|
/*IN*/ ULONG Protect);
|
sca8er |
2:5853bf44af9f
|
8866
|
|
sca8er |
2:5853bf44af9f
|
8867
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8868
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8869
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8870
|
NtOpenFile(
|
sca8er |
2:5853bf44af9f
|
8871
|
/*OUT*/ PHANDLE FileHandle,
|
sca8er |
2:5853bf44af9f
|
8872
|
/*IN*/ ACCESS_MASK DesiredAccess,
|
sca8er |
2:5853bf44af9f
|
8873
|
/*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
|
sca8er |
2:5853bf44af9f
|
8874
|
/*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
|
sca8er |
2:5853bf44af9f
|
8875
|
/*IN*/ ULONG ShareAccess,
|
sca8er |
2:5853bf44af9f
|
8876
|
/*IN*/ ULONG OpenOptions);
|
sca8er |
2:5853bf44af9f
|
8877
|
|
sca8er |
2:5853bf44af9f
|
8878
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8879
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8880
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8881
|
ZwOpenFile(
|
sca8er |
2:5853bf44af9f
|
8882
|
/*OUT*/ PHANDLE FileHandle,
|
sca8er |
2:5853bf44af9f
|
8883
|
/*IN*/ ACCESS_MASK DesiredAccess,
|
sca8er |
2:5853bf44af9f
|
8884
|
/*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
|
sca8er |
2:5853bf44af9f
|
8885
|
/*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
|
sca8er |
2:5853bf44af9f
|
8886
|
/*IN*/ ULONG ShareAccess,
|
sca8er |
2:5853bf44af9f
|
8887
|
/*IN*/ ULONG OpenOptions);
|
sca8er |
2:5853bf44af9f
|
8888
|
|
sca8er |
2:5853bf44af9f
|
8889
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8890
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8891
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8892
|
NtOpenKey(
|
sca8er |
2:5853bf44af9f
|
8893
|
/*OUT*/ PHANDLE KeyHandle,
|
sca8er |
2:5853bf44af9f
|
8894
|
/*IN*/ ACCESS_MASK DesiredAccess,
|
sca8er |
2:5853bf44af9f
|
8895
|
/*IN*/ POBJECT_ATTRIBUTES ObjectAttributes);
|
sca8er |
2:5853bf44af9f
|
8896
|
|
sca8er |
2:5853bf44af9f
|
8897
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8898
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8899
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8900
|
ZwOpenKey(
|
sca8er |
2:5853bf44af9f
|
8901
|
/*OUT*/ PHANDLE KeyHandle,
|
sca8er |
2:5853bf44af9f
|
8902
|
/*IN*/ ACCESS_MASK DesiredAccess,
|
sca8er |
2:5853bf44af9f
|
8903
|
/*IN*/ POBJECT_ATTRIBUTES ObjectAttributes);
|
sca8er |
2:5853bf44af9f
|
8904
|
|
sca8er |
2:5853bf44af9f
|
8905
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8906
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8907
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8908
|
NtOpenSection(
|
sca8er |
2:5853bf44af9f
|
8909
|
/*OUT*/ PHANDLE SectionHandle,
|
sca8er |
2:5853bf44af9f
|
8910
|
/*IN*/ ACCESS_MASK DesiredAccess,
|
sca8er |
2:5853bf44af9f
|
8911
|
/*IN*/ POBJECT_ATTRIBUTES ObjectAttributes);
|
sca8er |
2:5853bf44af9f
|
8912
|
|
sca8er |
2:5853bf44af9f
|
8913
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8914
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8915
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8916
|
ZwOpenSection(
|
sca8er |
2:5853bf44af9f
|
8917
|
/*OUT*/ PHANDLE SectionHandle,
|
sca8er |
2:5853bf44af9f
|
8918
|
/*IN*/ ACCESS_MASK DesiredAccess,
|
sca8er |
2:5853bf44af9f
|
8919
|
/*IN*/ POBJECT_ATTRIBUTES ObjectAttributes);
|
sca8er |
2:5853bf44af9f
|
8920
|
|
sca8er |
2:5853bf44af9f
|
8921
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8922
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8923
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8924
|
NtOpenSymbolicLinkObject(
|
sca8er |
2:5853bf44af9f
|
8925
|
/*OUT*/ PHANDLE LinkHandle,
|
sca8er |
2:5853bf44af9f
|
8926
|
/*IN*/ ACCESS_MASK DesiredAccess,
|
sca8er |
2:5853bf44af9f
|
8927
|
/*IN*/ POBJECT_ATTRIBUTES ObjectAttributes);
|
sca8er |
2:5853bf44af9f
|
8928
|
|
sca8er |
2:5853bf44af9f
|
8929
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8930
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8931
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8932
|
ZwOpenSymbolicLinkObject(
|
sca8er |
2:5853bf44af9f
|
8933
|
/*OUT*/ PHANDLE LinkHandle,
|
sca8er |
2:5853bf44af9f
|
8934
|
/*IN*/ ACCESS_MASK DesiredAccess,
|
sca8er |
2:5853bf44af9f
|
8935
|
/*IN*/ POBJECT_ATTRIBUTES ObjectAttributes);
|
sca8er |
2:5853bf44af9f
|
8936
|
|
sca8er |
2:5853bf44af9f
|
8937
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8938
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8939
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8940
|
NtOpenTimer(
|
sca8er |
2:5853bf44af9f
|
8941
|
/*OUT*/ PHANDLE TimerHandle,
|
sca8er |
2:5853bf44af9f
|
8942
|
/*IN*/ ACCESS_MASK DesiredAccess,
|
sca8er |
2:5853bf44af9f
|
8943
|
/*IN*/ POBJECT_ATTRIBUTES ObjectAttributes);
|
sca8er |
2:5853bf44af9f
|
8944
|
|
sca8er |
2:5853bf44af9f
|
8945
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8946
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8947
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8948
|
ZwOpenTimer(
|
sca8er |
2:5853bf44af9f
|
8949
|
/*OUT*/ PHANDLE TimerHandle,
|
sca8er |
2:5853bf44af9f
|
8950
|
/*IN*/ ACCESS_MASK DesiredAccess,
|
sca8er |
2:5853bf44af9f
|
8951
|
/*IN*/ POBJECT_ATTRIBUTES ObjectAttributes);
|
sca8er |
2:5853bf44af9f
|
8952
|
|
sca8er |
2:5853bf44af9f
|
8953
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8954
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8955
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8956
|
NtQueryInformationFile(
|
sca8er |
2:5853bf44af9f
|
8957
|
/*IN*/ HANDLE FileHandle,
|
sca8er |
2:5853bf44af9f
|
8958
|
/*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
|
sca8er |
2:5853bf44af9f
|
8959
|
/*OUT*/ PVOID FileInformation,
|
sca8er |
2:5853bf44af9f
|
8960
|
/*IN*/ ULONG Length,
|
sca8er |
2:5853bf44af9f
|
8961
|
/*IN*/ FILE_INFORMATION_CLASS FileInformationClass);
|
sca8er |
2:5853bf44af9f
|
8962
|
|
sca8er |
2:5853bf44af9f
|
8963
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8964
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8965
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8966
|
ZwQueryInformationFile(
|
sca8er |
2:5853bf44af9f
|
8967
|
/*IN*/ HANDLE FileHandle,
|
sca8er |
2:5853bf44af9f
|
8968
|
/*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
|
sca8er |
2:5853bf44af9f
|
8969
|
/*OUT*/ PVOID FileInformation,
|
sca8er |
2:5853bf44af9f
|
8970
|
/*IN*/ ULONG Length,
|
sca8er |
2:5853bf44af9f
|
8971
|
/*IN*/ FILE_INFORMATION_CLASS FileInformationClass);
|
sca8er |
2:5853bf44af9f
|
8972
|
|
sca8er |
2:5853bf44af9f
|
8973
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8974
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8975
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8976
|
NtQueryKey(
|
sca8er |
2:5853bf44af9f
|
8977
|
/*IN*/ HANDLE KeyHandle,
|
sca8er |
2:5853bf44af9f
|
8978
|
/*IN*/ KEY_INFORMATION_CLASS KeyInformationClass,
|
sca8er |
2:5853bf44af9f
|
8979
|
/*OUT*/ PVOID KeyInformation,
|
sca8er |
2:5853bf44af9f
|
8980
|
/*IN*/ ULONG Length,
|
sca8er |
2:5853bf44af9f
|
8981
|
/*OUT*/ PULONG ResultLength);
|
sca8er |
2:5853bf44af9f
|
8982
|
|
sca8er |
2:5853bf44af9f
|
8983
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8984
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8985
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8986
|
ZwQueryKey(
|
sca8er |
2:5853bf44af9f
|
8987
|
/*IN*/ HANDLE KeyHandle,
|
sca8er |
2:5853bf44af9f
|
8988
|
/*IN*/ KEY_INFORMATION_CLASS KeyInformationClass,
|
sca8er |
2:5853bf44af9f
|
8989
|
/*OUT*/ PVOID KeyInformation,
|
sca8er |
2:5853bf44af9f
|
8990
|
/*IN*/ ULONG Length,
|
sca8er |
2:5853bf44af9f
|
8991
|
/*OUT*/ PULONG ResultLength);
|
sca8er |
2:5853bf44af9f
|
8992
|
|
sca8er |
2:5853bf44af9f
|
8993
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
8994
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
8995
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
8996
|
NtQuerySymbolicLinkObject(
|
sca8er |
2:5853bf44af9f
|
8997
|
/*IN*/ HANDLE LinkHandle,
|
sca8er |
2:5853bf44af9f
|
8998
|
/*IN OUT*/ PUNICODE_STRING LinkTarget,
|
sca8er |
2:5853bf44af9f
|
8999
|
/*OUT*/ PULONG ReturnedLength /*OPTIONAL*/);
|
sca8er |
2:5853bf44af9f
|
9000
|
|
sca8er |
2:5853bf44af9f
|
9001
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9002
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
9003
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9004
|
ZwQuerySymbolicLinkObject(
|
sca8er |
2:5853bf44af9f
|
9005
|
/*IN*/ HANDLE LinkHandle,
|
sca8er |
2:5853bf44af9f
|
9006
|
/*IN OUT*/ PUNICODE_STRING LinkTarget,
|
sca8er |
2:5853bf44af9f
|
9007
|
/*OUT*/ PULONG ReturnedLength /*OPTIONAL*/);
|
sca8er |
2:5853bf44af9f
|
9008
|
|
sca8er |
2:5853bf44af9f
|
9009
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9010
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
9011
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9012
|
NtQueryValueKey(
|
sca8er |
2:5853bf44af9f
|
9013
|
/*IN*/ HANDLE KeyHandle,
|
sca8er |
2:5853bf44af9f
|
9014
|
/*IN*/ PUNICODE_STRING ValueName,
|
sca8er |
2:5853bf44af9f
|
9015
|
/*IN*/ KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
|
sca8er |
2:5853bf44af9f
|
9016
|
/*OUT*/ PVOID KeyValueInformation,
|
sca8er |
2:5853bf44af9f
|
9017
|
/*IN*/ ULONG Length,
|
sca8er |
2:5853bf44af9f
|
9018
|
/*OUT*/ PULONG ResultLength);
|
sca8er |
2:5853bf44af9f
|
9019
|
|
sca8er |
2:5853bf44af9f
|
9020
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9021
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
9022
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9023
|
ZwQueryValueKey(
|
sca8er |
2:5853bf44af9f
|
9024
|
/*IN*/ HANDLE KeyHandle,
|
sca8er |
2:5853bf44af9f
|
9025
|
/*IN*/ PUNICODE_STRING ValueName,
|
sca8er |
2:5853bf44af9f
|
9026
|
/*IN*/ KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
|
sca8er |
2:5853bf44af9f
|
9027
|
/*OUT*/ PVOID KeyValueInformation,
|
sca8er |
2:5853bf44af9f
|
9028
|
/*IN*/ ULONG Length,
|
sca8er |
2:5853bf44af9f
|
9029
|
/*OUT*/ PULONG ResultLength);
|
sca8er |
2:5853bf44af9f
|
9030
|
|
sca8er |
2:5853bf44af9f
|
9031
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9032
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
9033
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9034
|
NtReadFile(
|
sca8er |
2:5853bf44af9f
|
9035
|
/*IN*/ HANDLE FileHandle,
|
sca8er |
2:5853bf44af9f
|
9036
|
/*IN*/ HANDLE Event /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
9037
|
/*IN*/ PIO_APC_ROUTINE ApcRoutine /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
9038
|
/*IN*/ PVOID ApcContext /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
9039
|
/*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
|
sca8er |
2:5853bf44af9f
|
9040
|
/*OUT*/ PVOID Buffer,
|
sca8er |
2:5853bf44af9f
|
9041
|
/*IN*/ ULONG Length,
|
sca8er |
2:5853bf44af9f
|
9042
|
/*IN*/ PLARGE_INTEGER ByteOffset /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
9043
|
/*IN*/ PULONG Key /*OPTIONAL*/);
|
sca8er |
2:5853bf44af9f
|
9044
|
|
sca8er |
2:5853bf44af9f
|
9045
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9046
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
9047
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9048
|
ZwReadFile(
|
sca8er |
2:5853bf44af9f
|
9049
|
/*IN*/ HANDLE FileHandle,
|
sca8er |
2:5853bf44af9f
|
9050
|
/*IN*/ HANDLE Event /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
9051
|
/*IN*/ PIO_APC_ROUTINE ApcRoutine /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
9052
|
/*IN*/ PVOID ApcContext /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
9053
|
/*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
|
sca8er |
2:5853bf44af9f
|
9054
|
/*OUT*/ PVOID Buffer,
|
sca8er |
2:5853bf44af9f
|
9055
|
/*IN*/ ULONG Length,
|
sca8er |
2:5853bf44af9f
|
9056
|
/*IN*/ PLARGE_INTEGER ByteOffset /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
9057
|
/*IN*/ PULONG Key /*OPTIONAL*/);
|
sca8er |
2:5853bf44af9f
|
9058
|
|
sca8er |
2:5853bf44af9f
|
9059
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9060
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
9061
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9062
|
NtSetEvent(
|
sca8er |
2:5853bf44af9f
|
9063
|
/*IN*/ HANDLE EventHandle,
|
sca8er |
2:5853bf44af9f
|
9064
|
/*IN*/ PULONG NumberOfThreadsReleased);
|
sca8er |
2:5853bf44af9f
|
9065
|
|
sca8er |
2:5853bf44af9f
|
9066
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9067
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
9068
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9069
|
ZwSetEvent(
|
sca8er |
2:5853bf44af9f
|
9070
|
/*IN*/ HANDLE EventHandle,
|
sca8er |
2:5853bf44af9f
|
9071
|
/*IN*/ PULONG NumberOfThreadsReleased);
|
sca8er |
2:5853bf44af9f
|
9072
|
|
sca8er |
2:5853bf44af9f
|
9073
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9074
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
9075
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9076
|
NtSetInformationFile(
|
sca8er |
2:5853bf44af9f
|
9077
|
/*IN*/ HANDLE FileHandle,
|
sca8er |
2:5853bf44af9f
|
9078
|
/*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
|
sca8er |
2:5853bf44af9f
|
9079
|
/*IN*/ PVOID FileInformation,
|
sca8er |
2:5853bf44af9f
|
9080
|
/*IN*/ ULONG Length,
|
sca8er |
2:5853bf44af9f
|
9081
|
/*IN*/ FILE_INFORMATION_CLASS FileInformationClass);
|
sca8er |
2:5853bf44af9f
|
9082
|
|
sca8er |
2:5853bf44af9f
|
9083
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9084
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
9085
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9086
|
ZwSetInformationFile(
|
sca8er |
2:5853bf44af9f
|
9087
|
/*IN*/ HANDLE FileHandle,
|
sca8er |
2:5853bf44af9f
|
9088
|
/*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
|
sca8er |
2:5853bf44af9f
|
9089
|
/*IN*/ PVOID FileInformation,
|
sca8er |
2:5853bf44af9f
|
9090
|
/*IN*/ ULONG Length,
|
sca8er |
2:5853bf44af9f
|
9091
|
/*IN*/ FILE_INFORMATION_CLASS FileInformationClass);
|
sca8er |
2:5853bf44af9f
|
9092
|
|
sca8er |
2:5853bf44af9f
|
9093
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9094
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
9095
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9096
|
NtSetInformationThread(
|
sca8er |
2:5853bf44af9f
|
9097
|
/*IN*/ HANDLE ThreadHandle,
|
sca8er |
2:5853bf44af9f
|
9098
|
/*IN*/ THREADINFOCLASS ThreadInformationClass,
|
sca8er |
2:5853bf44af9f
|
9099
|
/*IN*/ PVOID ThreadInformation,
|
sca8er |
2:5853bf44af9f
|
9100
|
/*IN*/ ULONG ThreadInformationLength);
|
sca8er |
2:5853bf44af9f
|
9101
|
|
sca8er |
2:5853bf44af9f
|
9102
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9103
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
9104
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9105
|
ZwSetInformationThread(
|
sca8er |
2:5853bf44af9f
|
9106
|
/*IN*/ HANDLE ThreadHandle,
|
sca8er |
2:5853bf44af9f
|
9107
|
/*IN*/ THREADINFOCLASS ThreadInformationClass,
|
sca8er |
2:5853bf44af9f
|
9108
|
/*IN*/ PVOID ThreadInformation,
|
sca8er |
2:5853bf44af9f
|
9109
|
/*IN*/ ULONG ThreadInformationLength);
|
sca8er |
2:5853bf44af9f
|
9110
|
|
sca8er |
2:5853bf44af9f
|
9111
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9112
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
9113
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9114
|
NtSetTimer(
|
sca8er |
2:5853bf44af9f
|
9115
|
/*IN*/ HANDLE TimerHandle,
|
sca8er |
2:5853bf44af9f
|
9116
|
/*IN*/ PLARGE_INTEGER DueTime,
|
sca8er |
2:5853bf44af9f
|
9117
|
/*IN*/ PTIMER_APC_ROUTINE TimerApcRoutine /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
9118
|
/*IN*/ PVOID TimerContext /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
9119
|
/*IN*/ BOOLEAN WakeTimer,
|
sca8er |
2:5853bf44af9f
|
9120
|
/*IN*/ LONG Period /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
9121
|
/*OUT*/ PBOOLEAN PreviousState /*OPTIONAL*/);
|
sca8er |
2:5853bf44af9f
|
9122
|
|
sca8er |
2:5853bf44af9f
|
9123
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9124
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
9125
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9126
|
ZwSetTimer(
|
sca8er |
2:5853bf44af9f
|
9127
|
/*IN*/ HANDLE TimerHandle,
|
sca8er |
2:5853bf44af9f
|
9128
|
/*IN*/ PLARGE_INTEGER DueTime,
|
sca8er |
2:5853bf44af9f
|
9129
|
/*IN*/ PTIMER_APC_ROUTINE TimerApcRoutine /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
9130
|
/*IN*/ PVOID TimerContext /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
9131
|
/*IN*/ BOOLEAN WakeTimer,
|
sca8er |
2:5853bf44af9f
|
9132
|
/*IN*/ LONG Period /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
9133
|
/*OUT*/ PBOOLEAN PreviousState /*OPTIONAL*/);
|
sca8er |
2:5853bf44af9f
|
9134
|
|
sca8er |
2:5853bf44af9f
|
9135
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9136
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
9137
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9138
|
NtSetValueKey(
|
sca8er |
2:5853bf44af9f
|
9139
|
/*IN*/ HANDLE KeyHandle,
|
sca8er |
2:5853bf44af9f
|
9140
|
/*IN*/ PUNICODE_STRING ValueName,
|
sca8er |
2:5853bf44af9f
|
9141
|
/*IN*/ ULONG TitleIndex /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
9142
|
/*IN*/ ULONG Type,
|
sca8er |
2:5853bf44af9f
|
9143
|
/*IN*/ PVOID Data,
|
sca8er |
2:5853bf44af9f
|
9144
|
/*IN*/ ULONG DataSize);
|
sca8er |
2:5853bf44af9f
|
9145
|
|
sca8er |
2:5853bf44af9f
|
9146
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9147
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
9148
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9149
|
ZwSetValueKey(
|
sca8er |
2:5853bf44af9f
|
9150
|
/*IN*/ HANDLE KeyHandle,
|
sca8er |
2:5853bf44af9f
|
9151
|
/*IN*/ PUNICODE_STRING ValueName,
|
sca8er |
2:5853bf44af9f
|
9152
|
/*IN*/ ULONG TitleIndex /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
9153
|
/*IN*/ ULONG Type,
|
sca8er |
2:5853bf44af9f
|
9154
|
/*IN*/ PVOID Data,
|
sca8er |
2:5853bf44af9f
|
9155
|
/*IN*/ ULONG DataSize);
|
sca8er |
2:5853bf44af9f
|
9156
|
|
sca8er |
2:5853bf44af9f
|
9157
|
/* [Nt|Zw]MapViewOfSection.InheritDisposition constants */
|
sca8er |
2:5853bf44af9f
|
9158
|
#define AT_EXTENDABLE_FILE 0x00002000
|
sca8er |
2:5853bf44af9f
|
9159
|
#define SEC_NO_CHANGE 0x00400000
|
sca8er |
2:5853bf44af9f
|
9160
|
#define AT_RESERVED 0x20000000
|
sca8er |
2:5853bf44af9f
|
9161
|
#define AT_ROUND_TO_PAGE 0x40000000
|
sca8er |
2:5853bf44af9f
|
9162
|
|
sca8er |
2:5853bf44af9f
|
9163
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9164
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
9165
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9166
|
NtUnmapViewOfSection(
|
sca8er |
2:5853bf44af9f
|
9167
|
/*IN*/ HANDLE ProcessHandle,
|
sca8er |
2:5853bf44af9f
|
9168
|
/*IN*/ PVOID BaseAddress);
|
sca8er |
2:5853bf44af9f
|
9169
|
|
sca8er |
2:5853bf44af9f
|
9170
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9171
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
9172
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9173
|
ZwUnmapViewOfSection(
|
sca8er |
2:5853bf44af9f
|
9174
|
/*IN*/ HANDLE ProcessHandle,
|
sca8er |
2:5853bf44af9f
|
9175
|
/*IN*/ PVOID BaseAddress);
|
sca8er |
2:5853bf44af9f
|
9176
|
|
sca8er |
2:5853bf44af9f
|
9177
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9178
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
9179
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9180
|
NtWaitForSingleObject(
|
sca8er |
2:5853bf44af9f
|
9181
|
/*IN*/ HANDLE Object,
|
sca8er |
2:5853bf44af9f
|
9182
|
/*IN*/ BOOLEAN Alertable,
|
sca8er |
2:5853bf44af9f
|
9183
|
/*IN*/ PLARGE_INTEGER Time);
|
sca8er |
2:5853bf44af9f
|
9184
|
|
sca8er |
2:5853bf44af9f
|
9185
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9186
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
9187
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9188
|
ZwWaitForSingleObject(
|
sca8er |
2:5853bf44af9f
|
9189
|
/*IN*/ HANDLE Object,
|
sca8er |
2:5853bf44af9f
|
9190
|
/*IN*/ BOOLEAN Alertable,
|
sca8er |
2:5853bf44af9f
|
9191
|
/*IN*/ PLARGE_INTEGER Time);
|
sca8er |
2:5853bf44af9f
|
9192
|
|
sca8er |
2:5853bf44af9f
|
9193
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9194
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
9195
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9196
|
NtWriteFile(
|
sca8er |
2:5853bf44af9f
|
9197
|
/*IN*/ HANDLE FileHandle,
|
sca8er |
2:5853bf44af9f
|
9198
|
/*IN*/ HANDLE Event /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
9199
|
/*IN*/ PIO_APC_ROUTINE ApcRoutine /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
9200
|
/*IN*/ PVOID ApcContext /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
9201
|
/*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
|
sca8er |
2:5853bf44af9f
|
9202
|
/*IN*/ PVOID Buffer,
|
sca8er |
2:5853bf44af9f
|
9203
|
/*IN*/ ULONG Length,
|
sca8er |
2:5853bf44af9f
|
9204
|
/*IN*/ PLARGE_INTEGER ByteOffset /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
9205
|
/*IN*/ PULONG Key /*OPTIONAL*/);
|
sca8er |
2:5853bf44af9f
|
9206
|
|
sca8er |
2:5853bf44af9f
|
9207
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9208
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
9209
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9210
|
ZwWriteFile(
|
sca8er |
2:5853bf44af9f
|
9211
|
/*IN*/ HANDLE FileHandle,
|
sca8er |
2:5853bf44af9f
|
9212
|
/*IN*/ HANDLE Event /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
9213
|
/*IN*/ PIO_APC_ROUTINE ApcRoutine /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
9214
|
/*IN*/ PVOID ApcContext /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
9215
|
/*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
|
sca8er |
2:5853bf44af9f
|
9216
|
/*IN*/ PVOID Buffer,
|
sca8er |
2:5853bf44af9f
|
9217
|
/*IN*/ ULONG Length,
|
sca8er |
2:5853bf44af9f
|
9218
|
/*IN*/ PLARGE_INTEGER ByteOffset /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
9219
|
/*IN*/ PULONG Key /*OPTIONAL*/);
|
sca8er |
2:5853bf44af9f
|
9220
|
|
sca8er |
2:5853bf44af9f
|
9221
|
|
sca8er |
2:5853bf44af9f
|
9222
|
|
sca8er |
2:5853bf44af9f
|
9223
|
/** Power management support routines **/
|
sca8er |
2:5853bf44af9f
|
9224
|
|
sca8er |
2:5853bf44af9f
|
9225
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9226
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
9227
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9228
|
PoCallDriver(
|
sca8er |
2:5853bf44af9f
|
9229
|
/*IN*/ PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
9230
|
/*IN OUT*/ PIRP Irp);
|
sca8er |
2:5853bf44af9f
|
9231
|
|
sca8er |
2:5853bf44af9f
|
9232
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9233
|
PULONG
|
sca8er |
2:5853bf44af9f
|
9234
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9235
|
PoRegisterDeviceForIdleDetection(
|
sca8er |
2:5853bf44af9f
|
9236
|
/*IN*/ PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
9237
|
/*IN*/ ULONG ConservationIdleTime,
|
sca8er |
2:5853bf44af9f
|
9238
|
/*IN*/ ULONG PerformanceIdleTime,
|
sca8er |
2:5853bf44af9f
|
9239
|
/*IN*/ DEVICE_POWER_STATE State);
|
sca8er |
2:5853bf44af9f
|
9240
|
|
sca8er |
2:5853bf44af9f
|
9241
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9242
|
PVOID
|
sca8er |
2:5853bf44af9f
|
9243
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9244
|
PoRegisterSystemState(
|
sca8er |
2:5853bf44af9f
|
9245
|
/*IN*/ PVOID StateHandle,
|
sca8er |
2:5853bf44af9f
|
9246
|
/*IN*/ EXECUTION_STATE Flags);
|
sca8er |
2:5853bf44af9f
|
9247
|
|
sca8er |
2:5853bf44af9f
|
9248
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9249
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
9250
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9251
|
PoRequestPowerIrp(
|
sca8er |
2:5853bf44af9f
|
9252
|
/*IN*/ PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
9253
|
/*IN*/ UCHAR MinorFunction,
|
sca8er |
2:5853bf44af9f
|
9254
|
/*IN*/ POWER_STATE PowerState,
|
sca8er |
2:5853bf44af9f
|
9255
|
/*IN*/ PREQUEST_POWER_COMPLETE CompletionFunction,
|
sca8er |
2:5853bf44af9f
|
9256
|
/*IN*/ PVOID Context,
|
sca8er |
2:5853bf44af9f
|
9257
|
/*OUT*/ PIRP *Irp /*OPTIONAL*/);
|
sca8er |
2:5853bf44af9f
|
9258
|
|
sca8er |
2:5853bf44af9f
|
9259
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9260
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
9261
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9262
|
PoRequestShutdownEvent(
|
sca8er |
2:5853bf44af9f
|
9263
|
/*OUT*/ PVOID *Event);
|
sca8er |
2:5853bf44af9f
|
9264
|
|
sca8er |
2:5853bf44af9f
|
9265
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9266
|
VOID
|
sca8er |
2:5853bf44af9f
|
9267
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9268
|
PoSetDeviceBusy(
|
sca8er |
2:5853bf44af9f
|
9269
|
PULONG IdlePointer);
|
sca8er |
2:5853bf44af9f
|
9270
|
|
sca8er |
2:5853bf44af9f
|
9271
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9272
|
POWER_STATE
|
sca8er |
2:5853bf44af9f
|
9273
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9274
|
PoSetPowerState(
|
sca8er |
2:5853bf44af9f
|
9275
|
/*IN*/ PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
9276
|
/*IN*/ POWER_STATE_TYPE Type,
|
sca8er |
2:5853bf44af9f
|
9277
|
/*IN*/ POWER_STATE State);
|
sca8er |
2:5853bf44af9f
|
9278
|
|
sca8er |
2:5853bf44af9f
|
9279
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9280
|
VOID
|
sca8er |
2:5853bf44af9f
|
9281
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9282
|
PoSetSystemState(
|
sca8er |
2:5853bf44af9f
|
9283
|
/*IN*/ EXECUTION_STATE Flags);
|
sca8er |
2:5853bf44af9f
|
9284
|
|
sca8er |
2:5853bf44af9f
|
9285
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9286
|
VOID
|
sca8er |
2:5853bf44af9f
|
9287
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9288
|
PoStartNextPowerIrp(
|
sca8er |
2:5853bf44af9f
|
9289
|
/*IN*/ PIRP Irp);
|
sca8er |
2:5853bf44af9f
|
9290
|
|
sca8er |
2:5853bf44af9f
|
9291
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9292
|
VOID
|
sca8er |
2:5853bf44af9f
|
9293
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9294
|
PoUnregisterSystemState(
|
sca8er |
2:5853bf44af9f
|
9295
|
/*IN*/ PVOID StateHandle);
|
sca8er |
2:5853bf44af9f
|
9296
|
|
sca8er |
2:5853bf44af9f
|
9297
|
|
sca8er |
2:5853bf44af9f
|
9298
|
|
sca8er |
2:5853bf44af9f
|
9299
|
/** WMI library support routines **/
|
sca8er |
2:5853bf44af9f
|
9300
|
|
sca8er |
2:5853bf44af9f
|
9301
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9302
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
9303
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9304
|
WmiCompleteRequest(
|
sca8er |
2:5853bf44af9f
|
9305
|
/*IN*/ PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
9306
|
/*IN*/ PIRP Irp,
|
sca8er |
2:5853bf44af9f
|
9307
|
/*IN*/ NTSTATUS Status,
|
sca8er |
2:5853bf44af9f
|
9308
|
/*IN*/ ULONG BufferUsed,
|
sca8er |
2:5853bf44af9f
|
9309
|
/*IN*/ CCHAR PriorityBoost);
|
sca8er |
2:5853bf44af9f
|
9310
|
|
sca8er |
2:5853bf44af9f
|
9311
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9312
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
9313
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9314
|
WmiFireEvent(
|
sca8er |
2:5853bf44af9f
|
9315
|
/*IN*/ PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
9316
|
/*IN*/ LPGUID Guid,
|
sca8er |
2:5853bf44af9f
|
9317
|
/*IN*/ ULONG InstanceIndex,
|
sca8er |
2:5853bf44af9f
|
9318
|
/*IN*/ ULONG EventDataSize,
|
sca8er |
2:5853bf44af9f
|
9319
|
/*IN*/ PVOID EventData);
|
sca8er |
2:5853bf44af9f
|
9320
|
|
sca8er |
2:5853bf44af9f
|
9321
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9322
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
9323
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9324
|
WmiQueryTraceInformation(
|
sca8er |
2:5853bf44af9f
|
9325
|
/*IN*/ TRACE_INFORMATION_CLASS TraceInformationClass,
|
sca8er |
2:5853bf44af9f
|
9326
|
/*OUT*/ PVOID TraceInformation,
|
sca8er |
2:5853bf44af9f
|
9327
|
/*IN*/ ULONG TraceInformationLength,
|
sca8er |
2:5853bf44af9f
|
9328
|
/*OUT*/ PULONG RequiredLength /*OPTIONAL*/,
|
sca8er |
2:5853bf44af9f
|
9329
|
/*IN*/ PVOID Buffer /*OPTIONAL*/);
|
sca8er |
2:5853bf44af9f
|
9330
|
|
sca8er |
2:5853bf44af9f
|
9331
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9332
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
9333
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9334
|
WmiSystemControl(
|
sca8er |
2:5853bf44af9f
|
9335
|
/*IN*/ PWMILIB_CONTEXT WmiLibInfo,
|
sca8er |
2:5853bf44af9f
|
9336
|
/*IN*/ PDEVICE_OBJECT DeviceObject,
|
sca8er |
2:5853bf44af9f
|
9337
|
/*IN*/ PIRP Irp,
|
sca8er |
2:5853bf44af9f
|
9338
|
/*OUT*/ PSYSCTL_IRP_DISPOSITION IrpDisposition);
|
sca8er |
2:5853bf44af9f
|
9339
|
|
sca8er |
2:5853bf44af9f
|
9340
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9341
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
9342
|
DDKCDECLAPI
|
sca8er |
2:5853bf44af9f
|
9343
|
WmiTraceMessage(
|
sca8er |
2:5853bf44af9f
|
9344
|
/*IN*/ TRACEHANDLE LoggerHandle,
|
sca8er |
2:5853bf44af9f
|
9345
|
/*IN*/ ULONG MessageFlags,
|
sca8er |
2:5853bf44af9f
|
9346
|
/*IN*/ LPGUID MessageGuid,
|
sca8er |
2:5853bf44af9f
|
9347
|
/*IN*/ USHORT MessageNumber,
|
sca8er |
2:5853bf44af9f
|
9348
|
/*IN*/ ...);
|
sca8er |
2:5853bf44af9f
|
9349
|
|
sca8er |
2:5853bf44af9f
|
9350
|
#if 0
|
sca8er |
2:5853bf44af9f
|
9351
|
/* FIXME: Get va_list from where? */
|
sca8er |
2:5853bf44af9f
|
9352
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9353
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
9354
|
DDKCDECLAPI
|
sca8er |
2:5853bf44af9f
|
9355
|
WmiTraceMessageVa(
|
sca8er |
2:5853bf44af9f
|
9356
|
/*IN*/ TRACEHANDLE LoggerHandle,
|
sca8er |
2:5853bf44af9f
|
9357
|
/*IN*/ ULONG MessageFlags,
|
sca8er |
2:5853bf44af9f
|
9358
|
/*IN*/ LPGUID MessageGuid,
|
sca8er |
2:5853bf44af9f
|
9359
|
/*IN*/ USHORT MessageNumber,
|
sca8er |
2:5853bf44af9f
|
9360
|
/*IN*/ va_list MessageArgList);
|
sca8er |
2:5853bf44af9f
|
9361
|
#endif
|
sca8er |
2:5853bf44af9f
|
9362
|
|
sca8er |
2:5853bf44af9f
|
9363
|
|
sca8er |
2:5853bf44af9f
|
9364
|
/** Kernel debugger routines **/
|
sca8er |
2:5853bf44af9f
|
9365
|
|
sca8er |
2:5853bf44af9f
|
9366
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9367
|
VOID
|
sca8er |
2:5853bf44af9f
|
9368
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9369
|
KdDisableDebugger(
|
sca8er |
2:5853bf44af9f
|
9370
|
VOID);
|
sca8er |
2:5853bf44af9f
|
9371
|
|
sca8er |
2:5853bf44af9f
|
9372
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9373
|
VOID
|
sca8er |
2:5853bf44af9f
|
9374
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9375
|
KdEnableDebugger(
|
sca8er |
2:5853bf44af9f
|
9376
|
VOID);
|
sca8er |
2:5853bf44af9f
|
9377
|
|
sca8er |
2:5853bf44af9f
|
9378
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9379
|
VOID
|
sca8er |
2:5853bf44af9f
|
9380
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9381
|
DbgBreakPoint(
|
sca8er |
2:5853bf44af9f
|
9382
|
VOID);
|
sca8er |
2:5853bf44af9f
|
9383
|
|
sca8er |
2:5853bf44af9f
|
9384
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9385
|
VOID
|
sca8er |
2:5853bf44af9f
|
9386
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9387
|
DbgBreakPointWithStatus(
|
sca8er |
2:5853bf44af9f
|
9388
|
/*IN*/ ULONG Status);
|
sca8er |
2:5853bf44af9f
|
9389
|
|
sca8er |
2:5853bf44af9f
|
9390
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9391
|
ULONG
|
sca8er |
2:5853bf44af9f
|
9392
|
DDKCDECLAPI
|
sca8er |
2:5853bf44af9f
|
9393
|
DbgPrint(
|
sca8er |
2:5853bf44af9f
|
9394
|
/*IN*/ PCH Format,
|
sca8er |
2:5853bf44af9f
|
9395
|
/*IN*/ ...);
|
sca8er |
2:5853bf44af9f
|
9396
|
|
sca8er |
2:5853bf44af9f
|
9397
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9398
|
ULONG
|
sca8er |
2:5853bf44af9f
|
9399
|
DDKCDECLAPI
|
sca8er |
2:5853bf44af9f
|
9400
|
DbgPrintEx(
|
sca8er |
2:5853bf44af9f
|
9401
|
/*IN*/ ULONG ComponentId,
|
sca8er |
2:5853bf44af9f
|
9402
|
/*IN*/ ULONG Level,
|
sca8er |
2:5853bf44af9f
|
9403
|
/*IN*/ PCH Format,
|
sca8er |
2:5853bf44af9f
|
9404
|
/*IN*/ ...);
|
sca8er |
2:5853bf44af9f
|
9405
|
|
sca8er |
2:5853bf44af9f
|
9406
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9407
|
ULONG
|
sca8er |
2:5853bf44af9f
|
9408
|
DDKCDECLAPI
|
sca8er |
2:5853bf44af9f
|
9409
|
DbgPrintReturnControlC(
|
sca8er |
2:5853bf44af9f
|
9410
|
/*IN*/ PCH Format,
|
sca8er |
2:5853bf44af9f
|
9411
|
/*IN*/ ...);
|
sca8er |
2:5853bf44af9f
|
9412
|
|
sca8er |
2:5853bf44af9f
|
9413
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9414
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
9415
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9416
|
DbgQueryDebugFilterState(
|
sca8er |
2:5853bf44af9f
|
9417
|
/*IN*/ ULONG ComponentId,
|
sca8er |
2:5853bf44af9f
|
9418
|
/*IN*/ ULONG Level);
|
sca8er |
2:5853bf44af9f
|
9419
|
|
sca8er |
2:5853bf44af9f
|
9420
|
NTOSAPI
|
sca8er |
2:5853bf44af9f
|
9421
|
NTSTATUS
|
sca8er |
2:5853bf44af9f
|
9422
|
DDKAPI
|
sca8er |
2:5853bf44af9f
|
9423
|
DbgSetDebugFilterState(
|
sca8er |
2:5853bf44af9f
|
9424
|
/*IN*/ ULONG ComponentId,
|
sca8er |
2:5853bf44af9f
|
9425
|
/*IN*/ ULONG Level,
|
sca8er |
2:5853bf44af9f
|
9426
|
/*IN*/ BOOLEAN State);
|
sca8er |
2:5853bf44af9f
|
9427
|
|
sca8er |
2:5853bf44af9f
|
9428
|
#ifdef DBG
|
sca8er |
2:5853bf44af9f
|
9429
|
|
sca8er |
2:5853bf44af9f
|
9430
|
#define KdPrint(_x_) DbgPrint _x_
|
sca8er |
2:5853bf44af9f
|
9431
|
#define KdPrintEx(_x_) DbgPrintEx _x_
|
sca8er |
2:5853bf44af9f
|
9432
|
#define KdBreakPoint() DbgBreakPoint()
|
sca8er |
2:5853bf44af9f
|
9433
|
#define KdBreakPointWithStatus(s) DbgBreakPointWithStatus(s)
|
sca8er |
2:5853bf44af9f
|
9434
|
|
sca8er |
2:5853bf44af9f
|
9435
|
#else /* !DBG */
|
sca8er |
2:5853bf44af9f
|
9436
|
|
sca8er |
2:5853bf44af9f
|
9437
|
#define KdPrint(_x_)
|
sca8er |
2:5853bf44af9f
|
9438
|
#define KdPrintEx(_x_)
|
sca8er |
2:5853bf44af9f
|
9439
|
#define KdBreakPoint()
|
sca8er |
2:5853bf44af9f
|
9440
|
#define KdBreakPointWithStatus(s)
|
sca8er |
2:5853bf44af9f
|
9441
|
|
sca8er |
2:5853bf44af9f
|
9442
|
#endif /* !DBG */
|
sca8er |
2:5853bf44af9f
|
9443
|
|
sca8er |
2:5853bf44af9f
|
9444
|
extern NTOSAPI PBOOLEAN KdDebuggerNotPresent;
|
sca8er |
2:5853bf44af9f
|
9445
|
extern NTOSAPI PBOOLEAN KdDebuggerEnabled;
|
sca8er |
2:5853bf44af9f
|
9446
|
#define KD_DEBUGGER_ENABLED *KdDebuggerEnabled
|
sca8er |
2:5853bf44af9f
|
9447
|
#define KD_DEBUGGER_NOT_PRESENT *KdDebuggerNotPresent
|
sca8er |
2:5853bf44af9f
|
9448
|
|
sca8er |
2:5853bf44af9f
|
9449
|
#ifdef __cplusplus
|
sca8er |
2:5853bf44af9f
|
9450
|
}
|
sca8er |
2:5853bf44af9f
|
9451
|
#endif
|
sca8er |
2:5853bf44af9f
|
9452
|
|
sca8er |
2:5853bf44af9f
|
9453
|
#endif /* __WINDDK_H */
|