ReactOS 0.4.16-dev-112-g52265ae
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
17typedef struct _LOWIO_PER_FCB_INFO
18{
22
23#if (_WIN32_WINNT >= 0x0600)
27 _In_ PRX_CONTEXT RxContext,
28 _In_ PIRP Irp);
29#else
33 _In_ PRX_CONTEXT RxContext);
34#endif
35
36#if (_WIN32_WINNT >= 0x0600)
40 _In_ PRX_CONTEXT RxContext,
44#else
48 _In_ PRX_CONTEXT RxContext,
50#endif
51
55 _In_ PRX_CONTEXT RxContext);
56
57#if (_WIN32_WINNT >= 0x0600)
58VOID
61 _In_ PRX_CONTEXT RxContext,
63 _Out_ PLOWIO_CONTEXT LowIoContext);
64#else
65VOID
68 _Out_ PLOWIO_CONTEXT LowIoContext,
70#endif
71
72VOID
74 _Inout_ PLOWIO_PER_FCB_INFO LowIoPerFcbInfo);
75
76#endif
LONG NTSTATUS
Definition: precomp.h:26
_In_ PFCB Fcb
Definition: cdprocs.h:159
_In_ PIRP Irp
Definition: csq.h:116
FP_OP Operation
Definition: fpcontrol.c:150
NTSTATUS NTAPI RxLowIoPopulateFsctlInfo(_In_ PRX_CONTEXT RxContext)
FAST_MUTEX RxLowIoPagingIoSyncMutex
Definition: rxce.c:136
NTSTATUS NTAPI RxLowIoSubmit(_In_ PRX_CONTEXT RxContext, _In_ PLOWIO_COMPLETION_ROUTINE CompletionRoutine)
VOID RxInitializeLowIoPerFcbInfo(_Inout_ PLOWIO_PER_FCB_INFO LowIoPerFcbInfo)
struct _LOWIO_PER_FCB_INFO LOWIO_PER_FCB_INFO
struct _LOWIO_PER_FCB_INFO * PLOWIO_PER_FCB_INFO
NTSTATUS NTAPI RxLowIoCompletion(_In_ PRX_CONTEXT RxContext)
VOID NTAPI RxInitializeLowIoContext(_Out_ PLOWIO_CONTEXT LowIoContext, _In_ ULONG Operation)
NTSTATUS(NTAPI * PLOWIO_COMPLETION_ROUTINE)(_In_ PRX_CONTEXT RxContext)
Definition: mrx.h:249
#define _Inout_
Definition: ms_sal.h:378
#define _Out_
Definition: ms_sal.h:345
#define _In_
Definition: ms_sal.h:308
Definition: cdstruc.h:902
Definition: typedefs.h:120
LIST_ENTRY PagingIoReadsOutstanding
Definition: lowio.h:19
LIST_ENTRY PagingIoWritesOutstanding
Definition: lowio.h:20
#define NTAPI
Definition: typedefs.h:36
uint32_t ULONG
Definition: typedefs.h:59
_In_ WDFREQUEST _In_opt_ PFN_WDF_REQUEST_COMPLETION_ROUTINE CompletionRoutine
Definition: wdfrequest.h:895
FAST_MUTEX
Definition: extypes.h:17