[NTOSKRNL:CC] Catch Controller Add LOG Handler Directives
Following Functions are Implemented: *CcSetLogHandleForFile *CcSetAdditionalCacheAttributes TODO *CcSetLogHandleForFile *CcGetLsnForFileObject *CcGetDirtyPages
This commit is contained in:
parent
381c91cc01
commit
97722bb3e6
76
NTOSKRNL/CC/ccloghandler.cpp
Normal file
76
NTOSKRNL/CC/ccloghandler.cpp
Normal file
@ -0,0 +1,76 @@
|
||||
/* PROJECT: Alcyone Kernel
|
||||
* LICENSE: BSD Clause 3
|
||||
* PURPOSE: Cache Controller:: LOG Handler
|
||||
* NT KERNEL: 5.11.9360
|
||||
* COPYRIGHT: 2023-2029 Dibymartanda Samanta <>
|
||||
*/
|
||||
|
||||
|
||||
#include <ntoskrnl.h>
|
||||
#define NTDEBUG
|
||||
#include <debug.h>
|
||||
#include "ccinternal.hpp"
|
||||
#include "ccloghandler.hpp"
|
||||
|
||||
extern "C"
|
||||
|
||||
LARGE_INTEGER
|
||||
NTAPI
|
||||
CcGetDirtyPages(IN PVOID LogHandle,
|
||||
IN PDIRTY_PAGE_ROUTINE DirtyPageRoutine,
|
||||
IN PVOID Context1,
|
||||
IN PVOID Context2)
|
||||
{
|
||||
/* IMPLEMENTATION INCOMPLETE*/
|
||||
}
|
||||
|
||||
LARGE_INTEGER
|
||||
NTAPI
|
||||
CcGetLsnForFileObject(IN PFILE_OBJECT FileObject,
|
||||
OUT OPTIONAL PLARGE_INTEGER OldestLsn)
|
||||
{
|
||||
/* IMPLEMENTATION INCOMPLETE*/
|
||||
}
|
||||
|
||||
|
||||
Void NTAPI CcSetAdditionalCacheAttributes(
|
||||
In PFILE_OBJECT FileObject,
|
||||
In BOOLEAN DisableReadAhead,
|
||||
In BOOLEAN DisableWriteBehind
|
||||
)
|
||||
{
|
||||
|
||||
PSHARED_CACHE_MAP SharedCacheMap = FileObject->SectionObjectPointer->SharedCacheMap;
|
||||
KIRQL oldlock = KeAcquireQueuedSpinLock(LockQueueMasterLock);
|
||||
if ( DisableReadAhead )
|
||||
SharedCacheMap->Flags |= READAHEAD_FLAG;
|
||||
else
|
||||
SharedCacheMap->Flags &= ~READAHEAD_FLAG;
|
||||
if ( DisableWriteBehind )
|
||||
SharedCacheMap->Flags |= DISABLE_WRITE_FLAG;
|
||||
else
|
||||
SharedCacheMap->Flags &= ~ENABLE_WRITE_FLAG;
|
||||
KeReleaseQueuedSpinLock(LockQueueMasterLock, oldlock);
|
||||
|
||||
}
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
CcSetLogHandleForFile(IN PFILE_OBJECT FileObject,
|
||||
IN PVOID LogHandle,
|
||||
IN PFLUSH_TO_LSN FlushToLsnRoutine)
|
||||
{
|
||||
/* IMPLEMENTATION INCOMPLETE*/
|
||||
}
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
CcSetLogHandleForFile(IN PFILE_OBJECT FileObject,
|
||||
IN PVOID LogHandle,
|
||||
IN PFLUSH_TO_LSN FlushToLsnRoutine)
|
||||
{
|
||||
PSHARED_CACHE_MAP SharedCacheMap = FileObject->SectionObjectPointer->SharedCacheMap
|
||||
SharedCacheMap->LogHandle = LogHandle;
|
||||
SharedCacheMap->FlushToLsnRoutine = FlushToLsnRoutine;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user