}
else
{
+ PMDL Mdl;
+
+ Mdl = Irp->MdlAddress;
+ ok(Mdl != NULL, "Null pointer for MDL!\n");
+ ok((Mdl->MdlFlags & MDL_PAGES_LOCKED) != 0, "MDL not locked\n");
+ ok((Mdl->MdlFlags & MDL_SOURCE_IS_NONPAGED_POOL) == 0, "MDL from non paged\n");
+ ok((Irp->Flags & IRP_PAGING_IO) != 0, "Non paging IO\n");
+
Status = STATUS_SUCCESS;
}
{
Fcb = IoStack->FileObject->FsContext;
ok(Fcb != NULL, "Null pointer!\n");
- if (IoStack->FileObject->PrivateCacheMap != NULL)
+ if (IoStack->FileObject->SectionObjectPointer != NULL &&
+ IoStack->FileObject->SectionObjectPointer->SharedCacheMap != NULL)
{
CcFlushCache(&Fcb->SectionObjectPointers, NULL, 0, NULL);
CcPurgeCacheSection(&Fcb->SectionObjectPointers, NULL, 0, FALSE);
}
else
{
+ ULONG TestSize = 0;
+
ok(EOFInfo != NULL, "Null pointer!\n");
ok(Fcb != NULL, "Null pointer!\n");
ok_bool_false(IoStack->Parameters.SetFile.AdvanceOnly, "AdvanceOnly set!\n");
ok(EOFInfo->EndOfFile.QuadPart > Fcb->Header.AllocationSize.QuadPart, "New size smaller\n");
+ if (Fcb->Header.AllocationSize.QuadPart != 0)
+ {
+ TestSize = 512;
+ }
+
+ Fcb->Header.AllocationSize.QuadPart = EOFInfo->EndOfFile.QuadPart;
+ ok_eq_ulong(Fcb->Header.FileSize.QuadPart, TestSize);
+ ok_eq_ulong(Fcb->Header.ValidDataLength.QuadPart, TestSize);
+
if (CcIsFileCached(IoStack->FileObject))
{
CcSetFileSizes(IoStack->FileObject, (PCC_FILE_SIZES)(&(Fcb->Header.AllocationSize)));
}
+ ok_eq_ulong(Fcb->Header.FileSize.QuadPart, TestSize);
+ ok_eq_ulong(Fcb->Header.ValidDataLength.QuadPart, TestSize);
+
Status = STATUS_SUCCESS;
}
}