ReactOS 0.4.16-dev-319-g6cf4263
rxcontx.h
Go to the documentation of this file.
1#ifndef _RX_CONTEXT_STRUCT_DEFINED_
2#define _RX_CONTEXT_STRUCT_DEFINED_
3
4#define RX_TOPLEVELIRP_CONTEXT_SIGNATURE 'LTxR'
5
7{
8 union
9 {
10#ifndef __cplusplus
12#endif
14 };
23
26 _Inout_ PRX_TOPLEVELIRP_CONTEXT TopLevelContext,
28 _In_ PRDBSS_DEVICE_OBJECT RxDeviceObject,
29 _In_ BOOLEAN ForceTopLevel);
30
31VOID
33 _Inout_ PRX_TOPLEVELIRP_CONTEXT TopLevelContext,
35 _In_ PRDBSS_DEVICE_OBJECT RxDeviceObject,
37
38#define RxInitializeTopLevelIrpContext(a,b,c) __RxInitializeTopLevelIrpContext(a,b,c,0)
39
40PIRP
42 VOID);
43
46 VOID);
47
48VOID
50 _Inout_ PRX_TOPLEVELIRP_CONTEXT TopLevelContext);
51
54 _In_ PIRP Irp);
55
56#ifdef RDBSS_TRACKER
57typedef struct _RX_FCBTRACKER_CALLINFO
58{
59 ULONG AcquireRelease;
60 USHORT SavedTrackerValue;
64} RX_FCBTRACKER_CALLINFO, *PRX_FCBTRACKER_CALLINFO;
65#define RDBSS_TRACKER_HISTORY_SIZE 32
66#endif
67
68#define MRX_CONTEXT_FIELD_COUNT 4
69
70#if (_WIN32_WINNT >= 0x0600)
71typedef
74 _In_ PRX_CONTEXT RxContext,
75 _In_ PIRP Irp);
76#else
77typedef
80 _In_ PRX_CONTEXT RxContext);
81#endif
82
84
86{
98
99typedef struct _RX_CONTEXT
100{
128 union
129 {
130 struct
131 {
132 union
133 {
136 };
138 };
140 };
141 union
142 {
145 };
155 union
156 {
157 struct
158 {
159 union
160 {
163 };
165 union
166 {
169 };
173 struct
174 {
179 };
180 union
181 {
182 struct
183 {
210 struct
211 {
218 struct
219 {
222 struct
223 {
231 struct
232 {
236 struct
237 {
241 struct
242 {
251 struct
252 {
255 struct
256 {
261 struct {
264 };
266 };
269#ifdef RDBSS_TRACKER
270 volatile LONG AcquireReleaseFcbTrackerX;
271 volatile ULONG TrackerHistoryPointer;
272 RX_FCBTRACKER_CALLINFO TrackerHistory[RDBSS_TRACKER_HISTORY_SIZE];
273#endif
274#if DBG
275 ULONG ShadowCritOwner;
276#endif
278
279typedef enum
280{
313
314#define RX_CONTEXT_PRESERVED_FLAGS (RX_CONTEXT_FLAG_FROM_POOL | \
315 RX_CONTEXT_FLAG_MUST_SUCCEED_ALLOCATED | \
316 RX_CONTEXT_FLAG_IN_FSP)
317
318#define RX_CONTEXT_INITIALIZATION_FLAGS (RX_CONTEXT_FLAG_WAIT | \
319 RX_CONTEXT_FLAG_MUST_SUCCEED | \
320 RX_CONTEXT_FLAG_MUST_SUCCEED_NONBLOCKING)
321
322typedef enum
323{
330
331typedef enum {
343
344#if DBG
345#define RxSaveAndSetExceptionNoBreakpointFlag(R, F) \
346{ \
347 F = FlagOn(R->Flags, RX_CONTEXT_FLAG_NO_EXCEPTION_BREAKPOINT); \
348 SetFlag(R->Flags, RX_CONTEXT_FLAG_NO_EXCEPTION_BREAKPOINT); \
349}
350
351#define RxRestoreExceptionNoBreakpointFlag(R, F) \
352{ \
353 ClearFlag(R->Flags, RX_CONTEXT_FLAG_NO_EXCEPTION_BREAKPOINT); \
354 SetFlag(R->Flags, F); \
355}
356#else
357#define RxSaveAndSetExceptionNoBreakpointFlag(R, F)
358#define RxRestoreExceptionNoBreakpointFlag(R, F)
359#endif
360
361#if DBG
362VOID
364 _In_ PRX_CONTEXT RxContext,
365 _In_ ULONG CapturedRxContextSerialNumber,
367 _In_ PCSTR File);
368#define RxItsTheSameContext() { __RxItsTheSameContext(RxContext, CapturedRxContextSerialNumber, __LINE__, __FILE__); }
369#else
370#define RxItsTheSameContext() { NOTHING; }
371#endif
372
374
375#define MINIRDR_CALL_THROUGH(STATUS, DISPATCH, FUNC, ARGLIST) \
376{ \
377 ASSERT(DISPATCH); \
378 ASSERT(NodeType(DISPATCH) == RDBSS_NTC_MINIRDR_DISPATCH); \
379 if (DISPATCH->FUNC == NULL) \
380 { \
381 STATUS = STATUS_NOT_IMPLEMENTED; \
382 } \
383 else \
384 { \
385 STATUS = DISPATCH->FUNC ARGLIST; \
386 } \
387}
388
389#define MINIRDR_CALL(STATUS, CONTEXT, DISPATCH, FUNC, ARGLIST) \
390{ \
391 ASSERT(DISPATCH); \
392 ASSERT(NodeType(DISPATCH) == RDBSS_NTC_MINIRDR_DISPATCH); \
393 if (DISPATCH->FUNC == NULL) \
394 { \
395 STATUS = STATUS_NOT_IMPLEMENTED; \
396 } \
397 else \
398 { \
399 if (!BooleanFlagOn((CONTEXT)->Flags, RX_CONTEXT_FLAG_CANCELLED)) \
400 { \
401 RtlZeroMemory(&((CONTEXT)->MRxContext[0]), \
402 sizeof((CONTEXT)->MRxContext)); \
403 STATUS = DISPATCH->FUNC ARGLIST; \
404 } \
405 else \
406 { \
407 STATUS = STATUS_CANCELLED; \
408 } \
409 } \
410}
411
412#define RxWaitSync(RxContext) \
413 (RxContext)->Flags |= RX_CONTEXT_FLAG_SYNC_EVENT_WAITERS; \
414 KeWaitForSingleObject(&(RxContext)->SyncEvent, \
415 Executive, KernelMode, FALSE, NULL)
416
417#define RxSignalSynchronousWaiter(RxContext) \
418 (RxContext)->Flags &= ~RX_CONTEXT_FLAG_SYNC_EVENT_WAITERS; \
419 KeSetEvent(&(RxContext)->SyncEvent, 0, FALSE)
420
421#define RxInsertContextInSerializationQueue(SerializationQueue, RxContext) \
422 (RxContext)->Flags |= RX_CONTEXT_FLAG_IN_SERIALIZATION_QUEUE; \
423 InsertTailList(SerializationQueue, &((RxContext)->RxContextSerializationQLinks))
424
428 PLIST_ENTRY SerializationQueue)
429{
430 if (IsListEmpty(SerializationQueue))
431 {
432 return NULL;
433 }
434 else
435 {
436 PRX_CONTEXT Context = CONTAINING_RECORD(SerializationQueue->Flink,
438 RxContextSerializationQLinks);
439
440 RemoveEntryList(SerializationQueue->Flink);
441
442 Context->RxContextSerializationQLinks.Flink = NULL;
443 Context->RxContextSerializationQLinks.Blink = NULL;
444
445 return Context;
446 }
447}
448
449#define RxTransferList(Destination, Source) \
450 if (IsListEmpty((Source))) \
451 InitializeListHead((Destination)); \
452 else \
453 { \
454 *(Destination) = *(Source); \
455 (Destination)->Flink->Blink = (Destination); \
456 (Destination)->Blink->Flink = (Destination); \
457 InitializeListHead((Source)); \
458 }
459
460#define RxTransferListWithMutex(Destination, Source, Mutex) \
461 { \
462 ExAcquireFastMutex(Mutex); \
463 RxTransferList(Destination, Source); \
464 ExReleaseFastMutex(Mutex); \
465 }
466
469 PV_NET_ROOT VNetRoot,
470 BOOLEAN ForceFilesClosed);
471
472VOID
474 PFOBX Fobx
475 );
476
477VOID
478NTAPI
480 _In_ PIRP Irp,
481 _In_ PRDBSS_DEVICE_OBJECT RxDeviceObject,
482 _In_ ULONG InitialContextFlags,
483 _Inout_ PRX_CONTEXT RxContext);
484
486NTAPI
488 _In_ PIRP Irp,
489 _In_ PRDBSS_DEVICE_OBJECT RxDeviceObject,
490 _In_ ULONG InitialContextFlags);
491
492VOID
493NTAPI
495 _Inout_ PRX_CONTEXT RxContext);
496
497VOID
498NTAPI
500 _In_ PRX_CONTEXT RxContext);
501
502VOID
503NTAPI
505 _Inout_ PRX_CONTEXT RxContext);
506
507#if DBG
508#define RxDereferenceAndDeleteRxContext(RXCONTEXT) \
509{ \
510 RxDereferenceAndDeleteRxContext_Real((RXCONTEXT)); \
511 (RXCONTEXT) = NULL; \
512}
513#else
514#define RxDereferenceAndDeleteRxContext(RXCONTEXT) \
515{ \
516 RxDereferenceAndDeleteRxContext_Real((RXCONTEXT)); \
517}
518#endif
519
521
522VOID
523NTAPI
525 _Inout_ PRX_CONTEXT RxContext,
526 _Inout_ PLIST_ENTRY BlockingIoQ);
527
528VOID
530 _Inout_ PRX_CONTEXT RxContext);
531
532#if (_WIN32_WINNT >= 0x0600)
533VOID
535 _Inout_ PRX_CONTEXT RxContext,
536 _In_ PIRP Irp);
537#else
538VOID
540 _Inout_ PRX_CONTEXT RxContext);
541#endif
542
543VOID
545 _Inout_ PRX_CONTEXT RxContext);
546
547#endif
unsigned char BOOLEAN
ACPI_BUFFER *RetBuffer ACPI_BUFFER *RetBuffer char ACPI_WALK_RESOURCE_CALLBACK void *Context ACPI_BUFFER *RetBuffer UINT16 ACPI_RESOURCE **ResourcePtr ACPI_GENERIC_ADDRESS *Reg UINT32 *ReturnValue UINT8 UINT8 *Slp_TypB ACPI_PHYSICAL_ADDRESS PhysicalAddress64 UINT32 UINT32 *TimeElapsed UINT32 LineNumber
Definition: acpixf.h:1220
LONG NTSTATUS
Definition: precomp.h:26
Definition: File.h:16
_In_ PIRP Irp
Definition: csq.h:116
#define NULL
Definition: types.h:112
#define NTSTATUS
Definition: precomp.h:21
USHORT NODE_TYPE_CODE
Definition: nodetype.h:22
CSHORT NODE_BYTE_SIZE
Definition: nodetype.h:37
#define RemoveEntryList(Entry)
Definition: env_spec_w32.h:986
#define IsListEmpty(ListHead)
Definition: env_spec_w32.h:954
struct _FileName FileName
Definition: fatprocs.h:897
enum _FILE_INFORMATION_CLASS FILE_INFORMATION_CLASS
Definition: directory.c:44
enum _FSINFOCLASS FS_INFORMATION_CLASS
enum _SECURITY_IMPERSONATION_LEVEL SECURITY_IMPERSONATION_LEVEL
NTSTATUS(NTAPI * PMRX_CALLDOWN)(_Inout_ PRX_CONTEXT RxContext)
Definition: mrx.h:51
UCHAR NET_ROOT_TYPE
Definition: mrxfcb.h:36
DWORD SECURITY_INFORMATION
Definition: ms-dtyp.idl:311
#define _Inout_
Definition: no_sal2.h:162
#define _In_
Definition: no_sal2.h:158
ULONG ACCESS_MASK
Definition: nt_native.h:40
WCHAR * PWCH
Definition: ntbasedef.h:418
long LONG
Definition: pedump.c:60
unsigned short USHORT
Definition: pedump.c:61
VOID __RxItsTheSameContext(_In_ PRX_CONTEXT RxContext, _In_ ULONG CapturedRxContextSerialNumber, _In_ ULONG Line, _In_ PCSTR File)
Definition: rxce.c:9126
struct _NT_CREATE_PARAMETERS * PNT_CREATE_PARAMETERS
NPAGED_LOOKASIDE_LIST RxContextLookasideList
Definition: rdbss.c:536
VOID NTAPI RxInitializeContext(_In_ PIRP Irp, _In_ PRDBSS_DEVICE_OBJECT RxDeviceObject, _In_ ULONG InitialContextFlags, _Inout_ PRX_CONTEXT RxContext)
RX_CONTEXT_FLAGS
Definition: rxcontx.h:280
@ RX_CONTEXT_FLAG_RECURSIVE_CALL
Definition: rxcontx.h:285
@ RX_CONTEXT_FLAG_CREATE_MAILSLOT
Definition: rxcontx.h:291
@ RX_CONTEXT_FLAG_IN_SERIALIZATION_QUEUE
Definition: rxcontx.h:305
@ RX_CONTEXT_FLAG_THIS_DEVICE_TOP_LEVEL
Definition: rxcontx.h:286
@ RX_CONTEXT_FLAG_SYNC_EVENT_WAITERS
Definition: rxcontx.h:301
@ RX_CONTEXT_FLAG_WAITING_FOR_RESOURCE
Definition: rxcontx.h:299
@ RX_CONTEXT_FLAG_NO_PREPOSTING_NEEDED
Definition: rxcontx.h:302
@ RX_CONTEXT_FLAG_FROM_POOL
Definition: rxcontx.h:281
@ RX_CONTEXT_FLAG_CANCELLED
Definition: rxcontx.h:300
@ RX_CONTEXT_FLAG_FSP_DELAYED_OVERFLOW_QUEUE
Definition: rxcontx.h:296
@ RX_CONTEXT_FLAG_POST_ON_STABLE_CONDITION
Definition: rxcontx.h:295
@ RX_CONTEXT_FLAG_MINIRDR_INVOKED
Definition: rxcontx.h:298
@ RX_CONTEXT_FLAG_MUST_SUCCEED_ALLOCATED
Definition: rxcontx.h:310
@ RX_CONTEXT_FLAG_WRITE_THROUGH
Definition: rxcontx.h:283
@ RX_CONTEXT_FLAG_MUST_SUCCEED_NONBLOCKING
Definition: rxcontx.h:309
@ RX_CONTEXT_FLAG_BYPASS_VALIDOP_CHECK
Definition: rxcontx.h:303
@ RX_CONTEXT_FLAG_BLOCKED_PIPE_RESUME
Definition: rxcontx.h:304
@ RX_CONTEXT_FLAG_MUST_SUCCEED
Definition: rxcontx.h:308
@ RX_CONTEXT_FLAG_IN_FSP
Definition: rxcontx.h:290
@ RX_CONTEXT_FLAG_NO_COMPLETE_FROM_FSP
Definition: rxcontx.h:294
@ RX_CONTEXT_FLAG_FLOPPY
Definition: rxcontx.h:284
@ RX_CONTEXT_FLAG_WAIT
Definition: rxcontx.h:282
@ RX_CONTEXT_FLAG_DEFERRED_WRITE
Definition: rxcontx.h:287
@ RX_CONTEXT_FLAG_ASYNC_OPERATION
Definition: rxcontx.h:293
@ RX_CONTEXT_FLAG_MAILSLOT_REPARSE
Definition: rxcontx.h:292
@ RX_CONTEXT_FLAG_FSP_CRITICAL_OVERFLOW_QUEUE
Definition: rxcontx.h:297
@ RX_CONTEXT_FLAG_STACK_IO_CONTEZT
Definition: rxcontx.h:289
@ RX_CONTEXT_FLAG_NO_EXCEPTION_BREAKPOINT
Definition: rxcontx.h:306
@ RX_CONTEXT_FLAG_NEEDRECONNECT
Definition: rxcontx.h:307
@ RX_CONTEXT_FLAG_VERIFY_READ
Definition: rxcontx.h:288
@ RX_CONTEXT_FLAG_MINIRDR_INITIATED
Definition: rxcontx.h:311
RX_CONTEXT_LOWIO_FLAGS
Definition: rxcontx.h:331
@ RXCONTEXT_FLAG4LOWIO_LOCK_FCB_RESOURCE_HELD
Definition: rxcontx.h:337
@ RXCONTEXT_FLAG4LOWIO_THIS_READ_ENLARGED
Definition: rxcontx.h:335
@ RXCONTEXT_FLAG4LOWIO_LOCK_BUFFERED_ON_ENTRY
Definition: rxcontx.h:341
@ RXCONTEXT_FLAG4LOWIO_READAHEAD
Definition: rxcontx.h:334
@ RXCONTEXT_FLAG4LOWIO_LOCK_OPERATION_COMPLETED
Definition: rxcontx.h:340
@ RXCONTEXT_FLAG4LOWIO_PIPE_OPERATION
Definition: rxcontx.h:332
@ RXCONTEXT_FLAG4LOWIO_PIPE_SYNC_OPERATION
Definition: rxcontx.h:333
@ RXCONTEXT_FLAG4LOWIO_LOCK_WAS_QUEUED_IN_LOCKMANAGER
Definition: rxcontx.h:338
@ RXCONTEXT_FLAG4LOWIO_THIS_IO_FAST
Definition: rxcontx.h:339
@ RXCONTEXT_FLAG4LOWIO_THIS_IO_BUFFERED
Definition: rxcontx.h:336
VOID NTAPI RxPrepareContextForReuse(_Inout_ PRX_CONTEXT RxContext)
FAST_MUTEX RxContextPerFileSerializationMutex
Definition: rxce.c:146
FORCEINLINE PRX_CONTEXT RxRemoveFirstContextFromSerializationQueue(PLIST_ENTRY SerializationQueue)
Definition: rxcontx.h:427
NTSTATUS(NTAPI * PRX_DISPATCH)(_In_ PRX_CONTEXT RxContext)
Definition: rxcontx.h:79
VOID NTAPI RxResumeBlockedOperations_Serially(_Inout_ PRX_CONTEXT RxContext, _Inout_ PLIST_ENTRY BlockingIoQ)
struct _RX_TOPLEVELIRP_CONTEXT * PRX_TOPLEVELIRP_CONTEXT
#define MRX_CONTEXT_FIELD_COUNT
Definition: rxcontx.h:68
VOID __RxInitializeTopLevelIrpContext(_Inout_ PRX_TOPLEVELIRP_CONTEXT TopLevelContext, _In_ PIRP Irp, _In_ PRDBSS_DEVICE_OBJECT RxDeviceObject, _In_ ULONG Flags)
VOID NTAPI RxReinitializeContext(_Inout_ PRX_CONTEXT RxContext)
VOID RxRemoveOperationFromBlockingQueue(_Inout_ PRX_CONTEXT RxContext)
VOID NTAPI RxDereferenceAndDeleteRxContext_Real(_In_ PRX_CONTEXT RxContext)
struct _NT_CREATE_PARAMETERS NT_CREATE_PARAMETERS
struct _RX_CONTEXT RX_CONTEXT
PIRP RxGetTopIrpIfRdbssIrp(VOID)
Definition: rdbss.c:6845
BOOLEAN RxIsThisTheTopLevelIrp(_In_ PIRP Irp)
VOID RxCancelBlockingOperation(_Inout_ PRX_CONTEXT RxContext)
VOID RxResumeBlockedOperations_ALL(_Inout_ PRX_CONTEXT RxContext)
struct _RX_CONTEXT * PRX_CONTEXT
NTSTATUS RxCancelNotifyChangeDirectoryRequestsForVNetRoot(PV_NET_ROOT VNetRoot, BOOLEAN ForceFilesClosed)
Definition: rdbss.c:1040
BOOLEAN RxTryToBecomeTheTopLevelIrp(_Inout_ PRX_TOPLEVELIRP_CONTEXT TopLevelContext, _In_ PIRP Irp, _In_ PRDBSS_DEVICE_OBJECT RxDeviceObject, _In_ BOOLEAN ForceTopLevel)
struct _RX_TOPLEVELIRP_CONTEXT RX_TOPLEVELIRP_CONTEXT
VOID RxUnwindTopLevelIrp(_Inout_ PRX_TOPLEVELIRP_CONTEXT TopLevelContext)
VOID RxCancelNotifyChangeDirectoryRequestsForFobx(PFOBX Fobx)
Definition: rdbss.c:963
struct _DFS_NAME_CONTEXT_ * PDFS_NAME_CONTEXT
Definition: rxcontx.h:83
PRDBSS_DEVICE_OBJECT RxGetTopDeviceObjectIfRdbssIrp(VOID)
Definition: rdbss.c:6826
RX_CONTEXT_CREATE_FLAGS
Definition: rxcontx.h:323
@ RX_CONTEXT_CREATE_FLAG_SPECIAL_PATH
Definition: rxcontx.h:328
@ RX_CONTEXT_CREATE_FLAG_UNC_NAME
Definition: rxcontx.h:324
@ RX_CONTEXT_CREATE_FLAG_REPARSE
Definition: rxcontx.h:327
@ RX_CONTEXT_CREATE_FLAG_STRIPPED_TRAILING_BACKSLASH
Definition: rxcontx.h:325
@ RX_CONTEXT_CREATE_FLAG_ADDEDBACKSLASH
Definition: rxcontx.h:326
PRX_CONTEXT NTAPI RxCreateRxContext(_In_ PIRP Irp, _In_ PRDBSS_DEVICE_OBJECT RxDeviceObject, _In_ ULONG InitialContextFlags)
Definition: ncftp.h:79
Definition: fcb.h:305
Definition: typedefs.h:120
struct _LIST_ENTRY * Flink
Definition: typedefs.h:121
Definition: fcb.h:34
ACCESS_MASK DesiredAccess
Definition: rxcontx.h:87
PIO_SECURITY_CONTEXT SecurityContext
Definition: rxcontx.h:93
LARGE_INTEGER AllocationSize
Definition: rxcontx.h:88
SECURITY_IMPERSONATION_LEVEL ImpersonationLevel
Definition: rxcontx.h:94
PDFS_NAME_CONTEXT DfsNameContext
Definition: rxcontx.h:96
LUID FsdUid
Definition: rxcontx.h:265
ULONG PipeType
Definition: rxcontx.h:194
RX_WORK_QUEUE_ITEM WorkQueueItem
Definition: rxcontx.h:149
PVOID RdbssDbgExtension
Definition: rxcontx.h:120
ULONG_PTR InformationToReturn
Definition: rxcontx.h:137
PVOID WriteOnlyOpenRetryContext
Definition: rxcontx.h:146
NT_CREATE_PARAMETERS NtCreateParameters
Definition: rxcontx.h:184
BOOLEAN ThisIsATreeConnectOpen
Definition: rxcontx.h:203
PVOID Buffer
Definition: rxcontx.h:164
LIST_ENTRY OverflowListEntry
Definition: rxcontx.h:150
ULONG Flags
Definition: rxcontx.h:124
BOOLEAN FcbResourceAcquired
Definition: rxcontx.h:125
ULONG Length
Definition: rxcontx.h:234
struct _RX_CONTEXT::@2156::@2171 QueryEa
UNICODE_STRING Password
Definition: rxcontx.h:207
PMRX_NET_ROOT pNetRoot
Definition: rxcontx.h:189
ULONG PipeCompletionMode
Definition: rxcontx.h:196
PWCH AlsoCanonicalNameBuffer
Definition: rxcontx.h:267
KEVENT SyncEvent
Definition: rxcontx.h:151
BOOLEAN InitialQuery
Definition: rxcontx.h:216
NTSTATUS StoredStatus
Definition: rxcontx.h:134
struct _RX_CONTEXT::@2156::@2168 Create
PIO_SECURITY_CONTEXT pSecurityContext
Definition: rxcontx.h:177
volatile PVOID LockManagerContext
Definition: rxcontx.h:119
PUNICODE_STRING LoudCompletionString
Definition: rxcontx.h:268
PIRP CurrentIrp
Definition: rxcontx.h:110
ULONG ReturnedCreateInformation
Definition: rxcontx.h:185
BOOLEAN TryForScavengingOnSharingViolation
Definition: rxcontx.h:201
UNICODE_STRING UserDomainName
Definition: rxcontx.h:208
BOOLEAN ReplaceIfExists
Definition: rxcontx.h:170
PMRX_CALLDOWN MRxCancelRoutine
Definition: rxcontx.h:147
BOOLEAN TreeConnectOpenDeferred
Definition: rxcontx.h:204
struct _RX_CONTEXT::@2156::@2174 QueryQuota
ULONG UserEaIndex
Definition: rxcontx.h:226
LIST_ENTRY ContextListEntry
Definition: rxcontx.h:104
PNET_ROOT NetRoot
Definition: rxcontx.h:259
PETHREAD OriginalThread
Definition: rxcontx.h:117
BOOLEAN PostRequest
Definition: rxcontx.h:108
LOWIO_CONTEXT LowIoContext
Definition: rxcontx.h:263
PV_NET_ROOT VNetRoot
Definition: rxcontx.h:257
PFILE_GET_QUOTA_INFORMATION SidList
Definition: rxcontx.h:245
struct _RX_CONTEXT::@2154::@2163 PrefixClaim
PVOID MRxContext[MRX_CONTEXT_FIELD_COUNT]
Definition: rxcontx.h:144
UCHAR RdrFlags
Definition: rxcontx.h:199
PNON_PAGED_FCB NonPagedFcb
Definition: rxcontx.h:115
UCHAR MustSucceedDescriptorNumber
Definition: rxcontx.h:127
struct _RX_CONTEXT::@2154::@2162 Info
PRX_DISPATCH ResumeRoutine
Definition: rxcontx.h:148
ULONG EaLength
Definition: rxcontx.h:192
PWCH CanonicalNameBuffer
Definition: rxcontx.h:186
BOOLEAN PendingReturned
Definition: rxcontx.h:107
PRX_PREFIX_ENTRY NetNamePrefixEntry
Definition: rxcontx.h:187
PETHREAD LastExecutionThread
Definition: rxcontx.h:118
PMRX_FOBX pFobx
Definition: rxcontx.h:113
ULONG UserEaListLength
Definition: rxcontx.h:225
ULONG SdLength
Definition: rxcontx.h:193
volatile ULONG ReferenceCount
Definition: rxcontx.h:103
UCHAR MajorFunction
Definition: rxcontx.h:105
ULONG FileIndex
Definition: rxcontx.h:212
LONG LengthRemaining
Definition: rxcontx.h:168
NET_ROOT_TYPE Type
Definition: rxcontx.h:198
FILE_INFORMATION_CLASS FileInformationClass
Definition: rxcontx.h:162
IO_STATUS_BLOCK IoStatusBlock
Definition: rxcontx.h:139
ULONG SidListLength
Definition: rxcontx.h:246
struct _RX_CONTEXT::@2156::@2170 NotifyChangeDirectory
ULONG PipeReadMode
Definition: rxcontx.h:195
PIO_STACK_LOCATION CurrentIrpSp
Definition: rxcontx.h:111
PSID StartSid
Definition: rxcontx.h:244
PMRX_V_NET_ROOT pVNetRoot
Definition: rxcontx.h:190
struct _RX_CONTEXT::@2156::@2169 QueryDirectory
ULONG SerialNumber
Definition: rxcontx.h:122
USHORT Flags
Definition: rxcontx.h:197
PUCHAR UserEaList
Definition: rxcontx.h:224
ULONG FlagsForLowIo
Definition: rxcontx.h:262
SECURITY_INFORMATION SecurityInformation
Definition: rxcontx.h:233
PSECURITY_DESCRIPTOR SecurityDescriptor
Definition: rxcontx.h:239
struct _RX_CONTEXT::@2156::@2176 DosVolumeFunction
UCHAR MinorFunction
Definition: rxcontx.h:106
PRDBSS_DEVICE_OBJECT RxDeviceObject
Definition: rxcontx.h:116
struct _RX_CONTEXT::@2156::@2173 SetSecurity
BOOLEAN RestartScan
Definition: rxcontx.h:213
UNICODE_STRING SuppliedPathName
Definition: rxcontx.h:175
BOOLEAN AdvanceOnly
Definition: rxcontx.h:171
BOOLEAN FcbAcquired
Definition: rxcontx.h:200
NODE_TYPE_CODE NodeTypeCode
Definition: rxcontx.h:101
LIST_ENTRY BlockedOperations
Definition: rxcontx.h:152
UNICODE_STRING UserName
Definition: rxcontx.h:206
UNICODE_STRING TransportName
Definition: rxcontx.h:205
PMRX_SRV_OPEN pRelevantSrvOpen
Definition: rxcontx.h:114
ULONGLONG ForceLonglongAligmentDummyField
Definition: rxcontx.h:143
NET_ROOT_TYPE NetRootType
Definition: rxcontx.h:176
BOOLEAN IndexSpecified
Definition: rxcontx.h:215
PDEVICE_OBJECT RealDevice
Definition: rxcontx.h:109
struct _RX_CONTEXT::@2156::@2172 QuerySecurity
PVOID EaBuffer
Definition: rxcontx.h:191
struct _RX_CONTEXT::@2156::@2175 SetQuota
PVOID StoredStatusAlignment
Definition: rxcontx.h:135
PMRX_SRV_CALL pSrvCall
Definition: rxcontx.h:188
LIST_ENTRY RxContextSerializationQLinks
Definition: rxcontx.h:154
LONG Length
Definition: rxcontx.h:167
ULONG FobxSerialNumber
Definition: rxcontx.h:123
PFAST_MUTEX BlockedOpsMutex
Definition: rxcontx.h:153
PMRX_FCB pFcb
Definition: rxcontx.h:112
FS_INFORMATION_CLASS FsInformationClass
Definition: rxcontx.h:161
NODE_BYTE_SIZE NodeByteSize
Definition: rxcontx.h:102
BOOLEAN ReturnSingleEntry
Definition: rxcontx.h:214
PSRV_CALL SrvCall
Definition: rxcontx.h:258
RX_SCAVENGER_ENTRY ScavengerEntry
Definition: rxcontx.h:121
BOOLEAN ScavengingAlreadyTried
Definition: rxcontx.h:202
BOOLEAN FcbPagingIoResourceAcquired
Definition: rxcontx.h:126
Definition: prefix.h:45
Definition: scavengr.h:9
PRDBSS_DEVICE_OBJECT RxDeviceObject
Definition: rxcontx.h:16
LIST_ENTRY ListEntry
Definition: rxcontx.h:13
PRX_CONTEXT RxContext
Definition: rxcontx.h:17
Definition: fcb.h:10
#define NTAPI
Definition: typedefs.h:36
const char * PCSTR
Definition: typedefs.h:52
uint32_t ULONG_PTR
Definition: typedefs.h:65
#define CONTAINING_RECORD(address, type, field)
Definition: typedefs.h:260
unsigned char * PUCHAR
Definition: typedefs.h:53
uint32_t ULONG
Definition: typedefs.h:59
uint64_t ULONGLONG
Definition: typedefs.h:67
#define FORCEINLINE
Definition: wdftypes.h:67
char * PSZ
Definition: windef.h:57
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
* PFAST_MUTEX
Definition: extypes.h:17
FAST_MUTEX
Definition: extypes.h:17
struct LOOKASIDE_ALIGN _NPAGED_LOOKASIDE_LIST NPAGED_LOOKASIDE_LIST
unsigned char UCHAR
Definition: xmlstorage.h:181