ReactOS 0.4.15-dev-7918-g2a2556c
mrxfcb.h
Go to the documentation of this file.
1#ifndef __MRXFCB_H__
2#define __MRXFCB_H__
3
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
16typedef 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
53typedef struct _MRX_NET_ROOT_
54{
70 union
71 {
72 struct
73 {
77 struct
78 {
85 };
87
88#define VNETROOT_FLAG_CSCAGENT_INSTANCE 0x00000001
89
90typedef struct _MRX_V_NET_ROOT_
91{
107
108typedef struct _MRX_FCB_
109{
118 volatile CLONG OpenCount;
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
142typedef
145 IN OUT PRX_CONTEXT RxContext
146 );
147
148typedef struct
149{
157
158typedef 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
192typedef struct _MRX_FOBX_
193{
200 union
201 {
202 struct
203 {
205 };
207 };
210
212NTAPI
215
216#endif
unsigned char BOOLEAN
LONG NTSTATUS
Definition: precomp.h:26
_In_ PFCB Fcb
Definition: cdprocs.h:159
#define DEVICE_TYPE
Definition: guid.c:10
#define NTSTATUS
Definition: precomp.h:21
USHORT NODE_TYPE_CODE
Definition: nodetype.h:22
CSHORT NODE_BYTE_SIZE
Definition: nodetype.h:37
struct _MRX_SRV_OPEN_ * PMRX_SRV_OPEN
struct _MRX_FOBX_ * PMRX_FOBX
struct _MRX_PIPE_HANDLE_INFORMATION MRX_PIPE_HANDLE_INFORMATION
struct MRXSHADOW_SRV_OPEN * PMRXSHADOW_SRV_OPEN
struct _MRX_SRV_CALL_ MRX_SRV_CALL
UCHAR MRX_PURGE_RELATIONSHIP
Definition: mrxfcb.h:41
NTSTATUS NTAPI RxAcquireExclusiveFcbResourceInMRx(_Inout_ PMRX_FCB Fcb)
Definition: rxce.c:183
UCHAR * PMRX_PURGE_SYNCLOCATION
Definition: mrxfcb.h:42
struct _MRX_NET_ROOT_ * PMRX_NET_ROOT
struct _MRX_FOBX_ MRX_FOBX
struct _NETROOT_THROTTLING_PARAMETERS NETROOT_THROTTLING_PARAMETERS
struct _MRX_NET_ROOT_ MRX_NET_ROOT
UCHAR * PMRX_PURGE_RELATIONSHIP
Definition: mrxfcb.h:41
UCHAR * PMRX_NET_ROOT_STATE
Definition: mrxfcb.h:40
UCHAR * PNET_ROOT_TYPE
Definition: mrxfcb.h:36
struct _MRX_V_NET_ROOT_ * PMRX_V_NET_ROOT
struct _MRX_FCB_ * PMRX_FCB
struct _MRX_SRV_CALL_ * PMRX_SRV_CALL
struct _MRX_V_NET_ROOT_ MRX_V_NET_ROOT
UCHAR MRX_PURGE_SYNCLOCATION
Definition: mrxfcb.h:42
struct _MRX_PIPE_HANDLE_INFORMATION * PMRX_PIPE_HANDLE_INFORMATION
struct _NETROOT_THROTTLING_PARAMETERS * PNETROOT_THROTTLING_PARAMETERS
UCHAR MRX_NET_ROOT_STATE
Definition: mrxfcb.h:40
NTSTATUS(NTAPI * PMRX_SHADOW_CALLDOWN)(IN OUT PRX_CONTEXT RxContext)
Definition: mrxfcb.h:144
struct _MRX_SRV_OPEN_ MRX_SRV_OPEN
struct _MRX_NORMAL_NODE_HEADER MRX_NORMAL_NODE_HEADER
struct _MRX_FCB_ MRX_FCB
UCHAR NET_ROOT_TYPE
Definition: mrxfcb.h:36
#define _Inout_
Definition: ms_sal.h:378
ULONG ACCESS_MASK
Definition: nt_native.h:40
long LONG
Definition: pedump.c:60
PFILE_OBJECT UnderlyingFileObject
Definition: mrxfcb.h:150
PFAST_IO_WRITE FastIoWrite
Definition: mrxfcb.h:154
PMRX_SHADOW_CALLDOWN DispatchRoutine
Definition: mrxfcb.h:155
PDEVICE_OBJECT UnderlyingDeviceObject
Definition: mrxfcb.h:151
PFAST_IO_READ FastIoRead
Definition: mrxfcb.h:153
Definition: typedefs.h:120
ULONG FcbState
Definition: mrxfcb.h:115
ULONG Attributes
Definition: mrxfcb.h:121
LIST_ENTRY SrvOpenList
Definition: mrxfcb.h:126
PVOID Context
Definition: mrxfcb.h:112
BOOLEAN fMiniInited
Definition: mrxfcb.h:124
volatile CLONG UncleanCount
Definition: mrxfcb.h:116
ULONG SrvOpenListVersion
Definition: mrxfcb.h:127
volatile ULONG OutstandingLockOperationsCount
Definition: mrxfcb.h:119
volatile CLONG OpenCount
Definition: mrxfcb.h:118
volatile ULONG NodeReferenceCount
Definition: mrxfcb.h:114
PVOID Context2
Definition: mrxfcb.h:113
ULONGLONG ActualAllocationLength
Definition: mrxfcb.h:120
BOOLEAN fShouldBeOrphaned
Definition: mrxfcb.h:123
CLONG UncachedUncleanCount
Definition: mrxfcb.h:117
PMRX_NET_ROOT pNetRoot
Definition: mrxfcb.h:111
UCHAR CachedNetRootType
Definition: mrxfcb.h:125
BOOLEAN IsFileWritten
Definition: mrxfcb.h:122
FSRTL_ADVANCED_FCB_HEADER Header
Definition: mrxfcb.h:110
PMRX_PIPE_HANDLE_INFORMATION PipeHandleInformation
Definition: mrxfcb.h:206
ULONG OffsetOfNextEaToReturn
Definition: mrxfcb.h:208
UNICODE_STRING UnicodeQueryTemplate
Definition: mrxfcb.h:204
PMRX_SRV_OPEN pSrvOpen
Definition: mrxfcb.h:195
PFILE_OBJECT AssociatedFileObject
Definition: mrxfcb.h:196
MRX_NORMAL_NODE_HEADER
Definition: mrxfcb.h:194
ULONG Flags
Definition: mrxfcb.h:199
PVOID Context2
Definition: mrxfcb.h:198
PVOID Context
Definition: mrxfcb.h:197
NETROOT_THROTTLING_PARAMETERS PipeReadThrottlingParameters
Definition: mrxfcb.h:75
ULONG Flags
Definition: mrxfcb.h:59
UNICODE_STRING InnerNamePrefix
Definition: mrxfcb.h:68
GUID VolumeId
Definition: mrxfcb.h:83
volatile ULONG NumberOfSrvOpens
Definition: mrxfcb.h:61
volatile ULONG NumberOfFcbs
Definition: mrxfcb.h:60
ULONG ClusterSize
Definition: mrxfcb.h:79
PVOID Context
Definition: mrxfcb.h:57
PUNICODE_STRING pNetRootName
Definition: mrxfcb.h:67
NET_ROOT_TYPE Type
Definition: mrxfcb.h:63
ULONG ReadAheadGranularity
Definition: mrxfcb.h:80
struct _MRX_NET_ROOT_::@2071::@2074 DiskParameters
ULONG DataCollectionSize
Definition: mrxfcb.h:74
struct _MRX_NET_ROOT_::@2071::@2073 NamedPipeParameters
MRX_NET_ROOT_STATE MRxNetRootState
Definition: mrxfcb.h:62
DEVICE_TYPE DeviceType
Definition: mrxfcb.h:66
MRX_NORMAL_NODE_HEADER
Definition: mrxfcb.h:55
PVOID Context2
Definition: mrxfcb.h:58
PMRX_SRV_CALL pSrvCall
Definition: mrxfcb.h:56
ULONG ParameterValidationStamp
Definition: mrxfcb.h:69
MRX_PURGE_SYNCLOCATION PurgeSyncLocation
Definition: mrxfcb.h:65
NETROOT_THROTTLING_PARAMETERS LockThrottlingParameters
Definition: mrxfcb.h:81
MRX_PURGE_RELATIONSHIP PurgeRelationship
Definition: mrxfcb.h:64
ULONG RenameInfoOverallocationSize
Definition: mrxfcb.h:82
NODE_BYTE_SIZE NodeByteSize
Definition: mrxfcb.h:7
NODE_TYPE_CODE NodeTypeCode
Definition: mrxfcb.h:6
volatile ULONG NodeReferenceCount
Definition: mrxfcb.h:8
PUNICODE_STRING pDomainName
Definition: mrxfcb.h:24
MRX_NORMAL_NODE_HEADER
Definition: mrxfcb.h:18
PVOID Context2
Definition: mrxfcb.h:20
PRDBSS_DEVICE_OBJECT RxDeviceObject
Definition: mrxfcb.h:21
LONG MaximumNumberOfCloseDelayedFiles
Definition: mrxfcb.h:26
PVOID Context
Definition: mrxfcb.h:19
ULONG Flags
Definition: mrxfcb.h:25
PUNICODE_STRING pSrvCallName
Definition: mrxfcb.h:22
NTSTATUS Status
Definition: mrxfcb.h:27
PUNICODE_STRING pPrincipalName
Definition: mrxfcb.h:23
PVOID Context2
Definition: mrxfcb.h:164
ULONG Flags
Definition: mrxfcb.h:168
MRX_NORMAL_NODE_HEADER
Definition: mrxfcb.h:160
ULONG ulFileSizeVersion
Definition: mrxfcb.h:177
ACCESS_MASK DesiredAccess
Definition: mrxfcb.h:173
LIST_ENTRY SrvOpenQLinks
Definition: mrxfcb.h:178
PMRX_V_NET_ROOT pVNetRoot
Definition: mrxfcb.h:162
PVOID Key
Definition: mrxfcb.h:172
PVOID Context
Definition: mrxfcb.h:163
PMRX_FCB pFcb
Definition: mrxfcb.h:161
ULONG CreateOptions
Definition: mrxfcb.h:175
PUNICODE_STRING pAlreadyPrefixedName
Definition: mrxfcb.h:169
CLONG UncleanFobxCount
Definition: mrxfcb.h:170
CLONG OpenCount
Definition: mrxfcb.h:171
ULONG BufferingFlags
Definition: mrxfcb.h:176
ULONG ShareAccess
Definition: mrxfcb.h:174
PVOID Context2
Definition: mrxfcb.h:95
NTSTATUS ConstructionStatus
Definition: mrxfcb.h:104
volatile ULONG NumberOfFobxs
Definition: mrxfcb.h:98
BOOLEAN IsExplicitConnection
Definition: mrxfcb.h:105
ULONG NumberOfOpens
Definition: mrxfcb.h:97
ULONG Flags
Definition: mrxfcb.h:96
PUNICODE_STRING pUserDomainName
Definition: mrxfcb.h:100
ULONG SessionId
Definition: mrxfcb.h:103
PMRX_NET_ROOT pNetRoot
Definition: mrxfcb.h:93
MRX_NORMAL_NODE_HEADER
Definition: mrxfcb.h:92
PVOID Context
Definition: mrxfcb.h:94
PUNICODE_STRING pUserName
Definition: mrxfcb.h:101
PUNICODE_STRING pPassword
Definition: mrxfcb.h:102
LUID LogonId
Definition: mrxfcb.h:99
#define NTAPI
Definition: typedefs.h:36
#define IN
Definition: typedefs.h:39
uint32_t ULONG
Definition: typedefs.h:59
uint64_t ULONGLONG
Definition: typedefs.h:67
#define OUT
Definition: typedefs.h:40
ULONG CLONG
Definition: umtypes.h:126
* PFILE_OBJECT
Definition: iotypes.h:1998
FAST_IO_WRITE * PFAST_IO_WRITE
Definition: iotypes.h:1471
FAST_IO_READ * PFAST_IO_READ
Definition: iotypes.h:1457
unsigned char UCHAR
Definition: xmlstorage.h:181