ReactOS  0.4.15-dev-499-g1f31905
mrxfcb.h
Go to the documentation of this file.
1 #ifndef __MRXFCB_H__
2 #define __MRXFCB_H__
3 
4 typedef struct _MRX_NORMAL_NODE_HEADER
5 {
10 
11 #define SRVCALL_FLAG_CASE_INSENSITIVE_NETROOTS 0x4
12 #define SRVCALL_FLAG_CASE_INSENSITIVE_FILENAMES 0x8
13 #define SRVCALL_FLAG_DFS_AWARE_SERVER 0x10
14 #define SRVCALL_FLAG_FORCE_FINALIZED 0x20
15 
16 typedef struct _MRX_SRV_CALL_
17 {
29 
30 #define NET_ROOT_DISK ((UCHAR)0)
31 #define NET_ROOT_PIPE ((UCHAR)1)
32 #define NET_ROOT_PRINT ((UCHAR)3)
33 #define NET_ROOT_WILD ((UCHAR)4)
34 #define NET_ROOT_MAILSLOT ((UCHAR)5)
35 
37 
38 #define MRX_NET_ROOT_STATE_GOOD ((UCHAR)0)
39 
43 
44 #define NETROOT_FLAG_SUPPORTS_SYMBOLIC_LINKS 0x1
45 #define NETROOT_FLAG_DFS_AWARE_NETROOT 0x2
46 
48 {
52 
53 typedef struct _MRX_NET_ROOT_
54 {
60  volatile ULONG NumberOfFcbs;
70  union
71  {
72  struct
73  {
77  struct
78  {
85  };
87 
88 #define VNETROOT_FLAG_CSCAGENT_INSTANCE 0x00000001
89 
90 typedef struct _MRX_V_NET_ROOT_
91 {
98  volatile ULONG NumberOfFobxs;
107 
108 typedef struct _MRX_FCB_
109 {
116  volatile CLONG UncleanCount;
118  volatile CLONG OpenCount;
128 } MRX_FCB, *PMRX_FCB;
129 
130 #define SRVOPEN_FLAG_DONTUSE_READ_CACHING 0x1
131 #define SRVOPEN_FLAG_DONTUSE_WRITE_CACHING 0x2
132 #define SRVOPEN_FLAG_CLOSED 0x4
133 #define SRVOPEN_FLAG_CLOSE_DELAYED 0x8
134 #define SRVOPEN_FLAG_FILE_RENAMED 0x10
135 #define SRVOPEN_FLAG_FILE_DELETED 0x20
136 #define SRVOPEN_FLAG_BUFFERING_STATE_CHANGE_PENDING 0x40
137 #define SRVOPEN_FLAG_COLLAPSING_DISABLED 0x80
138 #define SRVOPEN_FLAG_BUFFERING_STATE_CHANGE_REQUESTS_PURGED 0x100
139 #define SRVOPEN_FLAG_NO_BUFFERING_STATE_CHANGE 0x200
140 #define SRVOPEN_FLAG_ORPHANED 0x400
141 
142 typedef
143 NTSTATUS
145  IN OUT PRX_CONTEXT RxContext
146  );
147 
148 typedef struct
149 {
157 
158 typedef struct _MRX_SRV_OPEN_
159 {
165 #if (_WIN32_WINNT >= 0x0600)
166  PMRXSHADOW_SRV_OPEN ShadowContext;
167 #endif
180 
181 #define FOBX_FLAG_DFS_OPEN 0x0001
182 #define FOBX_FLAG_BAD_HANDLE 0x0002
183 #define FOBX_FLAG_BACKUP_INTENT 0x0004
184 
186 {
191 
192 typedef struct _MRX_FOBX_
193 {
200  union
201  {
202  struct
203  {
205  };
207  };
209 } MRX_FOBX, *PMRX_FOBX;
210 
211 NTSTATUS
212 NTAPI
215 
216 #endif
PMRX_SHADOW_CALLDOWN DispatchRoutine
Definition: mrxfcb.h:155
ULONG FcbState
Definition: mrxfcb.h:115
NTSTATUS Status
Definition: mrxfcb.h:27
#define IN
Definition: typedefs.h:39
struct _MRX_SRV_CALL_ MRX_SRV_CALL
BOOLEAN IsExplicitConnection
Definition: mrxfcb.h:105
ULONG CreateOptions
Definition: mrxfcb.h:175
MRX_NORMAL_NODE_HEADER
Definition: mrxfcb.h:55
PUNICODE_STRING pUserDomainName
Definition: mrxfcb.h:100
CLONG UncleanFobxCount
Definition: mrxfcb.h:170
volatile ULONG NodeReferenceCount
Definition: mrxfcb.h:8
MRX_NORMAL_NODE_HEADER
Definition: mrxfcb.h:160
ULONG Flags
Definition: mrxfcb.h:168
ULONG BufferingFlags
Definition: mrxfcb.h:176
UCHAR MRX_NET_ROOT_STATE
Definition: mrxfcb.h:40
PVOID Context2
Definition: mrxfcb.h:164
UCHAR CachedNetRootType
Definition: mrxfcb.h:125
struct _MRX_NET_ROOT_ * PMRX_NET_ROOT
ULONG ReadAheadGranularity
Definition: mrxfcb.h:80
UCHAR NET_ROOT_TYPE
Definition: mrxfcb.h:36
PUNICODE_STRING pSrvCallName
Definition: mrxfcb.h:22
ULONG ClusterSize
Definition: mrxfcb.h:79
PVOID Context
Definition: mrxfcb.h:112
ACCESS_MASK DesiredAccess
Definition: mrxfcb.h:173
PRDBSS_DEVICE_OBJECT RxDeviceObject
Definition: mrxfcb.h:21
LONG NTSTATUS
Definition: precomp.h:26
PVOID Context
Definition: mrxfcb.h:19
FSRTL_ADVANCED_FCB_HEADER Header
Definition: mrxfcb.h:110
CSHORT NODE_BYTE_SIZE
Definition: nodetype.h:37
struct _MRX_FOBX_ * PMRX_FOBX
struct _MRX_SRV_OPEN_ MRX_SRV_OPEN
struct _MRX_V_NET_ROOT_ * PMRX_V_NET_ROOT
NTSTATUS(NTAPI * PMRX_SHADOW_CALLDOWN)(IN OUT PRX_CONTEXT RxContext)
Definition: mrxfcb.h:144
MRX_NORMAL_NODE_HEADER
Definition: mrxfcb.h:194
volatile ULONG NumberOfFcbs
Definition: mrxfcb.h:60
DEVICE_TYPE DeviceType
Definition: mrxfcb.h:66
PFAST_IO_WRITE FastIoWrite
Definition: mrxfcb.h:154
PFILE_OBJECT UnderlyingFileObject
Definition: mrxfcb.h:150
ULONG ParameterValidationStamp
Definition: mrxfcb.h:69
LUID LogonId
Definition: mrxfcb.h:99
UNICODE_STRING UnicodeQueryTemplate
Definition: mrxfcb.h:204
PMRX_FCB pFcb
Definition: mrxfcb.h:161
ULONG Attributes
Definition: mrxfcb.h:121
ULONG CLONG
Definition: umtypes.h:126
NETROOT_THROTTLING_PARAMETERS LockThrottlingParameters
Definition: mrxfcb.h:81
PVOID Context
Definition: mrxfcb.h:94
FAST_IO_WRITE * PFAST_IO_WRITE
Definition: iotypes.h:1430
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
ULONG Flags
Definition: mrxfcb.h:199
BOOLEAN IsFileWritten
Definition: mrxfcb.h:122
long LONG
Definition: pedump.c:60
volatile ULONG OutstandingLockOperationsCount
Definition: mrxfcb.h:119
ULONG Flags
Definition: mrxfcb.h:96
GUID VolumeId
Definition: mrxfcb.h:83
ULONG SessionId
Definition: mrxfcb.h:103
volatile ULONG NumberOfFobxs
Definition: mrxfcb.h:98
ULONG ShareAccess
Definition: mrxfcb.h:174
unsigned char BOOLEAN
NTSTATUS ConstructionStatus
Definition: mrxfcb.h:104
NODE_TYPE_CODE NodeTypeCode
Definition: mrxfcb.h:6
PUNICODE_STRING pNetRootName
Definition: mrxfcb.h:67
ULONG DataCollectionSize
Definition: mrxfcb.h:74
struct _MRX_PIPE_HANDLE_INFORMATION MRX_PIPE_HANDLE_INFORMATION
struct _MRX_FOBX_ MRX_FOBX
struct _MRX_NET_ROOT_::@2032::@2035 DiskParameters
volatile CLONG OpenCount
Definition: mrxfcb.h:118
PVOID Context
Definition: mrxfcb.h:57
PUNICODE_STRING pPassword
Definition: mrxfcb.h:102
volatile ULONG NodeReferenceCount
Definition: mrxfcb.h:114
UNICODE_STRING InnerNamePrefix
Definition: mrxfcb.h:68
struct _MRX_NET_ROOT_ MRX_NET_ROOT
struct _MRX_FCB_ MRX_FCB
uint64_t ULONGLONG
Definition: typedefs.h:66
PVOID Context2
Definition: mrxfcb.h:58
struct _MRX_V_NET_ROOT_ MRX_V_NET_ROOT
UCHAR * PMRX_PURGE_RELATIONSHIP
Definition: mrxfcb.h:41
BOOLEAN fShouldBeOrphaned
Definition: mrxfcb.h:123
struct _MRX_PIPE_HANDLE_INFORMATION * PMRX_PIPE_HANDLE_INFORMATION
ULONG RenameInfoOverallocationSize
Definition: mrxfcb.h:82
#define _Inout_
Definition: no_sal2.h:244
BOOLEAN fMiniInited
Definition: mrxfcb.h:124
struct _MRX_NET_ROOT_::@2032::@2034 NamedPipeParameters
PUNICODE_STRING pAlreadyPrefixedName
Definition: mrxfcb.h:169
* PFILE_OBJECT
Definition: iotypes.h:1957
PMRX_NET_ROOT pNetRoot
Definition: mrxfcb.h:111
PVOID Context2
Definition: mrxfcb.h:198
ULONG OffsetOfNextEaToReturn
Definition: mrxfcb.h:208
unsigned char UCHAR
Definition: xmlstorage.h:181
MRX_NORMAL_NODE_HEADER
Definition: mrxfcb.h:92
volatile CLONG UncleanCount
Definition: mrxfcb.h:116
#define NTSTATUS
Definition: precomp.h:20
CLONG OpenCount
Definition: mrxfcb.h:171
struct _MRX_SRV_OPEN_ * PMRX_SRV_OPEN
MRX_PURGE_RELATIONSHIP PurgeRelationship
Definition: mrxfcb.h:64
NTSTATUS NTAPI RxAcquireExclusiveFcbResourceInMRx(_Inout_ PMRX_FCB Fcb)
Definition: rxce.c:183
CLONG UncachedUncleanCount
Definition: mrxfcb.h:117
Definition: typedefs.h:118
struct _NETROOT_THROTTLING_PARAMETERS NETROOT_THROTTLING_PARAMETERS
ULONG ulFileSizeVersion
Definition: mrxfcb.h:177
ULONG NumberOfOpens
Definition: mrxfcb.h:97
PFILE_OBJECT AssociatedFileObject
Definition: mrxfcb.h:196
UCHAR MRX_PURGE_SYNCLOCATION
Definition: mrxfcb.h:42
MRX_NET_ROOT_STATE MRxNetRootState
Definition: mrxfcb.h:62
UCHAR * PMRX_PURGE_SYNCLOCATION
Definition: mrxfcb.h:42
PUNICODE_STRING pUserName
Definition: mrxfcb.h:101
UCHAR * PMRX_NET_ROOT_STATE
Definition: mrxfcb.h:40
PVOID Context
Definition: mrxfcb.h:197
FAST_IO_READ * PFAST_IO_READ
Definition: iotypes.h:1416
NETROOT_THROTTLING_PARAMETERS PipeReadThrottlingParameters
Definition: mrxfcb.h:75
struct MRXSHADOW_SRV_OPEN * PMRXSHADOW_SRV_OPEN
UCHAR * PNET_ROOT_TYPE
Definition: mrxfcb.h:36
#define DEVICE_TYPE
Definition: guid.c:10
PVOID Context2
Definition: mrxfcb.h:113
ULONG Flags
Definition: mrxfcb.h:59
ULONG Flags
Definition: mrxfcb.h:25
PMRX_SRV_CALL pSrvCall
Definition: mrxfcb.h:56
PUNICODE_STRING pDomainName
Definition: mrxfcb.h:24
LONG MaximumNumberOfCloseDelayedFiles
Definition: mrxfcb.h:26
PDEVICE_OBJECT UnderlyingDeviceObject
Definition: mrxfcb.h:151
struct _MRX_NORMAL_NODE_HEADER MRX_NORMAL_NODE_HEADER
#define OUT
Definition: typedefs.h:40
ULONGLONG ActualAllocationLength
Definition: mrxfcb.h:120
struct _MRX_SRV_CALL_ * PMRX_SRV_CALL
NET_ROOT_TYPE Type
Definition: mrxfcb.h:63
unsigned int ULONG
Definition: retypes.h:1
PVOID Context
Definition: mrxfcb.h:163
PUNICODE_STRING pPrincipalName
Definition: mrxfcb.h:23
volatile ULONG NumberOfSrvOpens
Definition: mrxfcb.h:61
PVOID Context2
Definition: mrxfcb.h:20
USHORT NODE_TYPE_CODE
Definition: nodetype.h:22
PMRX_PIPE_HANDLE_INFORMATION PipeHandleInformation
Definition: mrxfcb.h:206
LIST_ENTRY SrvOpenList
Definition: mrxfcb.h:126
PMRX_NET_ROOT pNetRoot
Definition: mrxfcb.h:93
struct _NETROOT_THROTTLING_PARAMETERS * PNETROOT_THROTTLING_PARAMETERS
NODE_BYTE_SIZE NodeByteSize
Definition: mrxfcb.h:7
_In_ PFCB Fcb
Definition: cdprocs.h:159
UCHAR MRX_PURGE_RELATIONSHIP
Definition: mrxfcb.h:41
PVOID Context2
Definition: mrxfcb.h:95
PMRX_V_NET_ROOT pVNetRoot
Definition: mrxfcb.h:162
struct _MRX_FCB_ * PMRX_FCB
ULONG ACCESS_MASK
Definition: nt_native.h:40
LIST_ENTRY SrvOpenQLinks
Definition: mrxfcb.h:178
ULONG SrvOpenListVersion
Definition: mrxfcb.h:127
PVOID Key
Definition: mrxfcb.h:172
MRX_PURGE_SYNCLOCATION PurgeSyncLocation
Definition: mrxfcb.h:65
PFAST_IO_READ FastIoRead
Definition: mrxfcb.h:153
PMRX_SRV_OPEN pSrvOpen
Definition: mrxfcb.h:195
MRX_NORMAL_NODE_HEADER
Definition: mrxfcb.h:18