#include "FsRtlP.h"
Go to the source code of this file.
Defines | |
#define | Dbg (0x04000000) |
Functions | |
BOOLEAN | FsRtlCopyRead (IN PFILE_OBJECT FileObject, IN PLARGE_INTEGER FileOffset, IN ULONG Length, IN BOOLEAN Wait, IN ULONG LockKey, OUT PVOID Buffer, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject) |
BOOLEAN | FsRtlCopyWrite (IN PFILE_OBJECT FileObject, IN PLARGE_INTEGER FileOffset, IN ULONG Length, IN BOOLEAN Wait, IN ULONG LockKey, IN PVOID Buffer, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject) |
BOOLEAN | FsRtlMdlReadDev (IN PFILE_OBJECT FileObject, IN PLARGE_INTEGER FileOffset, IN ULONG Length, IN ULONG LockKey, OUT PMDL *MdlChain, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject) |
BOOLEAN | FsRtlMdlRead (IN PFILE_OBJECT FileObject, IN PLARGE_INTEGER FileOffset, IN ULONG Length, IN ULONG LockKey, OUT PMDL *MdlChain, OUT PIO_STATUS_BLOCK IoStatus) |
BOOLEAN | FsRtlMdlReadComplete (IN PFILE_OBJECT FileObject, IN PMDL MdlChain) |
BOOLEAN | FsRtlMdlReadCompleteDev (IN PFILE_OBJECT FileObject, IN PMDL MdlChain, IN PDEVICE_OBJECT DeviceObject) |
BOOLEAN | FsRtlPrepareMdlWriteDev (IN PFILE_OBJECT FileObject, IN PLARGE_INTEGER FileOffset, IN ULONG Length, IN ULONG LockKey, OUT PMDL *MdlChain, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject) |
BOOLEAN | FsRtlPrepareMdlWrite (IN PFILE_OBJECT FileObject, IN PLARGE_INTEGER FileOffset, IN ULONG Length, IN ULONG LockKey, OUT PMDL *MdlChain, OUT PIO_STATUS_BLOCK IoStatus) |
BOOLEAN | FsRtlMdlWriteComplete (IN PFILE_OBJECT FileObject, IN PLARGE_INTEGER FileOffset, IN PMDL MdlChain) |
BOOLEAN | FsRtlMdlWriteCompleteDev (IN PFILE_OBJECT FileObject, IN PLARGE_INTEGER FileOffset, IN PMDL MdlChain, IN PDEVICE_OBJECT DeviceObject) |
NTKERNELAPI BOOLEAN | FsRtlAcquireFileForModWrite (IN PFILE_OBJECT FileObject, IN PLARGE_INTEGER EndingOffset, OUT PERESOURCE *ResourceToRelease) |
NTKERNELAPI VOID | FsRtlReleaseFileForModWrite (IN PFILE_OBJECT FileObject, IN PERESOURCE ResourceToRelease) |
NTKERNELAPI VOID | FsRtlAcquireFileForCcFlush (IN PFILE_OBJECT FileObject) |
NTKERNELAPI VOID | FsRtlReleaseFileForCcFlush (IN PFILE_OBJECT FileObject) |
NTKERNELAPI VOID | FsRtlAcquireFileExclusive (IN PFILE_OBJECT FileObject) |
NTKERNELAPI VOID | FsRtlReleaseFile (IN PFILE_OBJECT FileObject) |
NTSTATUS | FsRtlGetFileSize (IN PFILE_OBJECT FileObject, IN OUT PLARGE_INTEGER FileSize) |
NTSTATUS | FsRtlSetFileSize (IN PFILE_OBJECT FileObject, IN OUT PLARGE_INTEGER FileSize) |
|
|
|
Definition at line 2555 of file fastio.c. References _FAST_IO_DISPATCH::AcquireFileForNtCreateSection, _DEVICE_OBJECT::DriverObject, ExAcquireResourceExclusive, _DRIVER_OBJECT::FastIoDispatch, FsRtlEnterFileSystem, Header, IoGetBaseFileSystemDeviceObject(), NULL, PAGED_CODE, _FAST_IO_DISPATCH::SizeOfFastIoDispatch, and TRUE. Referenced by CcWriteBehind(), CcZeroEndOfLastPage(), and MmCreateSection().
|
|
Definition at line 2402 of file fastio.c. References _FAST_IO_DISPATCH::AcquireForCcFlush, ASSERT, _DEVICE_OBJECT::DriverObject, ExAcquireResourceExclusive, ExAcquireResourceShared, ExIsResourceAcquiredShared, _DRIVER_OBJECT::FastIoDispatch, FsRtlEnterFileSystem, Header, IoGetBaseFileSystemDeviceObject(), NTSTATUS(), NULL, PAGED_CODE, _FAST_IO_DISPATCH::SizeOfFastIoDispatch, Status, and TRUE. Referenced by MiRemoveUnusedSegments(), MmFlushSection(), and MmFlushVirtualMemory().
|
|
Definition at line 2064 of file fastio.c. References AcquireExclusive, _FAST_IO_DISPATCH::AcquireForModWrite, _DEVICE_OBJECT::DriverObject, ExAcquireResourceExclusive, ExAcquireSharedWaitForExclusive(), ExConvertExclusiveToShared, ExReleaseResource, FALSE, _DRIVER_OBJECT::FastIoDispatch, FlagOn, FSRTL_FLAG_ACQUIRE_MAIN_RSRC_EX, FSRTL_FLAG_ACQUIRE_MAIN_RSRC_SH, Header, IoGetBaseFileSystemDeviceObject(), NTSTATUS(), NULL, PAGED_CODE, _FAST_IO_DISPATCH::SizeOfFastIoDispatch, Status, and TRUE. Referenced by MiGatherMappedPages(), and MiMappedPageWriter().
|
|
Definition at line 54 of file fastio.c. References ASSERT, Buffer, CcCopyRead(), CcFastCopyRead(), CcFastReadNotPossible, CcFastReadNoWait, CcFastReadResourceMiss, CcFastReadWait, COMPUTE_PAGES_SPANNED, _DEVICE_OBJECT::DriverObject, ExAcquireResourceShared, EXCEPTION_CONTINUE_SEARCH, EXCEPTION_EXECUTE_HANDLER, ExReleaseResource, FALSE, _FAST_IO_DISPATCH::FastIoCheckIfPossible, _DRIVER_OBJECT::FastIoDispatch, FastIoIsNotPossible, FastIoIsQuestionable, FO_FILE_FAST_IO_READ, FSRTL_FAST_IO_TOP_LEVEL_IRP, FsRtlEnterFileSystem, FsRtlExitFileSystem, FsRtlIsNtstatusExpected(), Header, HOT_STATISTIC, IoGetRelatedDeviceObject(), NULL, PAGED_CODE, PFAST_IO_DISPATCH, PsGetCurrentThread, Status, TRUE, and VOID(). Referenced by UdfInitializeGlobalData().
|
|
Definition at line 330 of file fastio.c. References ASSERT, Buffer, CcCanIWrite(), CcCopyWrite(), CcCopyWriteWontFlush, CcFastCopyWrite(), CcGetFileSizePointer, CcZeroData(), _DEVICE_OBJECT::DriverObject, ExAcquireResourceExclusive, ExAcquireResourceShared, EXCEPTION_CONTINUE_SEARCH, EXCEPTION_EXECUTE_HANDLER, ExReleaseResource, FALSE, _FAST_IO_DISPATCH::FastIoCheckIfPossible, _DRIVER_OBJECT::FastIoDispatch, FastIoIsNotPossible, FastIoIsQuestionable, FlagOn, FO_FILE_MODIFIED, FO_FILE_SIZE_CHANGED, FO_WRITE_THROUGH, FSRTL_FAST_IO_TOP_LEVEL_IRP, FsRtlEnterFileSystem, FsRtlExitFileSystem, FsRtlIsNtstatusExpected(), Header, IoGetRelatedDeviceObject(), NULL, Offset, PAGED_CODE, PsGetCurrentThread, Status, TRUE, and VOID().
|
|
Definition at line 2691 of file fastio.c. References _IRP::AssociatedIrp, _IO_STACK_LOCATION::DeviceObject, _DEVICE_OBJECT::DriverObject, Event(), Executive, FALSE, _DRIVER_OBJECT::FastIoDispatch, _FAST_IO_DISPATCH::FastIoQueryStandardInfo, _IO_STACK_LOCATION::FileObject, _IRP::Flags, IoAllocateIrp(), IoCallDriver, IoGetNextIrpStackLocation, IoGetRelatedDeviceObject(), Irp, IRP_MJ_QUERY_INFORMATION, IRP_PAGING_IO, IRP_SYNCHRONOUS_PAGING_IO, KeInitializeEvent, KernelMode, KeWaitForSingleObject(), _IO_STACK_LOCATION::MajorFunction, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, _IO_STACK_LOCATION::Parameters, PsGetCurrentThread, _IRP::RequestorMode, _DEVICE_OBJECT::StackSize, Status, _IRP::Tail, TRUE, _IRP::UserEvent, and _IRP::UserIosb. Referenced by MiCreateDataFileMap(), MiCreateImageFileMap(), MmCreateSection(), and MmExtendSection().
|
|
Definition at line 1277 of file fastio.c. References _DEVICE_OBJECT::DriverObject, FALSE, FAST_IO_DISPATCH, _DRIVER_OBJECT::FastIoDispatch, FsRtlMdlReadDev(), IoGetBaseFileSystemDeviceObject(), IoGetRelatedDeviceObject(), _FAST_IO_DISPATCH::MdlRead, NULL, and _FAST_IO_DISPATCH::SizeOfFastIoDispatch.
|
|
Definition at line 1367 of file fastio.c. References _DEVICE_OBJECT::DriverObject, FALSE, _DRIVER_OBJECT::FastIoDispatch, FsRtlMdlReadCompleteDev(), IoGetBaseFileSystemDeviceObject(), IoGetRelatedDeviceObject(), _FAST_IO_DISPATCH::MdlReadComplete, NULL, and _FAST_IO_DISPATCH::SizeOfFastIoDispatch.
|
|
Definition at line 1438 of file fastio.c. References CcMdlReadComplete2(), and TRUE. Referenced by FsRtlMdlReadComplete().
|
|
Definition at line 1064 of file fastio.c. References ASSERT, CcFastMdlReadNotPossible, CcFastMdlReadWait, CcMdlRead(), _DEVICE_OBJECT::DriverObject, ExAcquireResourceShared, EXCEPTION_CONTINUE_SEARCH, EXCEPTION_EXECUTE_HANDLER, ExReleaseResource, FALSE, _FAST_IO_DISPATCH::FastIoCheckIfPossible, _DRIVER_OBJECT::FastIoDispatch, FastIoIsNotPossible, FastIoIsQuestionable, FO_FILE_FAST_IO_READ, FSRTL_FAST_IO_TOP_LEVEL_IRP, FsRtlEnterFileSystem, FsRtlExitFileSystem, FsRtlIsNtstatusExpected(), Header, IoGetRelatedDeviceObject(), NULL, PAGED_CODE, PsGetCurrentThread, Status, TRUE, and VOID(). Referenced by FsRtlMdlRead().
|
|
Definition at line 1950 of file fastio.c. References _DEVICE_OBJECT::DriverObject, FALSE, _DRIVER_OBJECT::FastIoDispatch, FsRtlMdlWriteCompleteDev(), IoGetBaseFileSystemDeviceObject(), IoGetRelatedDeviceObject(), _FAST_IO_DISPATCH::MdlWriteComplete, NULL, and _FAST_IO_DISPATCH::SizeOfFastIoDispatch.
|
|
Definition at line 2020 of file fastio.c. References CcMdlWriteComplete2(), FALSE, FlagOn, FO_WRITE_THROUGH, and TRUE. Referenced by FsRtlMdlWriteComplete().
|
|
Definition at line 1860 of file fastio.c. References _DEVICE_OBJECT::DriverObject, FALSE, _DRIVER_OBJECT::FastIoDispatch, FsRtlPrepareMdlWriteDev(), IoGetBaseFileSystemDeviceObject(), IoGetRelatedDeviceObject(), NULL, _FAST_IO_DISPATCH::PrepareMdlWrite, and _FAST_IO_DISPATCH::SizeOfFastIoDispatch.
|
|
Definition at line 1474 of file fastio.c. References ASSERT, CcCanIWrite(), CcGetFileSizePointer, CcPrepareMdlWrite(), CcZeroData(), _DEVICE_OBJECT::DriverObject, ExAcquireResourceExclusive, ExAcquireResourceShared, EXCEPTION_CONTINUE_SEARCH, EXCEPTION_EXECUTE_HANDLER, ExReleaseResource, FALSE, _FAST_IO_DISPATCH::FastIoCheckIfPossible, _DRIVER_OBJECT::FastIoDispatch, FastIoIsNotPossible, FastIoIsQuestionable, FlagOn, FO_FILE_MODIFIED, FO_FILE_SIZE_CHANGED, FO_WRITE_THROUGH, FSRTL_FAST_IO_TOP_LEVEL_IRP, FsRtlEnterFileSystem, FsRtlExitFileSystem, FsRtlIsNtstatusExpected(), Header, IoGetRelatedDeviceObject(), NULL, Offset, PAGED_CODE, PsGetCurrentThread, Status, TRUE, and VOID(). Referenced by FsRtlPrepareMdlWrite().
|
|
Definition at line 2628 of file fastio.c. References _DEVICE_OBJECT::DriverObject, ExReleaseResource, _DRIVER_OBJECT::FastIoDispatch, FsRtlExitFileSystem, Header, IoGetBaseFileSystemDeviceObject(), NULL, PAGED_CODE, _FAST_IO_DISPATCH::ReleaseFileForNtCreateSection, and _FAST_IO_DISPATCH::SizeOfFastIoDispatch. Referenced by CcDeleteSharedCacheMap(), CcWriteBehind(), CcZeroEndOfLastPage(), and MmCreateSection().
|
|
Definition at line 2483 of file fastio.c. References ASSERT, _DEVICE_OBJECT::DriverObject, ExReleaseResource, _DRIVER_OBJECT::FastIoDispatch, FsRtlExitFileSystem, Header, IoGetBaseFileSystemDeviceObject(), NTSTATUS(), NULL, PAGED_CODE, _FAST_IO_DISPATCH::ReleaseForCcFlush, _FAST_IO_DISPATCH::SizeOfFastIoDispatch, and Status. Referenced by MiRemoveUnusedSegments(), MmFlushSection(), and MmFlushVirtualMemory().
|
|
Definition at line 2342 of file fastio.c. References ASSERT, _DEVICE_OBJECT::DriverObject, ExReleaseResource, _DRIVER_OBJECT::FastIoDispatch, IoGetBaseFileSystemDeviceObject(), NTSTATUS(), NULL, PAGED_CODE, _FAST_IO_DISPATCH::ReleaseForModWrite, _FAST_IO_DISPATCH::SizeOfFastIoDispatch, and Status. Referenced by MiWriteComplete().
|
|
Definition at line 2864 of file fastio.c. References _IRP::AssociatedIrp, Buffer, _IO_STACK_LOCATION::DeviceObject, Event(), Executive, FALSE, _IO_STACK_LOCATION::FileObject, _IRP::Flags, IoAllocateIrp(), IoCallDriver, IoGetNextIrpStackLocation, IoGetRelatedDeviceObject(), Irp, IRP_MJ_SET_INFORMATION, IRP_PAGING_IO, IRP_SYNCHRONOUS_PAGING_IO, KeInitializeEvent, KernelMode, KeWaitForSingleObject(), _IO_STACK_LOCATION::MajorFunction, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, _IO_STACK_LOCATION::Parameters, PsGetCurrentThread, _IRP::RequestorMode, _DEVICE_OBJECT::StackSize, Status, _IRP::Tail, _IRP::UserEvent, and _IRP::UserIosb. Referenced by MiCreateDataFileMap(), and MmExtendSection().
|