ReactOS  0.4.14-dev-1233-gf5658fd
lowio.h
Go to the documentation of this file.
1 #ifndef _RXLOWIO_
2 #define _RXLOWIO_
3 
4 #include "mrx.h"
5 
7 
8 #define RxLowIoIsMdlLocked(MDL) (RxMdlIsLocked((MDL)) || RxMdlSourceIsNonPaged((MDL)))
9 
10 #define RxLowIoIsBufferLocked(LowIoContext) \
11  (((LowIoContext)->Operation > LOWIO_OP_WRITE) || \
12  ((LowIoContext)->ParamsFor.ReadWrite.Buffer == NULL) || \
13  (((LowIoContext)->ParamsFor.ReadWrite.Buffer != NULL) && \
14  RxLowIoIsMdlLocked(((LowIoContext)->ParamsFor.ReadWrite.Buffer))))
15 
16 
17 typedef struct _LOWIO_PER_FCB_INFO
18 {
22 
23 #if (_WIN32_WINNT >= 0x0600)
25 NTAPI
27  _In_ PRX_CONTEXT RxContext,
28  _In_ PIRP Irp);
29 #else
31 NTAPI
33  _In_ PRX_CONTEXT RxContext);
34 #endif
35 
36 #if (_WIN32_WINNT >= 0x0600)
38 NTAPI
40  _In_ PRX_CONTEXT RxContext,
41  _In_ PIRP Irp,
42  _In_ PFCB Fcb,
44 #else
46 NTAPI
48  _In_ PRX_CONTEXT RxContext,
50 #endif
51 
53 NTAPI
55  _In_ PRX_CONTEXT RxContext);
56 
57 #if (_WIN32_WINNT >= 0x0600)
58 VOID
59 NTAPI
61  _In_ PRX_CONTEXT RxContext,
63  _Out_ PLOWIO_CONTEXT LowIoContext);
64 #else
65 VOID
66 NTAPI
68  _Out_ PLOWIO_CONTEXT LowIoContext,
70 #endif
71 
72 VOID
74  _Inout_ PLOWIO_PER_FCB_INFO LowIoPerFcbInfo);
75 
76 #endif
_In_ PIRP Irp
Definition: csq.h:116
Definition: cdstruc.h:908
LONG NTSTATUS
Definition: precomp.h:26
NTSTATUS NTAPI RxLowIoCompletion(_In_ PRX_CONTEXT RxContext)
VOID RxInitializeLowIoPerFcbInfo(_Inout_ PLOWIO_PER_FCB_INFO LowIoPerFcbInfo)
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
NTSTATUS NTAPI RxLowIoPopulateFsctlInfo(_In_ PRX_CONTEXT RxContext)
#define _Out_
Definition: no_sal2.h:323
LIST_ENTRY PagingIoWritesOutstanding
Definition: lowio.h:20
FAST_MUTEX RxLowIoPagingIoSyncMutex
Definition: rxce.c:136
NTSTATUS(NTAPI * PLOWIO_COMPLETION_ROUTINE)(_In_ PRX_CONTEXT RxContext)
Definition: mrx.h:249
FAST_MUTEX
Definition: extypes.h:17
struct _LOWIO_PER_FCB_INFO LOWIO_PER_FCB_INFO
#define _Inout_
Definition: no_sal2.h:244
Definition: typedefs.h:118
struct _LOWIO_PER_FCB_INFO * PLOWIO_PER_FCB_INFO
#define _In_
Definition: no_sal2.h:204
VOID NTAPI RxInitializeLowIoContext(_Out_ PLOWIO_CONTEXT LowIoContext, _In_ ULONG Operation)
_In_ PIRP _In_opt_ PVOID _In_opt_ POPLOCK_WAIT_COMPLETE_ROUTINE CompletionRoutine
Definition: fsrtlfuncs.h:673
unsigned int ULONG
Definition: retypes.h:1
_In_ FLT_SET_CONTEXT_OPERATION Operation
Definition: fltkernel.h:1468
LIST_ENTRY PagingIoReadsOutstanding
Definition: lowio.h:19
_In_ PFCB Fcb
Definition: cdprocs.h:151
NTSTATUS NTAPI RxLowIoSubmit(_In_ PRX_CONTEXT RxContext, _In_ PLOWIO_COMPLETION_ROUTINE CompletionRoutine)