Hi,
if I open a file in kernel mode on XP with:
RtlInitUnicodeString(&FileName, L"\??\c:\freeldr.ini"); InitializeObjectAttributes(&ObjectAttributes, &FileName, OBJ_CASE_INSENSITIVE, NULL, NULL);
Status = ZwOpenFile(&FileHandle, GENERIC_READ, &ObjectAttributes, &IoStatusBlock, 0, 0 /* FILE_SYNCHRONOUS_IO_NONALERT*/);
Status = ObReferenceObjectByHandle(FileHandle, GENERIC_READ, IoFileObjectType, KernelMode, (PVOID)&FileObject, NULL);
I see FileObje->Flags is FO_HANDLE_CREATED|FO_CACHE_SUPPORTED. Than I create a stream file object from FileObject->DeviceObect:
StreamFileObject = IoCreateStreamFileObject(NULL, FileObject->DeviceObject);
I see StreamFileObject->Flags is FO_HANDLE_CREATED|FO_STREAM_FILE.
- Hartmut
Alex Ionescu wrote:
ion@svn.reactos.com wrote:
Make the remaning code match the current formatting instead of being really ugly,
and make some changes to IoCreateFileStreamObject (which is wrong anyways, since it's doing what *Lite should do)
This breaks usetup/vfat/whatever. I'll fix it until I have time to look at the whole picture. (Well actually I'll add back the incorrect parts of the code :P)
Best regards, Alex Ionescu _______________________________________________ Ros-dev mailing list Ros-dev@reactos.com http://reactos.com:8080/mailman/listinfo/ros-dev