ReactOS  r75214
mrx.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _MRX_CREATENETROOT_CONTEXT
 
struct  _MRX_SRVCALL_CALLBACK_CONTEXT
 
struct  _MRX_SRVCALLDOWN_STRUCTURE
 
struct  _LOWIO_LOCK_LIST
 
struct  _XXCTL_LOWIO_COMPONENT
 
struct  _LOWIO_CONTEXT
 
struct  _MINIRDR_DISPATCH
 

Macros

#define RX_REGISTERMINI_FLAG_DONT_PROVIDE_UNCS   0x00000001
 
#define RX_REGISTERMINI_FLAG_DONT_PROVIDE_MAILSLOTS   0x00000002
 
#define RX_REGISTERMINI_FLAG_DONT_INIT_DRIVER_DISPATCH   0x00000004
 
#define RX_REGISTERMINI_FLAG_DONT_INIT_PREFIX_N_SCAVENGER   0x00000008
 
#define StableCondition(X)   ((X) >= Condition_Good)
 
#define LOWIO_CONTEXT_FLAG_SYNCCALL   0x01
 
#define LOWIO_CONTEXT_FLAG_LOUDOPS   0x04
 
#define LOWIO_CONTEXT_FLAG_CAN_COMPLETE_AT_DPC_LEVEL   0x08
 
#define LOWIO_READWRITEFLAG_PAGING_IO   0x01
 
#define RDBSS_MANAGE_SRV_CALL_EXTENSION   0x01
 
#define RDBSS_MANAGE_NET_ROOT_EXTENSION   0x02
 
#define RDBSS_MANAGE_V_NET_ROOT_EXTENSION   0x04
 
#define RDBSS_MANAGE_FCB_EXTENSION   0x08
 
#define RDBSS_MANAGE_SRV_OPEN_EXTENSION   0x10
 
#define RDBSS_MANAGE_FOBX_EXTENSION   0x20
 
#define RDBSS_NO_DEFERRED_CACHE_READAHEAD   0x1000
 

Typedefs

typedef _Inout_
PRDBSS_DEVICE_OBJECT 
RxDeviceObject
 
typedef _In_ PUNICODE_STRING DirectoryName
 
typedef _In_ PFCB Fcb2
 
typedef enum _RX_BLOCK_CONDITION RX_BLOCK_CONDITION
 
typedef enum _RX_BLOCK_CONDITIONPRX_BLOCK_CONDITION
 
typedef _In_ PMRX_SRV_CALL SrvCall
 
typedef _In_ PMRX_SRV_CALL
_Out_ PUNICODE_STRING 
NetRootName
 
typedef _In_ PMRX_SRV_CALL
_Out_ PUNICODE_STRING
_Out_opt_ PUNICODE_STRING 
RestOfName
 
typedef struct
_MRX_CREATENETROOT_CONTEXT 
MRX_CREATENETROOT_CONTEXT
 
typedef struct
_MRX_CREATENETROOT_CONTEXT
PMRX_CREATENETROOT_CONTEXT
 
typedef struct
_MRX_SRVCALL_CALLBACK_CONTEXT 
MRX_SRVCALL_CALLBACK_CONTEXT
 
typedef struct
_MRX_SRVCALL_CALLBACK_CONTEXT
PMRX_SRVCALL_CALLBACK_CONTEXT
 
typedef struct
_MRX_SRVCALLDOWN_STRUCTURE 
MRX_SRVCALLDOWN_STRUCTURE
 
typedef struct
_MRX_SRVCALLDOWN_STRUCTURE
PMRX_SRVCALLDOWN_STRUCTURE
 
typedef _Inout_
PMRX_SRVCALL_CALLBACK_CONTEXT 
SrvCallCallBackContext
 
typedef NTSTATUS(NTAPIPMRX_SRVCALL_WINNER_NOTIFY )(_Inout_ PMRX_SRV_CALL SrvCall, _In_ BOOLEAN ThisMinirdrIsTheWinner, _Inout_ PVOID RecommunicateContext)
 
typedef _In_ PLARGE_INTEGER ByteOffset
 
typedef _In_ PLARGE_INTEGER
_In_ PLARGE_INTEGER 
Length
 
typedef _In_ PLARGE_INTEGER
_In_ PLARGE_INTEGER _In_ ULONG 
LowIoLockFlags
 
typedef _In_ BOOLEAN Force
 
typedef _Inout_ PLARGE_INTEGER NewFileSize
 
typedef _Inout_ PLARGE_INTEGER
_Out_ PLARGE_INTEGER 
NewAllocationSize
 
typedef _Inout_ PMRX_SRV_OPEN SrvOpen
 
typedef _Inout_ PMRX_SRV_OPEN
_In_ PVOID 
MRxContext
 
typedef _In_ PUNICODE_STRING Name
 
typedef _Inout_ PRX_CONNECTION_ID UniqueId
 
typedef _In_ PVOID _Out_ PULONG NewBufferingState
 
typedef enum _LOWIO_OPS LOWIO_OPS
 
typedef LONGLONG RXVBO
 
typedef struct _LOWIO_LOCK_LIST LOWIO_LOCK_LIST
 
typedef struct _LOWIO_LOCK_LISTPLOWIO_LOCK_LIST
 
typedef struct
_XXCTL_LOWIO_COMPONENT 
XXCTL_LOWIO_COMPONENT
 
typedef struct _LOWIO_CONTEXT LOWIO_CONTEXT
 
typedef struct _MINIRDR_DISPATCH MINIRDR_DISPATCH
 
typedef struct _MINIRDR_DISPATCHPMINIRDR_DISPATCH
 

Enumerations

enum  _RX_BLOCK_CONDITION {
  Condition_Uninitialized = 0, Condition_InTransition, Condition_Closing, Condition_Good,
  Condition_Bad, Condition_Closed
}
 
enum  _LOWIO_OPS {
  LOWIO_OP_READ = 0, LOWIO_OP_WRITE, LOWIO_OP_SHAREDLOCK, LOWIO_OP_EXCLUSIVELOCK,
  LOWIO_OP_UNLOCK, LOWIO_OP_UNLOCK_MULTIPLE, LOWIO_OP_FSCTL, LOWIO_OP_IOCTL,
  LOWIO_OP_NOTIFY_CHANGE_DIRECTORY, LOWIO_OP_CLEAROUT, LOWIO_OP_MAXIMUM
}
 

Functions

NTSTATUS NTAPI RxRegisterMinirdr (_Out_ PRDBSS_DEVICE_OBJECT *DeviceObject, _Inout_ PDRIVER_OBJECT DriverObject, _In_ PMINIRDR_DISPATCH MrdrDispatch, _In_ ULONG Controls, _In_ PUNICODE_STRING DeviceName, _In_ ULONG DeviceExtensionSize, _In_ DEVICE_TYPE DeviceType, _In_ ULONG DeviceCharacteristics)
 
VOID NTAPI RxpUnregisterMinirdr (_In_ PRDBSS_DEVICE_OBJECT RxDeviceObject)
 
NTSTATUS NTAPI RxStartMinirdr (_In_ PRX_CONTEXT RxContext, _Out_ PBOOLEAN PostToFsp)
 
NTSTATUS NTAPI RxStopMinirdr (_In_ PRX_CONTEXT RxContext, _Out_ PBOOLEAN PostToFsp)
 
NTSTATUS NTAPI RxFsdDispatch (_In_ PRDBSS_DEVICE_OBJECT RxDeviceObject, _In_ PIRP Irp)
 
typedef NTSTATUS (NTAPI *PMRX_CALLDOWN)(_Inout_ PRX_CONTEXT RxContext)
 
typedef VOID (NTAPI *PMRX_NETROOT_CALLBACK)(_Inout_ PMRX_CREATENETROOT_CONTEXT CreateContext)
 
typedef ULONG (NTAPI *PMRX_EXTENDFILE_CALLDOWN)(_Inout_ PRX_CONTEXT RxContext
 

Macro Definition Documentation

#define LOWIO_CONTEXT_FLAG_CAN_COMPLETE_AT_DPC_LEVEL   0x08

Definition at line 317 of file mrx.h.

Referenced by RxLowIoCompletionTail().

#define LOWIO_CONTEXT_FLAG_LOUDOPS   0x04

Definition at line 316 of file mrx.h.

Referenced by RxCommonRead().

#define LOWIO_CONTEXT_FLAG_SYNCCALL   0x01

Definition at line 315 of file mrx.h.

Referenced by RxLowIoCompletionTail(), RxLowIoReadShellCompletion(), and RxLowIoSubmit().

#define LOWIO_READWRITEFLAG_PAGING_IO   0x01
#define RDBSS_MANAGE_FCB_EXTENSION   0x08

Definition at line 324 of file mrx.h.

Referenced by nfs41_init_ops(), and RxAllocateFcbObject().

#define RDBSS_MANAGE_FOBX_EXTENSION   0x20

Definition at line 326 of file mrx.h.

Referenced by nfs41_init_ops(), and RxAllocateFcbObject().

#define RDBSS_MANAGE_NET_ROOT_EXTENSION   0x02

Definition at line 322 of file mrx.h.

Referenced by nfs41_init_ops(), and RxAllocateObject().

#define RDBSS_MANAGE_SRV_CALL_EXTENSION   0x01

Definition at line 321 of file mrx.h.

Referenced by RxAllocateObject(), and RxFreeObject().

#define RDBSS_MANAGE_SRV_OPEN_EXTENSION   0x10

Definition at line 325 of file mrx.h.

Referenced by RxAllocateFcbObject().

#define RDBSS_MANAGE_V_NET_ROOT_EXTENSION   0x04

Definition at line 323 of file mrx.h.

Referenced by nfs41_init_ops(), and RxAllocateObject().

#define RDBSS_NO_DEFERRED_CACHE_READAHEAD   0x1000

Definition at line 327 of file mrx.h.

Referenced by RxCommonRead().

#define RX_REGISTERMINI_FLAG_DONT_INIT_DRIVER_DISPATCH   0x00000004

Definition at line 6 of file mrx.h.

Referenced by RxRegisterMinirdr().

#define RX_REGISTERMINI_FLAG_DONT_INIT_PREFIX_N_SCAVENGER   0x00000008

Definition at line 7 of file mrx.h.

Referenced by RxRegisterMinirdr().

#define RX_REGISTERMINI_FLAG_DONT_PROVIDE_MAILSLOTS   0x00000002

Definition at line 5 of file mrx.h.

Referenced by DriverEntry(), and RxRegisterMinirdr().

#define RX_REGISTERMINI_FLAG_DONT_PROVIDE_UNCS   0x00000001

Definition at line 4 of file mrx.h.

Referenced by RxRegisterMinirdr().

#define StableCondition (   X)    ((X) >= Condition_Good)

Typedef Documentation

Definition at line 59 of file mrx.h.

typedef _In_ PFCB Fcb2

Definition at line 65 of file mrx.h.

typedef _In_ PBOOLEAN Force

Definition at line 181 of file mrx.h.

Definition at line 168 of file mrx.h.

Definition at line 168 of file mrx.h.

Definition at line 206 of file mrx.h.

Definition at line 213 of file mrx.h.

Definition at line 87 of file mrx.h.

Definition at line 199 of file mrx.h.

Definition at line 225 of file mrx.h.

Definition at line 199 of file mrx.h.

typedef NTSTATUS(NTAPI * PMRX_SRVCALL_WINNER_NOTIFY)(_Inout_ PMRX_SRV_CALL SrvCall, _In_ BOOLEAN ThisMinirdrIsTheWinner, _Inout_ PVOID RecommunicateContext)

Definition at line 149 of file mrx.h.

Definition at line 53 of file mrx.h.

typedef LONGLONG RXVBO

Definition at line 247 of file mrx.h.

Definition at line 87 of file mrx.h.

Definition at line 206 of file mrx.h.

Definition at line 219 of file mrx.h.

Enumeration Type Documentation

Enumerator
LOWIO_OP_READ 
LOWIO_OP_WRITE 
LOWIO_OP_SHAREDLOCK 
LOWIO_OP_EXCLUSIVELOCK 
LOWIO_OP_UNLOCK 
LOWIO_OP_UNLOCK_MULTIPLE 
LOWIO_OP_FSCTL 
LOWIO_OP_IOCTL 
LOWIO_OP_NOTIFY_CHANGE_DIRECTORY 
LOWIO_OP_CLEAROUT 
LOWIO_OP_MAXIMUM 

Definition at line 228 of file mrx.h.

Enumerator
Condition_Uninitialized 
Condition_InTransition 
Condition_Closing 
Condition_Good 
Condition_Bad 
Condition_Closed 

Definition at line 67 of file mrx.h.

67  {
enum _RX_BLOCK_CONDITION * PRX_BLOCK_CONDITION
enum _RX_BLOCK_CONDITION RX_BLOCK_CONDITION

Function Documentation

typedef NTSTATUS ( NTAPI PMRX_CALLDOWN)
NTSTATUS NTAPI RxFsdDispatch ( _In_ PRDBSS_DEVICE_OBJECT  RxDeviceObject,
_In_ PIRP  Irp 
)

Referenced by nfs41_FsdDispatch().

VOID NTAPI RxpUnregisterMinirdr ( _In_ PRDBSS_DEVICE_OBJECT  RxDeviceObject)

Referenced by RxUnregisterMinirdr().

NTSTATUS NTAPI RxRegisterMinirdr ( _Out_ PRDBSS_DEVICE_OBJECT DeviceObject,
_Inout_ PDRIVER_OBJECT  DriverObject,
_In_ PMINIRDR_DISPATCH  MrdrDispatch,
_In_ ULONG  Controls,
_In_ PUNICODE_STRING  DeviceName,
_In_ ULONG  DeviceExtensionSize,
_In_ DEVICE_TYPE  DeviceType,
_In_ ULONG  DeviceCharacteristics 
)

Referenced by DriverEntry().

NTSTATUS NTAPI RxStartMinirdr ( _In_ PRX_CONTEXT  RxContext,
_Out_ PBOOLEAN  PostToFsp 
)
NTSTATUS NTAPI RxStopMinirdr ( _In_ PRX_CONTEXT  RxContext,
_Out_ PBOOLEAN  PostToFsp 
)
typedef ULONG ( NTAPI PMRX_EXTENDFILE_CALLDOWN)
typedef VOID ( NTAPI PMRX_NETROOT_CALLBACK)