Home | Info | Community | Development | myReactOS | Contact Us
[static]
Definition at line 71 of file fcb.c.
Referenced by vfatNewFCB().
{ USHORT PathNameBufferLength; if (NameU) PathNameBufferLength = NameU->Length + sizeof(WCHAR); else PathNameBufferLength = 0; Fcb->PathNameBuffer = ExAllocatePoolWithTag(NonPagedPool, PathNameBufferLength, TAG_FCB); if (!Fcb->PathNameBuffer) { /* FIXME: what to do if no more memory? */ DPRINT1("Unable to initialize FCB for filename '%wZ'\n", NameU); KeBugCheckEx(FAT_FILE_SYSTEM, (ULONG_PTR)Fcb, (ULONG_PTR)NameU, 0, 0); } Fcb->PathNameU.Length = 0; Fcb->PathNameU.Buffer = Fcb->PathNameBuffer; Fcb->PathNameU.MaximumLength = PathNameBufferLength; Fcb->ShortNameU.Length = 0; Fcb->ShortNameU.Buffer = Fcb->ShortNameBuffer; Fcb->ShortNameU.MaximumLength = sizeof(Fcb->ShortNameBuffer); Fcb->DirNameU.Buffer = Fcb->PathNameU.Buffer; if (NameU && NameU->Length) { RtlCopyUnicodeString(&Fcb->PathNameU, NameU); vfatSplitPathName(&Fcb->PathNameU, &Fcb->DirNameU, &Fcb->LongNameU); } else { Fcb->DirNameU.Buffer = Fcb->LongNameU.Buffer = NULL; Fcb->DirNameU.MaximumLength = Fcb->DirNameU.Length = 0; Fcb->LongNameU.MaximumLength = Fcb->LongNameU.Length = 0; } RtlZeroMemory(&Fcb->FCBShareAccess, sizeof(SHARE_ACCESS)); Fcb->OpenHandleCount = 0; }