[NTOSKRNL] Implement CcSetAdditionalCacheAttributes()

This commit is contained in:
Pierre Schweitzer 2018-02-08 11:49:22 +01:00
parent f8c3f0c9c4
commit df5839db5b
No known key found for this signature in database
GPG key ID: 7545556C3D585B0B
2 changed files with 32 additions and 3 deletions

View file

@ -164,7 +164,7 @@ CcScheduleReadAhead (
}
/*
* @unimplemented
* @implemented
*/
VOID
NTAPI
@ -174,10 +174,35 @@ CcSetAdditionalCacheAttributes (
IN BOOLEAN DisableWriteBehind
)
{
KIRQL OldIrql;
PROS_SHARED_CACHE_MAP SharedCacheMap;
CCTRACE(CC_API_DEBUG, "FileObject=%p DisableReadAhead=%d DisableWriteBehind=%d\n",
FileObject, DisableReadAhead, DisableWriteBehind);
UNIMPLEMENTED;
SharedCacheMap = FileObject->SectionObjectPointer->SharedCacheMap;
OldIrql = KeAcquireQueuedSpinLock(LockQueueMasterLock);
if (DisableReadAhead)
{
SetFlag(SharedCacheMap->Flags, READAHEAD_DISABLED);
}
else
{
ClearFlag(SharedCacheMap->Flags, READAHEAD_DISABLED);
}
if (DisableWriteBehind)
{
/* FIXME: also set flag 0x200 */
SetFlag(SharedCacheMap->Flags, WRITEBEHIND_DISABLED);
}
else
{
ClearFlag(SharedCacheMap->Flags, WRITEBEHIND_DISABLED);
}
KeReleaseQueuedSpinLock(LockQueueMasterLock, OldIrql);
}
/*
@ -234,7 +259,7 @@ CcSetDirtyPageThreshold (
}
/*
* @unimplemented
* @implemented
*/
VOID
NTAPI