2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS kernel
4 * FILE: ntoskrnl/cc/fs.c
5 * PURPOSE: Implements MDL Cache Manager Functions
7 * PROGRAMMERS: Alex Ionescu
10 /* INCLUDES ******************************************************************/
16 /* FUNCTIONS *****************************************************************/
24 IN PFILE_OBJECT FileObject
,
25 IN PLARGE_INTEGER FileOffset
,
28 OUT PIO_STATUS_BLOCK IoStatus
36 * CcMdlReadComplete2@8
48 * Used by CcMdlReadComplete@8 and FsRtl
54 IN PFILE_OBJECT FileObject
,
55 IN PMDL MemoryDescriptorList
61 while ((Mdl
= MemoryDescriptorList
))
63 MemoryDescriptorList
= Mdl
->Next
;
81 * From Bo Branten's ntifs.h v13.
88 IN PFILE_OBJECT FileObject
,
91 PDEVICE_OBJECT DeviceObject
= NULL
;
92 PFAST_IO_DISPATCH FastDispatch
;
94 /* Get Fast Dispatch Data */
95 DeviceObject
= IoGetRelatedDeviceObject(FileObject
);
96 FastDispatch
= DeviceObject
->DriverObject
->FastIoDispatch
;
98 /* Check if we support Fast Calls, and check this one */
99 if (FastDispatch
&& FastDispatch
->MdlReadComplete
)
101 /* Use the fast path */
102 FastDispatch
->MdlReadComplete(FileObject
,
108 CcMdlReadComplete2(FileObject
, MdlChain
);
117 IN PFILE_OBJECT FileObject
,
118 IN PLARGE_INTEGER FileOffset
,
121 PDEVICE_OBJECT DeviceObject
= NULL
;
122 PFAST_IO_DISPATCH FastDispatch
;
124 /* Get Fast Dispatch Data */
125 DeviceObject
= IoGetRelatedDeviceObject(FileObject
);
126 FastDispatch
= DeviceObject
->DriverObject
->FastIoDispatch
;
128 /* Check if we support Fast Calls, and check this one */
129 if (FastDispatch
&& FastDispatch
->MdlWriteComplete
)
131 /* Use the fast path */
132 FastDispatch
->MdlWriteComplete(FileObject
,
139 CcMdlWriteComplete2(FileObject
,FileOffset
, MdlChain
);
144 CcMdlWriteComplete2 (
145 IN PFILE_OBJECT FileObject
,
146 IN PLARGE_INTEGER FileOffset
,
158 IN PFILE_OBJECT FileObject
,
170 IN PFILE_OBJECT FileObject
,
171 IN PLARGE_INTEGER FileOffset
,
174 OUT PIO_STATUS_BLOCK IoStatus
)