* 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:
Amine Khaldi 2013-05-11 09:24:31 +00:00
parent 016d53260e
commit 1e4828d3f8
14 changed files with 124 additions and 62 deletions

View file

@ -54,6 +54,8 @@ DriverEntry(PDRIVER_OBJECT DriverObject,
NTSTATUS Status;
UNICODE_STRING DeviceName = RTL_CONSTANT_STRING(L"\\Cdfs");
UNREFERENCED_PARAMETER(RegistryPath);
DPRINT("CDFS 0.0.3\n");
Status = IoCreateDevice(DriverObject,

View file

@ -243,16 +243,22 @@ extern PCDFS_GLOBAL_DATA CdfsGlobalData;
/* cleanup.c */
NTSTATUS NTAPI
DRIVER_DISPATCH CdfsCleanup;
NTSTATUS
NTAPI
CdfsCleanup(PDEVICE_OBJECT DeviceObject,
PIRP Irp);
PIRP Irp);
/* close.c */
NTSTATUS NTAPI
DRIVER_DISPATCH CdfsClose;
NTSTATUS
NTAPI
CdfsClose(PDEVICE_OBJECT DeviceObject,
PIRP Irp);
PIRP Irp);
NTSTATUS
CdfsCloseFile(PDEVICE_EXTENSION DeviceExt,
@ -279,21 +285,29 @@ CdfsDeviceIoControl (IN PDEVICE_OBJECT DeviceObject,
/* create.c */
NTSTATUS NTAPI
DRIVER_DISPATCH CdfsCreate;
NTSTATUS
NTAPI
CdfsCreate(PDEVICE_OBJECT DeviceObject,
PIRP Irp);
PIRP Irp);
/* devctrl.c */
DRIVER_DISPATCH CdfsDeviceControl;
NTSTATUS NTAPI
CdfsDeviceControl(PDEVICE_OBJECT DeviceObject,
PIRP Irp);
/* dirctl.c */
NTSTATUS NTAPI
DRIVER_DISPATCH CdfsDirectoryControl;
NTSTATUS
NTAPI
CdfsDirectoryControl(PDEVICE_OBJECT DeviceObject,
PIRP Irp);
PIRP Irp);
/* fcb.c */
@ -366,20 +380,28 @@ CdfsGetFCBForFile(PDEVICE_EXTENSION Vcb,
/* finfo.c */
NTSTATUS NTAPI
CdfsQueryInformation(PDEVICE_OBJECT DeviceObject,
PIRP Irp);
DRIVER_DISPATCH CdfsQueryInformation;
NTSTATUS NTAPI
NTSTATUS
NTAPI
CdfsQueryInformation(PDEVICE_OBJECT DeviceObject,
PIRP Irp);
DRIVER_DISPATCH CdfsSetInformation;
NTSTATUS
NTAPI
CdfsSetInformation(PDEVICE_OBJECT DeviceObject,
PIRP Irp);
PIRP Irp);
/* fsctl.c */
DRIVER_DISPATCH CdfsFileSystemControl;
NTSTATUS NTAPI
CdfsFileSystemControl(PDEVICE_OBJECT DeviceObject,
PIRP Irp);
PIRP Irp);
/* misc.c */
@ -406,24 +428,36 @@ CdfsShortNameCacheGet
/* rw.c */
NTSTATUS NTAPI
CdfsRead(PDEVICE_OBJECT DeviceObject,
PIRP Irp);
DRIVER_DISPATCH CdfsRead;
NTSTATUS NTAPI
NTSTATUS
NTAPI
CdfsRead(PDEVICE_OBJECT DeviceObject,
PIRP Irp);
DRIVER_DISPATCH CdfsWrite;
NTSTATUS
NTAPI
CdfsWrite(PDEVICE_OBJECT DeviceObject,
PIRP Irp);
PIRP Irp);
/* volinfo.c */
NTSTATUS NTAPI
CdfsQueryVolumeInformation(PDEVICE_OBJECT DeviceObject,
PIRP Irp);
DRIVER_DISPATCH CdfsQueryVolumeInformation;
NTSTATUS NTAPI
NTSTATUS
NTAPI
CdfsQueryVolumeInformation(PDEVICE_OBJECT DeviceObject,
PIRP Irp);
DRIVER_DISPATCH CdfsSetVolumeInformation;
NTSTATUS
NTAPI
CdfsSetVolumeInformation(PDEVICE_OBJECT DeviceObject,
PIRP Irp);
PIRP Irp);
/* cdfs.c */

View file

@ -42,7 +42,7 @@ CdfsCleanupFile(PDEVICE_EXTENSION DeviceExt,
*/
{
DPRINT("CdfsCleanupFile(DeviceExt %x, FileObject %x)\n",
DPRINT("CdfsCleanupFile(DeviceExt %p, FileObject %p)\n",
DeviceExt,
FileObject);

View file

@ -43,13 +43,13 @@ CdfsCloseFile(PDEVICE_EXTENSION DeviceExt,
{
PCCB Ccb;
DPRINT("CdfsCloseFile(DeviceExt %x, FileObject %x)\n",
DPRINT("CdfsCloseFile(DeviceExt %p, FileObject %p)\n",
DeviceExt,
FileObject);
Ccb = (PCCB)(FileObject->FsContext2);
DPRINT("Ccb %x\n", Ccb);
DPRINT("Ccb %p\n", Ccb);
if (Ccb == NULL)
{
return(STATUS_SUCCESS);

View file

@ -60,9 +60,9 @@ again:
BlockSize = BLOCKSIZE * SectorCount;
DPRINT("CdfsReadSectors(DeviceObject %x, DiskSector %d, Buffer %x)\n",
DPRINT("CdfsReadSectors(DeviceObject %p, DiskSector %u, Buffer %p)\n",
DeviceObject, DiskSector, Buffer);
DPRINT("Offset %I64x BlockSize %ld\n",
DPRINT("Offset %I64x BlockSize %u\n",
Offset.QuadPart,
BlockSize);
@ -86,15 +86,15 @@ again:
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);
DPRINT("Waiting for IO Operation for %x\n", Irp);
DPRINT("Waiting for IO Operation for %p\n", Irp);
if (Status == STATUS_PENDING)
{
DPRINT("Operation pending\n");
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;
}
@ -127,13 +127,13 @@ again:
}
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,
Offset.QuadPart);
return(Status);
}
DPRINT("Block request succeeded for %x\n", Irp);
DPRINT("Block request succeeded for %p\n", Irp);
return(STATUS_SUCCESS);
}
@ -155,9 +155,9 @@ CdfsDeviceIoControl (IN PDEVICE_OBJECT DeviceObject,
NTSTATUS Status;
BOOLEAN LastChance = FALSE;
DPRINT("CdfsDeviceIoControl(DeviceObject %x, CtlCode %x, "
"InputBuffer %x, InputBufferSize %x, OutputBuffer %x, "
"POutputBufferSize %x (%x)\n", DeviceObject, CtlCode,
DPRINT("CdfsDeviceIoControl(DeviceObject %p, CtlCode %u, "
"InputBuffer %p, InputBufferSize %u, OutputBuffer %p, "
"POutputBufferSize %p (%x)\n", DeviceObject, CtlCode,
InputBuffer, InputBufferSize, OutputBuffer, OutputBufferSize,
OutputBufferSize ? *OutputBufferSize : 0);
@ -186,15 +186,15 @@ again:
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);
DPRINT ("Waiting for IO Operation for %x\n", Irp);
DPRINT ("Waiting for IO Operation for %p\n", Irp);
if (Status == STATUS_PENDING)
{
DPRINT ("Operation pending\n");
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;
}

View file

@ -113,7 +113,7 @@ CdfsOpenFile(PDEVICE_EXTENSION DeviceExt,
NTSTATUS Status;
UNICODE_STRING AbsFileName;
DPRINT("CdfsOpenFile(%08lx, %08lx, %wZ)\n", DeviceExt, FileObject, FileName);
DPRINT("CdfsOpenFile(%p, %p, %wZ)\n", DeviceExt, FileObject, FileName);
if (FileObject->RelatedFileObject)
{

View file

@ -25,6 +25,8 @@ CdfsDeviceControl(PDEVICE_OBJECT DeviceObject,
PFILE_OBJECT FileObject;
PIO_STACK_LOCATION Stack = IoGetCurrentIrpStackLocation(Irp);
UNREFERENCED_PARAMETER(DeviceObject);
FileObject = Stack->FileObject;
Irp->IoStatus.Information = 0;

View file

@ -177,9 +177,9 @@ CdfsFindFile(PDEVICE_EXTENSION DeviceExt,
PDIR_RECORD Record;
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);
DPRINT("FindFile: old Pathname %x, old Objectname %x)\n",
DPRINT("FindFile: old Pathname %p, old Objectname %p)\n",
Fcb->PathName, Fcb->ObjectName);
IsRoot = FALSE;
@ -236,7 +236,7 @@ CdfsFindFile(PDEVICE_EXTENSION DeviceExt,
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))
DirIndex = *pDirIndex;
@ -338,7 +338,7 @@ CdfsFindFile(PDEVICE_EXTENSION DeviceExt,
if (pOffset)
*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);
RtlFreeUnicodeString(&FileToFindUpcase);
@ -375,6 +375,8 @@ CdfsGetNameInformation(PFCB Fcb,
DPRINT("CdfsGetNameInformation() called\n");
UNREFERENCED_PARAMETER(DeviceExt);
Length = wcslen(Fcb->ObjectName) * sizeof(WCHAR);
if ((sizeof(FILE_NAMES_INFORMATION) + Length) > BufferLength)
return(STATUS_BUFFER_OVERFLOW);
@ -400,6 +402,8 @@ CdfsGetDirectoryInformation(PFCB Fcb,
DPRINT("CdfsGetDirectoryInformation() called\n");
UNREFERENCED_PARAMETER(DeviceExt);
Length = wcslen(Fcb->ObjectName) * sizeof(WCHAR);
if ((sizeof (FILE_DIRECTORY_INFORMATION) + Length) > BufferLength)
return(STATUS_BUFFER_OVERFLOW);
@ -447,6 +451,8 @@ CdfsGetFullDirectoryInformation(PFCB Fcb,
DPRINT("CdfsGetFullDirectoryInformation() called\n");
UNREFERENCED_PARAMETER(DeviceExt);
Length = wcslen(Fcb->ObjectName) * sizeof(WCHAR);
if ((sizeof (FILE_FULL_DIR_INFORMATION) + Length) > BufferLength)
return(STATUS_BUFFER_OVERFLOW);
@ -496,6 +502,8 @@ CdfsGetBothDirectoryInformation(PFCB Fcb,
DPRINT("CdfsGetBothDirectoryInformation() called\n");
UNREFERENCED_PARAMETER(DeviceExt);
Length = wcslen(Fcb->ObjectName) * sizeof(WCHAR);
if ((sizeof (FILE_BOTH_DIR_INFORMATION) + Length) > BufferLength)
return(STATUS_BUFFER_OVERFLOW);
@ -764,7 +772,7 @@ CdfsDirectoryControl(PDEVICE_OBJECT DeviceObject,
break;
default:
DPRINT1("CDFS: MinorFunction %d\n", Stack->MinorFunction);
DPRINT1("CDFS: MinorFunction %u\n", Stack->MinorFunction);
Status = STATUS_INVALID_DEVICE_REQUEST;
break;
}

View file

@ -139,7 +139,7 @@ CdfsGrabFCB(PDEVICE_EXTENSION Vcb,
{
KIRQL oldIrql;
DPRINT("grabbing FCB at %x: %S, refCount:%d\n",
DPRINT("grabbing FCB at %p: %S, refCount:%d\n",
Fcb,
Fcb->PathName,
Fcb->RefCount);
@ -156,7 +156,7 @@ CdfsReleaseFCB(PDEVICE_EXTENSION Vcb,
{
KIRQL oldIrql;
DPRINT("releasing FCB at %x: %S, refCount:%d\n",
DPRINT("releasing FCB at %p: %S, refCount:%d\n",
Fcb,
Fcb->PathName,
Fcb->RefCount);
@ -450,7 +450,7 @@ CdfsAttachFCBToFileObject(PDEVICE_EXTENSION Vcb,
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);
}
@ -616,7 +616,7 @@ CdfsGetFCBForFile(PDEVICE_EXTENSION Vcb,
PFCB FCB;
PFCB parentFCB;
DPRINT("CdfsGetFCBForFile(%x, %x, %x, '%wZ')\n",
DPRINT("CdfsGetFCBForFile(%p, %p, %p, '%wZ')\n",
Vcb,
pParentFCB,
pFCB,
@ -652,7 +652,7 @@ CdfsGetFCBForFile(PDEVICE_EXTENSION Vcb,
}
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 */
if (parentFCB)

View file

@ -46,6 +46,8 @@ CdfsGetStandardInformation(PFCB Fcb,
{
DPRINT("CdfsGetStandardInformation() called\n");
UNREFERENCED_PARAMETER(DeviceObject);
if (*BufferLength < sizeof(FILE_STANDARD_INFORMATION))
return STATUS_BUFFER_OVERFLOW;
@ -112,6 +114,9 @@ CdfsGetBasicInformation(PFILE_OBJECT FileObject,
{
DPRINT("CdfsGetBasicInformation() called\n");
UNREFERENCED_PARAMETER(FileObject);
UNREFERENCED_PARAMETER(DeviceObject);
if (*BufferLength < sizeof(FILE_BASIC_INFORMATION))
return STATUS_BUFFER_OVERFLOW;
@ -151,6 +156,9 @@ CdfsGetNameInformation(PFILE_OBJECT FileObject,
ASSERT(NameInfo != NULL);
ASSERT(Fcb != NULL);
UNREFERENCED_PARAMETER(FileObject);
UNREFERENCED_PARAMETER(DeviceObject);
/* If buffer can't hold at least the file name length, bail out */
if (*BufferLength < (ULONG)FIELD_OFFSET(FILE_NAME_INFORMATION, FileName[0]))
return STATUS_BUFFER_OVERFLOW;
@ -403,7 +411,7 @@ CdfsQueryInformation(PDEVICE_OBJECT DeviceObject,
break;
default:
DPRINT("Unimplemented information class %u\n", FileInformationClass);
DPRINT("Unimplemented information class %x\n", FileInformationClass);
Status = STATUS_INVALID_PARAMETER;
break;
}
@ -430,8 +438,8 @@ CdfsSetPositionInformation(PFILE_OBJECT FileObject,
{
DPRINT ("CdfsSetPositionInformation()\n");
DPRINT ("PositionInfo %x\n", PositionInfo);
DPRINT ("Setting position %I64u\n", PositionInfo->CurrentByteOffset.QuadPart);
DPRINT ("PositionInfo %p\n", PositionInfo);
DPRINT ("Setting position %I64d\n", PositionInfo->CurrentByteOffset.QuadPart);
FileObject->CurrentByteOffset.QuadPart =
PositionInfo->CurrentByteOffset.QuadPart;
@ -454,6 +462,8 @@ CdfsSetInformation(PDEVICE_OBJECT DeviceObject,
NTSTATUS Status = STATUS_SUCCESS;
UNREFERENCED_PARAMETER(DeviceObject);
DPRINT("CdfsSetInformation() called\n");
Stack = IoGetCurrentIrpStackLocation(Irp);

View file

@ -231,7 +231,7 @@ CdfsGetVolumeData(PDEVICE_OBJECT DeviceObject,
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);
Offset = 0;
@ -241,7 +241,7 @@ CdfsGetVolumeData(PDEVICE_OBJECT DeviceObject,
}
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;
VdHeader = (PVD_HEADER)Buffer;
@ -540,6 +540,8 @@ CdfsSetCompression(
PIO_STACK_LOCATION Stack;
USHORT CompressionState;
UNREFERENCED_PARAMETER(DeviceObject);
Stack = IoGetCurrentIrpStackLocation(Irp);
if (Stack->Parameters.DeviceIoControl.InputBufferLength != sizeof(CompressionState))
@ -593,7 +595,7 @@ CdfsFileSystemControl(PDEVICE_OBJECT DeviceObject,
break;
default:
DPRINT1("CDFS FSC: MinorFunction %d\n", Stack->MinorFunction);
DPRINT1("CDFS FSC: MinorFunction %u\n", Stack->MinorFunction);
Status = STATUS_INVALID_DEVICE_REQUEST;
break;
}

View file

@ -145,7 +145,7 @@ CdfsShortNameCacheGet
PCDFS_SHORT_NAME ShortNameEntry;
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 */
ExAcquireResourceExclusiveLite(&DirectoryFcb->NameListResource, TRUE);

View file

@ -71,7 +71,7 @@ CdfsReadFile(PDEVICE_EXTENSION DeviceExt,
if (ReadOffset + Length > Fcb->Entry.DataLengthL)
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)))
{
@ -168,7 +168,7 @@ CdfsRead(PDEVICE_OBJECT DeviceObject,
ULONG ReturnedReadLength = 0;
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;
Stack = IoGetCurrentIrpStackLocation(Irp);
@ -210,7 +210,7 @@ NTSTATUS NTAPI
CdfsWrite(PDEVICE_OBJECT DeviceObject,
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.Information = 0;

View file

@ -86,6 +86,8 @@ CdfsGetFsAttributeInformation(PDEVICE_EXTENSION DeviceExt,
DPRINT("BufferLength %lu\n", *BufferLength);
DPRINT("Required length %lu\n", (sizeof(FILE_FS_ATTRIBUTE_INFORMATION) + 8));
UNREFERENCED_PARAMETER(DeviceExt);
if (*BufferLength < sizeof (FILE_FS_ATTRIBUTE_INFORMATION))
return STATUS_INFO_LENGTH_MISMATCH;
@ -183,7 +185,7 @@ CdfsQueryVolumeInformation(PDEVICE_OBJECT DeviceObject,
SystemBuffer = Irp->AssociatedIrp.SystemBuffer;
DPRINT("FsInformationClass %d\n", FsInformationClass);
DPRINT("SystemBuffer %x\n", SystemBuffer);
DPRINT("SystemBuffer %p\n", SystemBuffer);
switch (FsInformationClass)
{
@ -233,6 +235,8 @@ CdfsSetVolumeInformation(PDEVICE_OBJECT DeviceObject,
{
DPRINT("CdfsSetVolumeInformation() called\n");
UNREFERENCED_PARAMETER(DeviceObject);
Irp->IoStatus.Status = STATUS_NOT_SUPPORTED;
Irp->IoStatus.Information = 0;
IoCompleteRequest(Irp, IO_NO_INCREMENT);