mirror of
https://github.com/reactos/reactos.git
synced 2025-07-27 11:03:37 +00:00
[CDFS]
* Add some function annotations. * Fix several debug print specifiers. * Properly mark some unreferenced parameters as such. svn path=/trunk/; revision=58987
This commit is contained in:
parent
016d53260e
commit
1e4828d3f8
14 changed files with 124 additions and 62 deletions
|
@ -54,6 +54,8 @@ DriverEntry(PDRIVER_OBJECT DriverObject,
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
UNICODE_STRING DeviceName = RTL_CONSTANT_STRING(L"\\Cdfs");
|
UNICODE_STRING DeviceName = RTL_CONSTANT_STRING(L"\\Cdfs");
|
||||||
|
|
||||||
|
UNREFERENCED_PARAMETER(RegistryPath);
|
||||||
|
|
||||||
DPRINT("CDFS 0.0.3\n");
|
DPRINT("CDFS 0.0.3\n");
|
||||||
|
|
||||||
Status = IoCreateDevice(DriverObject,
|
Status = IoCreateDevice(DriverObject,
|
||||||
|
|
|
@ -243,16 +243,22 @@ extern PCDFS_GLOBAL_DATA CdfsGlobalData;
|
||||||
|
|
||||||
/* cleanup.c */
|
/* cleanup.c */
|
||||||
|
|
||||||
NTSTATUS NTAPI
|
DRIVER_DISPATCH CdfsCleanup;
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
CdfsCleanup(PDEVICE_OBJECT DeviceObject,
|
CdfsCleanup(PDEVICE_OBJECT DeviceObject,
|
||||||
PIRP Irp);
|
PIRP Irp);
|
||||||
|
|
||||||
|
|
||||||
/* close.c */
|
/* close.c */
|
||||||
|
|
||||||
NTSTATUS NTAPI
|
DRIVER_DISPATCH CdfsClose;
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
CdfsClose(PDEVICE_OBJECT DeviceObject,
|
CdfsClose(PDEVICE_OBJECT DeviceObject,
|
||||||
PIRP Irp);
|
PIRP Irp);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
CdfsCloseFile(PDEVICE_EXTENSION DeviceExt,
|
CdfsCloseFile(PDEVICE_EXTENSION DeviceExt,
|
||||||
|
@ -279,21 +285,29 @@ CdfsDeviceIoControl (IN PDEVICE_OBJECT DeviceObject,
|
||||||
|
|
||||||
/* create.c */
|
/* create.c */
|
||||||
|
|
||||||
NTSTATUS NTAPI
|
DRIVER_DISPATCH CdfsCreate;
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
CdfsCreate(PDEVICE_OBJECT DeviceObject,
|
CdfsCreate(PDEVICE_OBJECT DeviceObject,
|
||||||
PIRP Irp);
|
PIRP Irp);
|
||||||
|
|
||||||
/* devctrl.c */
|
/* devctrl.c */
|
||||||
|
|
||||||
|
DRIVER_DISPATCH CdfsDeviceControl;
|
||||||
|
|
||||||
NTSTATUS NTAPI
|
NTSTATUS NTAPI
|
||||||
CdfsDeviceControl(PDEVICE_OBJECT DeviceObject,
|
CdfsDeviceControl(PDEVICE_OBJECT DeviceObject,
|
||||||
PIRP Irp);
|
PIRP Irp);
|
||||||
|
|
||||||
/* dirctl.c */
|
/* dirctl.c */
|
||||||
|
|
||||||
NTSTATUS NTAPI
|
DRIVER_DISPATCH CdfsDirectoryControl;
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
CdfsDirectoryControl(PDEVICE_OBJECT DeviceObject,
|
CdfsDirectoryControl(PDEVICE_OBJECT DeviceObject,
|
||||||
PIRP Irp);
|
PIRP Irp);
|
||||||
|
|
||||||
|
|
||||||
/* fcb.c */
|
/* fcb.c */
|
||||||
|
@ -366,20 +380,28 @@ CdfsGetFCBForFile(PDEVICE_EXTENSION Vcb,
|
||||||
|
|
||||||
/* finfo.c */
|
/* finfo.c */
|
||||||
|
|
||||||
NTSTATUS NTAPI
|
DRIVER_DISPATCH CdfsQueryInformation;
|
||||||
CdfsQueryInformation(PDEVICE_OBJECT DeviceObject,
|
|
||||||
PIRP Irp);
|
|
||||||
|
|
||||||
NTSTATUS NTAPI
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
CdfsQueryInformation(PDEVICE_OBJECT DeviceObject,
|
||||||
|
PIRP Irp);
|
||||||
|
|
||||||
|
DRIVER_DISPATCH CdfsSetInformation;
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
CdfsSetInformation(PDEVICE_OBJECT DeviceObject,
|
CdfsSetInformation(PDEVICE_OBJECT DeviceObject,
|
||||||
PIRP Irp);
|
PIRP Irp);
|
||||||
|
|
||||||
|
|
||||||
/* fsctl.c */
|
/* fsctl.c */
|
||||||
|
|
||||||
|
DRIVER_DISPATCH CdfsFileSystemControl;
|
||||||
|
|
||||||
NTSTATUS NTAPI
|
NTSTATUS NTAPI
|
||||||
CdfsFileSystemControl(PDEVICE_OBJECT DeviceObject,
|
CdfsFileSystemControl(PDEVICE_OBJECT DeviceObject,
|
||||||
PIRP Irp);
|
PIRP Irp);
|
||||||
|
|
||||||
|
|
||||||
/* misc.c */
|
/* misc.c */
|
||||||
|
@ -406,24 +428,36 @@ CdfsShortNameCacheGet
|
||||||
|
|
||||||
/* rw.c */
|
/* rw.c */
|
||||||
|
|
||||||
NTSTATUS NTAPI
|
DRIVER_DISPATCH CdfsRead;
|
||||||
CdfsRead(PDEVICE_OBJECT DeviceObject,
|
|
||||||
PIRP Irp);
|
|
||||||
|
|
||||||
NTSTATUS NTAPI
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
CdfsRead(PDEVICE_OBJECT DeviceObject,
|
||||||
|
PIRP Irp);
|
||||||
|
|
||||||
|
DRIVER_DISPATCH CdfsWrite;
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
CdfsWrite(PDEVICE_OBJECT DeviceObject,
|
CdfsWrite(PDEVICE_OBJECT DeviceObject,
|
||||||
PIRP Irp);
|
PIRP Irp);
|
||||||
|
|
||||||
|
|
||||||
/* volinfo.c */
|
/* volinfo.c */
|
||||||
|
|
||||||
NTSTATUS NTAPI
|
DRIVER_DISPATCH CdfsQueryVolumeInformation;
|
||||||
CdfsQueryVolumeInformation(PDEVICE_OBJECT DeviceObject,
|
|
||||||
PIRP Irp);
|
|
||||||
|
|
||||||
NTSTATUS NTAPI
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
CdfsQueryVolumeInformation(PDEVICE_OBJECT DeviceObject,
|
||||||
|
PIRP Irp);
|
||||||
|
|
||||||
|
DRIVER_DISPATCH CdfsSetVolumeInformation;
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
CdfsSetVolumeInformation(PDEVICE_OBJECT DeviceObject,
|
CdfsSetVolumeInformation(PDEVICE_OBJECT DeviceObject,
|
||||||
PIRP Irp);
|
PIRP Irp);
|
||||||
|
|
||||||
/* cdfs.c */
|
/* cdfs.c */
|
||||||
|
|
||||||
|
|
|
@ -42,7 +42,7 @@ CdfsCleanupFile(PDEVICE_EXTENSION DeviceExt,
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
|
|
||||||
DPRINT("CdfsCleanupFile(DeviceExt %x, FileObject %x)\n",
|
DPRINT("CdfsCleanupFile(DeviceExt %p, FileObject %p)\n",
|
||||||
DeviceExt,
|
DeviceExt,
|
||||||
FileObject);
|
FileObject);
|
||||||
|
|
||||||
|
|
|
@ -43,13 +43,13 @@ CdfsCloseFile(PDEVICE_EXTENSION DeviceExt,
|
||||||
{
|
{
|
||||||
PCCB Ccb;
|
PCCB Ccb;
|
||||||
|
|
||||||
DPRINT("CdfsCloseFile(DeviceExt %x, FileObject %x)\n",
|
DPRINT("CdfsCloseFile(DeviceExt %p, FileObject %p)\n",
|
||||||
DeviceExt,
|
DeviceExt,
|
||||||
FileObject);
|
FileObject);
|
||||||
|
|
||||||
Ccb = (PCCB)(FileObject->FsContext2);
|
Ccb = (PCCB)(FileObject->FsContext2);
|
||||||
|
|
||||||
DPRINT("Ccb %x\n", Ccb);
|
DPRINT("Ccb %p\n", Ccb);
|
||||||
if (Ccb == NULL)
|
if (Ccb == NULL)
|
||||||
{
|
{
|
||||||
return(STATUS_SUCCESS);
|
return(STATUS_SUCCESS);
|
||||||
|
|
|
@ -60,9 +60,9 @@ again:
|
||||||
|
|
||||||
BlockSize = BLOCKSIZE * SectorCount;
|
BlockSize = BLOCKSIZE * SectorCount;
|
||||||
|
|
||||||
DPRINT("CdfsReadSectors(DeviceObject %x, DiskSector %d, Buffer %x)\n",
|
DPRINT("CdfsReadSectors(DeviceObject %p, DiskSector %u, Buffer %p)\n",
|
||||||
DeviceObject, DiskSector, Buffer);
|
DeviceObject, DiskSector, Buffer);
|
||||||
DPRINT("Offset %I64x BlockSize %ld\n",
|
DPRINT("Offset %I64x BlockSize %u\n",
|
||||||
Offset.QuadPart,
|
Offset.QuadPart,
|
||||||
BlockSize);
|
BlockSize);
|
||||||
|
|
||||||
|
@ -86,15 +86,15 @@ again:
|
||||||
Stack->Flags |= SL_OVERRIDE_VERIFY_VOLUME;
|
Stack->Flags |= SL_OVERRIDE_VERIFY_VOLUME;
|
||||||
}
|
}
|
||||||
|
|
||||||
DPRINT("Calling IO Driver... with irp %x\n", Irp);
|
DPRINT("Calling IO Driver... with irp %p\n", Irp);
|
||||||
Status = IoCallDriver(DeviceObject, Irp);
|
Status = IoCallDriver(DeviceObject, Irp);
|
||||||
|
|
||||||
DPRINT("Waiting for IO Operation for %x\n", Irp);
|
DPRINT("Waiting for IO Operation for %p\n", Irp);
|
||||||
if (Status == STATUS_PENDING)
|
if (Status == STATUS_PENDING)
|
||||||
{
|
{
|
||||||
DPRINT("Operation pending\n");
|
DPRINT("Operation pending\n");
|
||||||
KeWaitForSingleObject(&Event, Suspended, KernelMode, FALSE, NULL);
|
KeWaitForSingleObject(&Event, Suspended, KernelMode, FALSE, NULL);
|
||||||
DPRINT("Getting IO Status... for %x\n", Irp);
|
DPRINT("Getting IO Status... for %p\n", Irp);
|
||||||
Status = IoStatus.Status;
|
Status = IoStatus.Status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -127,13 +127,13 @@ again:
|
||||||
}
|
}
|
||||||
|
|
||||||
DPRINT("CdfsReadSectors() failed (Status %x)\n", Status);
|
DPRINT("CdfsReadSectors() failed (Status %x)\n", Status);
|
||||||
DPRINT("(DeviceObject %x, DiskSector %x, Buffer %x, Offset 0x%I64x)\n",
|
DPRINT("(DeviceObject %p, DiskSector %u, Buffer %p, Offset 0x%I64x)\n",
|
||||||
DeviceObject, DiskSector, Buffer,
|
DeviceObject, DiskSector, Buffer,
|
||||||
Offset.QuadPart);
|
Offset.QuadPart);
|
||||||
return(Status);
|
return(Status);
|
||||||
}
|
}
|
||||||
|
|
||||||
DPRINT("Block request succeeded for %x\n", Irp);
|
DPRINT("Block request succeeded for %p\n", Irp);
|
||||||
|
|
||||||
return(STATUS_SUCCESS);
|
return(STATUS_SUCCESS);
|
||||||
}
|
}
|
||||||
|
@ -155,9 +155,9 @@ CdfsDeviceIoControl (IN PDEVICE_OBJECT DeviceObject,
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
BOOLEAN LastChance = FALSE;
|
BOOLEAN LastChance = FALSE;
|
||||||
|
|
||||||
DPRINT("CdfsDeviceIoControl(DeviceObject %x, CtlCode %x, "
|
DPRINT("CdfsDeviceIoControl(DeviceObject %p, CtlCode %u, "
|
||||||
"InputBuffer %x, InputBufferSize %x, OutputBuffer %x, "
|
"InputBuffer %p, InputBufferSize %u, OutputBuffer %p, "
|
||||||
"POutputBufferSize %x (%x)\n", DeviceObject, CtlCode,
|
"POutputBufferSize %p (%x)\n", DeviceObject, CtlCode,
|
||||||
InputBuffer, InputBufferSize, OutputBuffer, OutputBufferSize,
|
InputBuffer, InputBufferSize, OutputBuffer, OutputBufferSize,
|
||||||
OutputBufferSize ? *OutputBufferSize : 0);
|
OutputBufferSize ? *OutputBufferSize : 0);
|
||||||
|
|
||||||
|
@ -186,15 +186,15 @@ again:
|
||||||
Stack->Flags |= SL_OVERRIDE_VERIFY_VOLUME;
|
Stack->Flags |= SL_OVERRIDE_VERIFY_VOLUME;
|
||||||
}
|
}
|
||||||
|
|
||||||
DPRINT ("Calling IO Driver... with irp %x\n", Irp);
|
DPRINT ("Calling IO Driver... with irp %p\n", Irp);
|
||||||
Status = IoCallDriver(DeviceObject, Irp);
|
Status = IoCallDriver(DeviceObject, Irp);
|
||||||
|
|
||||||
DPRINT ("Waiting for IO Operation for %x\n", Irp);
|
DPRINT ("Waiting for IO Operation for %p\n", Irp);
|
||||||
if (Status == STATUS_PENDING)
|
if (Status == STATUS_PENDING)
|
||||||
{
|
{
|
||||||
DPRINT ("Operation pending\n");
|
DPRINT ("Operation pending\n");
|
||||||
KeWaitForSingleObject (&Event, Suspended, KernelMode, FALSE, NULL);
|
KeWaitForSingleObject (&Event, Suspended, KernelMode, FALSE, NULL);
|
||||||
DPRINT ("Getting IO Status... for %x\n", Irp);
|
DPRINT ("Getting IO Status... for %p\n", Irp);
|
||||||
|
|
||||||
Status = IoStatus.Status;
|
Status = IoStatus.Status;
|
||||||
}
|
}
|
||||||
|
|
|
@ -113,7 +113,7 @@ CdfsOpenFile(PDEVICE_EXTENSION DeviceExt,
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
UNICODE_STRING AbsFileName;
|
UNICODE_STRING AbsFileName;
|
||||||
|
|
||||||
DPRINT("CdfsOpenFile(%08lx, %08lx, %wZ)\n", DeviceExt, FileObject, FileName);
|
DPRINT("CdfsOpenFile(%p, %p, %wZ)\n", DeviceExt, FileObject, FileName);
|
||||||
|
|
||||||
if (FileObject->RelatedFileObject)
|
if (FileObject->RelatedFileObject)
|
||||||
{
|
{
|
||||||
|
|
|
@ -25,6 +25,8 @@ CdfsDeviceControl(PDEVICE_OBJECT DeviceObject,
|
||||||
PFILE_OBJECT FileObject;
|
PFILE_OBJECT FileObject;
|
||||||
PIO_STACK_LOCATION Stack = IoGetCurrentIrpStackLocation(Irp);
|
PIO_STACK_LOCATION Stack = IoGetCurrentIrpStackLocation(Irp);
|
||||||
|
|
||||||
|
UNREFERENCED_PARAMETER(DeviceObject);
|
||||||
|
|
||||||
FileObject = Stack->FileObject;
|
FileObject = Stack->FileObject;
|
||||||
Irp->IoStatus.Information = 0;
|
Irp->IoStatus.Information = 0;
|
||||||
|
|
||||||
|
|
|
@ -177,9 +177,9 @@ CdfsFindFile(PDEVICE_EXTENSION DeviceExt,
|
||||||
PDIR_RECORD Record;
|
PDIR_RECORD Record;
|
||||||
LARGE_INTEGER StreamOffset, OffsetOfEntry;
|
LARGE_INTEGER StreamOffset, OffsetOfEntry;
|
||||||
|
|
||||||
DPRINT("FindFile(Parent %x, FileToFind '%wZ', DirIndex: %d)\n",
|
DPRINT("FindFile(Parent %p, FileToFind '%wZ', DirIndex: %u)\n",
|
||||||
Parent, FileToFind, pDirIndex ? *pDirIndex : 0);
|
Parent, FileToFind, pDirIndex ? *pDirIndex : 0);
|
||||||
DPRINT("FindFile: old Pathname %x, old Objectname %x)\n",
|
DPRINT("FindFile: old Pathname %p, old Objectname %p)\n",
|
||||||
Fcb->PathName, Fcb->ObjectName);
|
Fcb->PathName, Fcb->ObjectName);
|
||||||
|
|
||||||
IsRoot = FALSE;
|
IsRoot = FALSE;
|
||||||
|
@ -236,7 +236,7 @@ CdfsFindFile(PDEVICE_EXTENSION DeviceExt,
|
||||||
DirSize = Parent->Entry.DataLengthL;
|
DirSize = Parent->Entry.DataLengthL;
|
||||||
}
|
}
|
||||||
|
|
||||||
DPRINT("StreamOffset %I64u DirSize %lu\n", StreamOffset.QuadPart, DirSize);
|
DPRINT("StreamOffset %I64d DirSize %u\n", StreamOffset.QuadPart, DirSize);
|
||||||
|
|
||||||
if (pDirIndex && (*pDirIndex))
|
if (pDirIndex && (*pDirIndex))
|
||||||
DirIndex = *pDirIndex;
|
DirIndex = *pDirIndex;
|
||||||
|
@ -338,7 +338,7 @@ CdfsFindFile(PDEVICE_EXTENSION DeviceExt,
|
||||||
if (pOffset)
|
if (pOffset)
|
||||||
*pOffset = Offset;
|
*pOffset = Offset;
|
||||||
|
|
||||||
DPRINT("FindFile: new Pathname %S, new Objectname %S, DirIndex %d\n",
|
DPRINT("FindFile: new Pathname %S, new Objectname %S, DirIndex %u\n",
|
||||||
Fcb->PathName, Fcb->ObjectName, DirIndex);
|
Fcb->PathName, Fcb->ObjectName, DirIndex);
|
||||||
|
|
||||||
RtlFreeUnicodeString(&FileToFindUpcase);
|
RtlFreeUnicodeString(&FileToFindUpcase);
|
||||||
|
@ -375,6 +375,8 @@ CdfsGetNameInformation(PFCB Fcb,
|
||||||
|
|
||||||
DPRINT("CdfsGetNameInformation() called\n");
|
DPRINT("CdfsGetNameInformation() called\n");
|
||||||
|
|
||||||
|
UNREFERENCED_PARAMETER(DeviceExt);
|
||||||
|
|
||||||
Length = wcslen(Fcb->ObjectName) * sizeof(WCHAR);
|
Length = wcslen(Fcb->ObjectName) * sizeof(WCHAR);
|
||||||
if ((sizeof(FILE_NAMES_INFORMATION) + Length) > BufferLength)
|
if ((sizeof(FILE_NAMES_INFORMATION) + Length) > BufferLength)
|
||||||
return(STATUS_BUFFER_OVERFLOW);
|
return(STATUS_BUFFER_OVERFLOW);
|
||||||
|
@ -400,6 +402,8 @@ CdfsGetDirectoryInformation(PFCB Fcb,
|
||||||
|
|
||||||
DPRINT("CdfsGetDirectoryInformation() called\n");
|
DPRINT("CdfsGetDirectoryInformation() called\n");
|
||||||
|
|
||||||
|
UNREFERENCED_PARAMETER(DeviceExt);
|
||||||
|
|
||||||
Length = wcslen(Fcb->ObjectName) * sizeof(WCHAR);
|
Length = wcslen(Fcb->ObjectName) * sizeof(WCHAR);
|
||||||
if ((sizeof (FILE_DIRECTORY_INFORMATION) + Length) > BufferLength)
|
if ((sizeof (FILE_DIRECTORY_INFORMATION) + Length) > BufferLength)
|
||||||
return(STATUS_BUFFER_OVERFLOW);
|
return(STATUS_BUFFER_OVERFLOW);
|
||||||
|
@ -447,6 +451,8 @@ CdfsGetFullDirectoryInformation(PFCB Fcb,
|
||||||
|
|
||||||
DPRINT("CdfsGetFullDirectoryInformation() called\n");
|
DPRINT("CdfsGetFullDirectoryInformation() called\n");
|
||||||
|
|
||||||
|
UNREFERENCED_PARAMETER(DeviceExt);
|
||||||
|
|
||||||
Length = wcslen(Fcb->ObjectName) * sizeof(WCHAR);
|
Length = wcslen(Fcb->ObjectName) * sizeof(WCHAR);
|
||||||
if ((sizeof (FILE_FULL_DIR_INFORMATION) + Length) > BufferLength)
|
if ((sizeof (FILE_FULL_DIR_INFORMATION) + Length) > BufferLength)
|
||||||
return(STATUS_BUFFER_OVERFLOW);
|
return(STATUS_BUFFER_OVERFLOW);
|
||||||
|
@ -496,6 +502,8 @@ CdfsGetBothDirectoryInformation(PFCB Fcb,
|
||||||
|
|
||||||
DPRINT("CdfsGetBothDirectoryInformation() called\n");
|
DPRINT("CdfsGetBothDirectoryInformation() called\n");
|
||||||
|
|
||||||
|
UNREFERENCED_PARAMETER(DeviceExt);
|
||||||
|
|
||||||
Length = wcslen(Fcb->ObjectName) * sizeof(WCHAR);
|
Length = wcslen(Fcb->ObjectName) * sizeof(WCHAR);
|
||||||
if ((sizeof (FILE_BOTH_DIR_INFORMATION) + Length) > BufferLength)
|
if ((sizeof (FILE_BOTH_DIR_INFORMATION) + Length) > BufferLength)
|
||||||
return(STATUS_BUFFER_OVERFLOW);
|
return(STATUS_BUFFER_OVERFLOW);
|
||||||
|
@ -764,7 +772,7 @@ CdfsDirectoryControl(PDEVICE_OBJECT DeviceObject,
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
DPRINT1("CDFS: MinorFunction %d\n", Stack->MinorFunction);
|
DPRINT1("CDFS: MinorFunction %u\n", Stack->MinorFunction);
|
||||||
Status = STATUS_INVALID_DEVICE_REQUEST;
|
Status = STATUS_INVALID_DEVICE_REQUEST;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -139,7 +139,7 @@ CdfsGrabFCB(PDEVICE_EXTENSION Vcb,
|
||||||
{
|
{
|
||||||
KIRQL oldIrql;
|
KIRQL oldIrql;
|
||||||
|
|
||||||
DPRINT("grabbing FCB at %x: %S, refCount:%d\n",
|
DPRINT("grabbing FCB at %p: %S, refCount:%d\n",
|
||||||
Fcb,
|
Fcb,
|
||||||
Fcb->PathName,
|
Fcb->PathName,
|
||||||
Fcb->RefCount);
|
Fcb->RefCount);
|
||||||
|
@ -156,7 +156,7 @@ CdfsReleaseFCB(PDEVICE_EXTENSION Vcb,
|
||||||
{
|
{
|
||||||
KIRQL oldIrql;
|
KIRQL oldIrql;
|
||||||
|
|
||||||
DPRINT("releasing FCB at %x: %S, refCount:%d\n",
|
DPRINT("releasing FCB at %p: %S, refCount:%d\n",
|
||||||
Fcb,
|
Fcb,
|
||||||
Fcb->PathName,
|
Fcb->PathName,
|
||||||
Fcb->RefCount);
|
Fcb->RefCount);
|
||||||
|
@ -450,7 +450,7 @@ CdfsAttachFCBToFileObject(PDEVICE_EXTENSION Vcb,
|
||||||
Fcb->Flags |= FCB_CACHE_INITIALIZED;
|
Fcb->Flags |= FCB_CACHE_INITIALIZED;
|
||||||
}
|
}
|
||||||
|
|
||||||
DPRINT("file open: fcb:%x file size: %d\n", Fcb, Fcb->Entry.DataLengthL);
|
DPRINT("file open: fcb:%p file size: %u\n", Fcb, Fcb->Entry.DataLengthL);
|
||||||
|
|
||||||
return(STATUS_SUCCESS);
|
return(STATUS_SUCCESS);
|
||||||
}
|
}
|
||||||
|
@ -616,7 +616,7 @@ CdfsGetFCBForFile(PDEVICE_EXTENSION Vcb,
|
||||||
PFCB FCB;
|
PFCB FCB;
|
||||||
PFCB parentFCB;
|
PFCB parentFCB;
|
||||||
|
|
||||||
DPRINT("CdfsGetFCBForFile(%x, %x, %x, '%wZ')\n",
|
DPRINT("CdfsGetFCBForFile(%p, %p, %p, '%wZ')\n",
|
||||||
Vcb,
|
Vcb,
|
||||||
pParentFCB,
|
pParentFCB,
|
||||||
pFCB,
|
pFCB,
|
||||||
|
@ -652,7 +652,7 @@ CdfsGetFCBForFile(PDEVICE_EXTENSION Vcb,
|
||||||
}
|
}
|
||||||
|
|
||||||
DPRINT("Parsing, currentElement:%S\n", currentElement);
|
DPRINT("Parsing, currentElement:%S\n", currentElement);
|
||||||
DPRINT(" parentFCB:%x FCB:%x\n", parentFCB, FCB);
|
DPRINT(" parentFCB:%p FCB:%p\n", parentFCB, FCB);
|
||||||
|
|
||||||
/* Descend to next directory level */
|
/* Descend to next directory level */
|
||||||
if (parentFCB)
|
if (parentFCB)
|
||||||
|
|
|
@ -46,6 +46,8 @@ CdfsGetStandardInformation(PFCB Fcb,
|
||||||
{
|
{
|
||||||
DPRINT("CdfsGetStandardInformation() called\n");
|
DPRINT("CdfsGetStandardInformation() called\n");
|
||||||
|
|
||||||
|
UNREFERENCED_PARAMETER(DeviceObject);
|
||||||
|
|
||||||
if (*BufferLength < sizeof(FILE_STANDARD_INFORMATION))
|
if (*BufferLength < sizeof(FILE_STANDARD_INFORMATION))
|
||||||
return STATUS_BUFFER_OVERFLOW;
|
return STATUS_BUFFER_OVERFLOW;
|
||||||
|
|
||||||
|
@ -112,6 +114,9 @@ CdfsGetBasicInformation(PFILE_OBJECT FileObject,
|
||||||
{
|
{
|
||||||
DPRINT("CdfsGetBasicInformation() called\n");
|
DPRINT("CdfsGetBasicInformation() called\n");
|
||||||
|
|
||||||
|
UNREFERENCED_PARAMETER(FileObject);
|
||||||
|
UNREFERENCED_PARAMETER(DeviceObject);
|
||||||
|
|
||||||
if (*BufferLength < sizeof(FILE_BASIC_INFORMATION))
|
if (*BufferLength < sizeof(FILE_BASIC_INFORMATION))
|
||||||
return STATUS_BUFFER_OVERFLOW;
|
return STATUS_BUFFER_OVERFLOW;
|
||||||
|
|
||||||
|
@ -151,6 +156,9 @@ CdfsGetNameInformation(PFILE_OBJECT FileObject,
|
||||||
ASSERT(NameInfo != NULL);
|
ASSERT(NameInfo != NULL);
|
||||||
ASSERT(Fcb != NULL);
|
ASSERT(Fcb != NULL);
|
||||||
|
|
||||||
|
UNREFERENCED_PARAMETER(FileObject);
|
||||||
|
UNREFERENCED_PARAMETER(DeviceObject);
|
||||||
|
|
||||||
/* If buffer can't hold at least the file name length, bail out */
|
/* If buffer can't hold at least the file name length, bail out */
|
||||||
if (*BufferLength < (ULONG)FIELD_OFFSET(FILE_NAME_INFORMATION, FileName[0]))
|
if (*BufferLength < (ULONG)FIELD_OFFSET(FILE_NAME_INFORMATION, FileName[0]))
|
||||||
return STATUS_BUFFER_OVERFLOW;
|
return STATUS_BUFFER_OVERFLOW;
|
||||||
|
@ -403,7 +411,7 @@ CdfsQueryInformation(PDEVICE_OBJECT DeviceObject,
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
DPRINT("Unimplemented information class %u\n", FileInformationClass);
|
DPRINT("Unimplemented information class %x\n", FileInformationClass);
|
||||||
Status = STATUS_INVALID_PARAMETER;
|
Status = STATUS_INVALID_PARAMETER;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -430,8 +438,8 @@ CdfsSetPositionInformation(PFILE_OBJECT FileObject,
|
||||||
{
|
{
|
||||||
DPRINT ("CdfsSetPositionInformation()\n");
|
DPRINT ("CdfsSetPositionInformation()\n");
|
||||||
|
|
||||||
DPRINT ("PositionInfo %x\n", PositionInfo);
|
DPRINT ("PositionInfo %p\n", PositionInfo);
|
||||||
DPRINT ("Setting position %I64u\n", PositionInfo->CurrentByteOffset.QuadPart);
|
DPRINT ("Setting position %I64d\n", PositionInfo->CurrentByteOffset.QuadPart);
|
||||||
|
|
||||||
FileObject->CurrentByteOffset.QuadPart =
|
FileObject->CurrentByteOffset.QuadPart =
|
||||||
PositionInfo->CurrentByteOffset.QuadPart;
|
PositionInfo->CurrentByteOffset.QuadPart;
|
||||||
|
@ -454,6 +462,8 @@ CdfsSetInformation(PDEVICE_OBJECT DeviceObject,
|
||||||
|
|
||||||
NTSTATUS Status = STATUS_SUCCESS;
|
NTSTATUS Status = STATUS_SUCCESS;
|
||||||
|
|
||||||
|
UNREFERENCED_PARAMETER(DeviceObject);
|
||||||
|
|
||||||
DPRINT("CdfsSetInformation() called\n");
|
DPRINT("CdfsSetInformation() called\n");
|
||||||
|
|
||||||
Stack = IoGetCurrentIrpStackLocation(Irp);
|
Stack = IoGetCurrentIrpStackLocation(Irp);
|
||||||
|
|
|
@ -231,7 +231,7 @@ CdfsGetVolumeData(PDEVICE_OBJECT DeviceObject,
|
||||||
return Status;
|
return Status;
|
||||||
}
|
}
|
||||||
|
|
||||||
DPRINT("FirstSession %d, LastSession %d, FirstTrack %d\n",
|
DPRINT("FirstSession %u, LastSession %u, FirstTrack %u\n",
|
||||||
Toc.FirstSession, Toc.LastSession, Toc.TrackData.TrackNumber);
|
Toc.FirstSession, Toc.LastSession, Toc.TrackData.TrackNumber);
|
||||||
|
|
||||||
Offset = 0;
|
Offset = 0;
|
||||||
|
@ -241,7 +241,7 @@ CdfsGetVolumeData(PDEVICE_OBJECT DeviceObject,
|
||||||
}
|
}
|
||||||
CdInfo->VolumeOffset = Offset;
|
CdInfo->VolumeOffset = Offset;
|
||||||
|
|
||||||
DPRINT("Offset of first track in last session %d\n", Offset);
|
DPRINT("Offset of first track in last session %u\n", Offset);
|
||||||
|
|
||||||
CdInfo->JolietLevel = 0;
|
CdInfo->JolietLevel = 0;
|
||||||
VdHeader = (PVD_HEADER)Buffer;
|
VdHeader = (PVD_HEADER)Buffer;
|
||||||
|
@ -540,6 +540,8 @@ CdfsSetCompression(
|
||||||
PIO_STACK_LOCATION Stack;
|
PIO_STACK_LOCATION Stack;
|
||||||
USHORT CompressionState;
|
USHORT CompressionState;
|
||||||
|
|
||||||
|
UNREFERENCED_PARAMETER(DeviceObject);
|
||||||
|
|
||||||
Stack = IoGetCurrentIrpStackLocation(Irp);
|
Stack = IoGetCurrentIrpStackLocation(Irp);
|
||||||
|
|
||||||
if (Stack->Parameters.DeviceIoControl.InputBufferLength != sizeof(CompressionState))
|
if (Stack->Parameters.DeviceIoControl.InputBufferLength != sizeof(CompressionState))
|
||||||
|
@ -593,7 +595,7 @@ CdfsFileSystemControl(PDEVICE_OBJECT DeviceObject,
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
DPRINT1("CDFS FSC: MinorFunction %d\n", Stack->MinorFunction);
|
DPRINT1("CDFS FSC: MinorFunction %u\n", Stack->MinorFunction);
|
||||||
Status = STATUS_INVALID_DEVICE_REQUEST;
|
Status = STATUS_INVALID_DEVICE_REQUEST;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -145,7 +145,7 @@ CdfsShortNameCacheGet
|
||||||
PCDFS_SHORT_NAME ShortNameEntry;
|
PCDFS_SHORT_NAME ShortNameEntry;
|
||||||
GENERATE_NAME_CONTEXT Context = { 0 };
|
GENERATE_NAME_CONTEXT Context = { 0 };
|
||||||
|
|
||||||
DPRINT("CdfsShortNameCacheGet(%I64u,%wZ)\n", StreamOffset->QuadPart, LongName);
|
DPRINT("CdfsShortNameCacheGet(%I64d,%wZ)\n", StreamOffset->QuadPart, LongName);
|
||||||
|
|
||||||
/* Get the name list resource */
|
/* Get the name list resource */
|
||||||
ExAcquireResourceExclusiveLite(&DirectoryFcb->NameListResource, TRUE);
|
ExAcquireResourceExclusiveLite(&DirectoryFcb->NameListResource, TRUE);
|
||||||
|
|
|
@ -71,7 +71,7 @@ CdfsReadFile(PDEVICE_EXTENSION DeviceExt,
|
||||||
if (ReadOffset + Length > Fcb->Entry.DataLengthL)
|
if (ReadOffset + Length > Fcb->Entry.DataLengthL)
|
||||||
ToRead = Fcb->Entry.DataLengthL - ReadOffset;
|
ToRead = Fcb->Entry.DataLengthL - ReadOffset;
|
||||||
|
|
||||||
DPRINT("Reading %d bytes at %d\n", Length, ReadOffset);
|
DPRINT("Reading %u bytes at %u\n", Length, ReadOffset);
|
||||||
|
|
||||||
if (!(IrpFlags & (IRP_NOCACHE|IRP_PAGING_IO)))
|
if (!(IrpFlags & (IRP_NOCACHE|IRP_PAGING_IO)))
|
||||||
{
|
{
|
||||||
|
@ -168,7 +168,7 @@ CdfsRead(PDEVICE_OBJECT DeviceObject,
|
||||||
ULONG ReturnedReadLength = 0;
|
ULONG ReturnedReadLength = 0;
|
||||||
NTSTATUS Status = STATUS_SUCCESS;
|
NTSTATUS Status = STATUS_SUCCESS;
|
||||||
|
|
||||||
DPRINT("CdfsRead(DeviceObject %x, Irp %x)\n",DeviceObject,Irp);
|
DPRINT("CdfsRead(DeviceObject %p, Irp %p)\n", DeviceObject, Irp);
|
||||||
|
|
||||||
DeviceExt = DeviceObject->DeviceExtension;
|
DeviceExt = DeviceObject->DeviceExtension;
|
||||||
Stack = IoGetCurrentIrpStackLocation(Irp);
|
Stack = IoGetCurrentIrpStackLocation(Irp);
|
||||||
|
@ -210,7 +210,7 @@ NTSTATUS NTAPI
|
||||||
CdfsWrite(PDEVICE_OBJECT DeviceObject,
|
CdfsWrite(PDEVICE_OBJECT DeviceObject,
|
||||||
PIRP Irp)
|
PIRP Irp)
|
||||||
{
|
{
|
||||||
DPRINT("CdfsWrite(DeviceObject %x Irp %x)\n",DeviceObject,Irp);
|
DPRINT("CdfsWrite(DeviceObject %p Irp %p)\n", DeviceObject, Irp);
|
||||||
|
|
||||||
Irp->IoStatus.Status = STATUS_NOT_SUPPORTED;
|
Irp->IoStatus.Status = STATUS_NOT_SUPPORTED;
|
||||||
Irp->IoStatus.Information = 0;
|
Irp->IoStatus.Information = 0;
|
||||||
|
|
|
@ -86,6 +86,8 @@ CdfsGetFsAttributeInformation(PDEVICE_EXTENSION DeviceExt,
|
||||||
DPRINT("BufferLength %lu\n", *BufferLength);
|
DPRINT("BufferLength %lu\n", *BufferLength);
|
||||||
DPRINT("Required length %lu\n", (sizeof(FILE_FS_ATTRIBUTE_INFORMATION) + 8));
|
DPRINT("Required length %lu\n", (sizeof(FILE_FS_ATTRIBUTE_INFORMATION) + 8));
|
||||||
|
|
||||||
|
UNREFERENCED_PARAMETER(DeviceExt);
|
||||||
|
|
||||||
if (*BufferLength < sizeof (FILE_FS_ATTRIBUTE_INFORMATION))
|
if (*BufferLength < sizeof (FILE_FS_ATTRIBUTE_INFORMATION))
|
||||||
return STATUS_INFO_LENGTH_MISMATCH;
|
return STATUS_INFO_LENGTH_MISMATCH;
|
||||||
|
|
||||||
|
@ -183,7 +185,7 @@ CdfsQueryVolumeInformation(PDEVICE_OBJECT DeviceObject,
|
||||||
SystemBuffer = Irp->AssociatedIrp.SystemBuffer;
|
SystemBuffer = Irp->AssociatedIrp.SystemBuffer;
|
||||||
|
|
||||||
DPRINT("FsInformationClass %d\n", FsInformationClass);
|
DPRINT("FsInformationClass %d\n", FsInformationClass);
|
||||||
DPRINT("SystemBuffer %x\n", SystemBuffer);
|
DPRINT("SystemBuffer %p\n", SystemBuffer);
|
||||||
|
|
||||||
switch (FsInformationClass)
|
switch (FsInformationClass)
|
||||||
{
|
{
|
||||||
|
@ -233,6 +235,8 @@ CdfsSetVolumeInformation(PDEVICE_OBJECT DeviceObject,
|
||||||
{
|
{
|
||||||
DPRINT("CdfsSetVolumeInformation() called\n");
|
DPRINT("CdfsSetVolumeInformation() called\n");
|
||||||
|
|
||||||
|
UNREFERENCED_PARAMETER(DeviceObject);
|
||||||
|
|
||||||
Irp->IoStatus.Status = STATUS_NOT_SUPPORTED;
|
Irp->IoStatus.Status = STATUS_NOT_SUPPORTED;
|
||||||
Irp->IoStatus.Information = 0;
|
Irp->IoStatus.Information = 0;
|
||||||
IoCompleteRequest(Irp, IO_NO_INCREMENT);
|
IoCompleteRequest(Irp, IO_NO_INCREMENT);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue