- Sync with trunk head (r50270)
- This also reverts r49298.

svn path=/branches/cmake-bringup/; revision=50271
This commit is contained in:
Amine Khaldi 2011-01-03 00:33:31 +00:00
commit 6c0c23cb53
482 changed files with 40346 additions and 24711 deletions

View file

@ -121,6 +121,8 @@ NpfsOpenFileSystem(PNPFS_FCB Fcb,
return;
}
RtlZeroMemory(Ccb, sizeof(NPFS_CCB));
Ccb->Type = CCB_DEVICE;
Ccb->Fcb = Fcb;
@ -150,6 +152,8 @@ NpfsOpenRootDirectory(PNPFS_FCB Fcb,
return;
}
RtlZeroMemory(Ccb, sizeof(NPFS_CCB));
Ccb->Type = CCB_DIRECTORY;
Ccb->Fcb = Fcb;
@ -221,7 +225,8 @@ NpfsCreate(PDEVICE_OBJECT DeviceObject,
}
/* Open the root directory */
if (FileName->Length == 2 && FileName->Buffer[0] == L'\\' && RelatedFileObject == NULL)
if ((FileName->Length == 2 && FileName->Buffer[0] == L'\\' && RelatedFileObject == NULL) ||
(FileName->Length == 0 && ((PNPFS_CCB)RelatedFileObject->FsContext2)->Type == CCB_DIRECTORY))
{
DPRINT("Open the root directory\n");
@ -880,6 +885,9 @@ NpfsClose(PDEVICE_OBJECT DeviceObject,
{
DPRINT("Closing the root directory!\n");
if (Ccb->u.Directory.SearchPattern.Buffer != NULL)
ExFreePool(Ccb->u.Directory.SearchPattern.Buffer);
ExFreePool(Ccb);
FileObject->FsContext = NULL;
FileObject->FsContext2 = NULL;