[KMTESTS:MM] Properly clean up files

This fixes driver unloading on Windows.

ROSTESTS-266
This commit is contained in:
Pierre Schweitzer 2018-08-12 10:05:25 +02:00
parent 02b0ca08e4
commit c79e5dc476
No known key found for this signature in database
GPG key ID: 7545556C3D585B0B

View file

@ -413,13 +413,16 @@ TestIrpHandler(
{
Fcb = IoStack->FileObject->FsContext;
ok(Fcb != NULL, "Null pointer!\n");
if (IoStack->FileObject->SectionObjectPointer != NULL &&
IoStack->FileObject->SectionObjectPointer->SharedCacheMap != NULL)
if (IoStack->FileObject->SectionObjectPointer != NULL)
{
LARGE_INTEGER Zero = RTL_CONSTANT_LARGE_INTEGER(0LL);
CcFlushCache(&Fcb->SectionObjectPointers, NULL, 0, NULL);
CcPurgeCacheSection(&Fcb->SectionObjectPointers, NULL, 0, FALSE);
if (CcIsFileCached(IoStack->FileObject))
{
CcFlushCache(&Fcb->SectionObjectPointers, NULL, 0, NULL);
CcPurgeCacheSection(&Fcb->SectionObjectPointers, NULL, 0, FALSE);
}
KeInitializeEvent(&CacheUninitEvent.Event, NotificationEvent, FALSE);
CcUninitializeCacheMap(IoStack->FileObject, &Zero, &CacheUninitEvent);
KeWaitForSingleObject(&CacheUninitEvent.Event, Executive, KernelMode, FALSE, NULL);