ReactOS 0.4.15-dev-8219-ge8b88cf
buffring.h
Go to the documentation of this file.
1#ifndef __BUFFRING_H__
2#define __BUFFRING_H__
3
4#define RX_REQUEST_PREPARED_FOR_HANDLING 0x10000000
5
7{
10#if (_WIN32_WINNT < 0x0600)
12#endif
17
19{
38
39#if (_WIN32_WINNT >= 0x0600)
40#define RxAcquireBufferingManagerMutex(BufMan) ExAcquireFastMutex(&(BufMan)->Mutex)
41#else
42#define RxAcquireBufferingManagerMutex(BufMan) \
43 { \
44 if (!ExTryToAcquireFastMutex(&(BufMan)->Mutex)) \
45 { \
46 ExAcquireFastMutex(&(BufMan)->Mutex); \
47 } \
48 }
49#endif
50#define RxReleaseBufferingManagerMutex(BufMan) ExReleaseFastMutex(&(BufMan)->Mutex)
51
52VOID
54 PSRV_CALL SrvCall,
55 BOOLEAN UpdateHandlerState);
56
57VOID
60 _In_ PVOID SrvCall);
61
62VOID
64 _In_ PFCB Fcb);
65
66VOID
68 _In_ PSRV_OPEN SrvOpen);
69
70VOID
72 _Inout_ PSRV_OPEN SrvOpen);
73
74VOID
76 _Inout_ PSRV_OPEN SrvOpen);
77
80 _In_ PSRV_CALL SrvCall);
81
84 _In_ PSRV_CALL SrvCall);
85
89 _In_ BOOLEAN SynchronizeWithLazyWriter);
90
96 _In_ BOOLEAN UninitializeCacheMaps,
97 _In_ BOOLEAN FlushFile);
98
99#endif
unsigned char BOOLEAN
LONG NTSTATUS
Definition: precomp.h:26
VOID RxPurgeChangeBufferingStateRequestsForSrvOpen(_In_ PSRV_OPEN SrvOpen)
VOID NTAPI RxProcessChangeBufferingStateRequests(_In_ PVOID SrvCall)
Definition: rxce.c:6643
struct _CHANGE_BUFFERING_STATE_REQUEST_ * PCHANGE_BUFFERING_STATE_REQUEST
VOID RxCompleteSrvOpenKeyAssociation(_Inout_ PSRV_OPEN SrvOpen)
struct _RX_BUFFERING_MANAGER_ * PRX_BUFFERING_MANAGER
struct _RX_BUFFERING_MANAGER_ RX_BUFFERING_MANAGER
NTSTATUS RxPurgeFcbInSystemCache(_In_ PFCB Fcb, _In_ PLARGE_INTEGER FileOffset OPTIONAL, _In_ ULONG Length, _In_ BOOLEAN UninitializeCacheMaps, _In_ BOOLEAN FlushFile)
NTSTATUS RxFlushFcbInSystemCache(_In_ PFCB Fcb, _In_ BOOLEAN SynchronizeWithLazyWriter)
VOID RxpProcessChangeBufferingStateRequests(PSRV_CALL SrvCall, BOOLEAN UpdateHandlerState)
Definition: rxce.c:6417
struct _CHANGE_BUFFERING_STATE_REQUEST_ CHANGE_BUFFERING_STATE_REQUEST
VOID RxInitiateSrvOpenKeyAssociation(_Inout_ PSRV_OPEN SrvOpen)
NTSTATUS RxInitializeBufferingManager(_In_ PSRV_CALL SrvCall)
VOID RxProcessFcbChangeBufferingStateRequest(_In_ PFCB Fcb)
NTSTATUS RxTearDownBufferingManager(_In_ PSRV_CALL SrvCall)
_In_ PFCB _In_ LONGLONG FileOffset
Definition: cdprocs.h:160
_In_ PFCB Fcb
Definition: cdprocs.h:159
ULONG KSPIN_LOCK
Definition: env_spec_w32.h:72
#define _Inout_
Definition: ms_sal.h:378
#define _In_
Definition: ms_sal.h:308
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
long LONG
Definition: pedump.c:60
PULONG MinorVersion OPTIONAL
Definition: CrossNt.h:68
Definition: cdstruc.h:902
Definition: typedefs.h:120
BOOLEAN DispatcherActive
Definition: buffring.h:20
LONG NumberOfUnhandledRequests
Definition: buffring.h:26
FAST_MUTEX Mutex
Definition: buffring.h:35
BOOLEAN HandlerInactive
Definition: buffring.h:21
LONG NumberOfUndispatchedRequests
Definition: buffring.h:27
RX_WORK_QUEUE_ITEM LastChanceHandlerWorkItem
Definition: buffring.h:34
RX_WORK_QUEUE_ITEM DispatcherWorkItem
Definition: buffring.h:32
LIST_ENTRY LastChanceHandlerList
Definition: buffring.h:31
LIST_ENTRY DispatcherList
Definition: buffring.h:29
BOOLEAN LastChanceHandlerActive
Definition: buffring.h:22
LIST_ENTRY HandlerList
Definition: buffring.h:30
volatile LONG NumberOfOutstandingOpens
Definition: buffring.h:28
LIST_ENTRY SrvOpenLists[1]
Definition: buffring.h:36
volatile LONG CumulativeNumberOfBufferingChangeRequests
Definition: buffring.h:25
RX_WORK_QUEUE_ITEM HandlerWorkItem
Definition: buffring.h:33
KSPIN_LOCK SpinLock
Definition: buffring.h:24
Definition: fcb.h:10
Definition: fcb.h:261
#define NTAPI
Definition: typedefs.h:36
uint32_t ULONG
Definition: typedefs.h:59
FAST_MUTEX
Definition: extypes.h:17
unsigned char UCHAR
Definition: xmlstorage.h:181