Home | Info | Community | Development | myReactOS | Contact Us
[static]
Definition at line 78 of file create.c.
Referenced by NtfsCreateFile().
{ PNTFS_FCB ParentFcb; PNTFS_FCB Fcb; NTSTATUS Status; PWSTR AbsFileName = NULL; DPRINT("NtfsOpenFile(%p, %p, %S)\n", DeviceExt, FileObject, FileName); if (FileObject->RelatedFileObject) { DPRINT("Converting relative filename to absolute filename\n"); Status = NtfsMakeAbsoluteFilename(FileObject->RelatedFileObject, FileName, &AbsFileName); FileName = AbsFileName; if (!NT_SUCCESS(Status)) { return(Status); } return(STATUS_UNSUCCESSFUL); } //FIXME: Get cannonical path name (remove .'s, ..'s and extra separators) DPRINT("PathName to open: %S\n", FileName); /* try first to find an existing FCB in memory */ DPRINT("Checking for existing FCB in memory\n"); Fcb = NtfsGrabFCBFromTable(DeviceExt, FileName); if (Fcb == NULL) { DPRINT("No existing FCB found, making a new one if file exists.\n"); Status = NtfsGetFCBForFile(DeviceExt, &ParentFcb, &Fcb, FileName); if (ParentFcb != NULL) { NtfsReleaseFCB(DeviceExt, ParentFcb); } if (!NT_SUCCESS (Status)) { DPRINT("Could not make a new FCB, status: %x\n", Status); if (AbsFileName) ExFreePool(AbsFileName); return(Status); } } DPRINT("Attaching FCB to fileObject\n"); Status = NtfsAttachFCBToFileObject(DeviceExt, Fcb, FileObject); if (AbsFileName) ExFreePool (AbsFileName); return(Status); }