[FASTFAT]

* Add some function annotations.
* Fix several debug print specifiers.
* Properly mark some unreferenced parameters as such.

svn path=/trunk/; revision=58990
This commit is contained in:
Amine Khaldi 2013-05-11 11:03:12 +00:00
parent 2775dd14a4
commit 0e4da5b660
13 changed files with 342 additions and 99 deletions

View file

@ -74,8 +74,8 @@ VfatReadDisk (IN PDEVICE_OBJECT pDeviceObject,
again:
KeInitializeEvent (&event, NotificationEvent, FALSE);
DPRINT ("VfatReadDisk(pDeviceObject %p, Offset %I64x, Length %d, Buffer %p)\n",
pDeviceObject, ReadOffset->QuadPart, ReadLength, Buffer);
DPRINT("VfatReadDisk(pDeviceObject %p, Offset %I64x, Length %u, Buffer %p)\n",
pDeviceObject, ReadOffset->QuadPart, ReadLength, Buffer);
DPRINT ("Building synchronous FSD Request...\n");
Irp = IoBuildSynchronousFsdRequest (IRP_MJ_READ,
@ -130,9 +130,9 @@ again:
if (!NT_SUCCESS (Status))
{
DPRINT ("IO failed!!! VfatReadDisk : Error code: %x\n", Status);
DPRINT ("(pDeviceObject %p, Offset %I64x, Size %d, Buffer %p\n",
pDeviceObject, ReadOffset->QuadPart, ReadLength, Buffer);
DPRINT("IO failed!!! VfatReadDisk : Error code: %x\n", Status);
DPRINT("(pDeviceObject %p, Offset %I64x, Size %u, Buffer %p\n",
pDeviceObject, ReadOffset->QuadPart, ReadLength, Buffer);
return (Status);
}
DPRINT ("Block request succeeded for %p\n", Irp);
@ -151,8 +151,8 @@ VfatReadDiskPartial (IN PVFAT_IRP_CONTEXT IrpContext,
NTSTATUS Status;
PVOID Buffer;
DPRINT ("VfatReadDiskPartial(IrpContext %p, ReadOffset %I64x, ReadLength %d, BufferOffset %x, Wait %d)\n",
IrpContext, ReadOffset->QuadPart, ReadLength, BufferOffset, Wait);
DPRINT("VfatReadDiskPartial(IrpContext %p, ReadOffset %I64x, ReadLength %u, BufferOffset %u, Wait %u)\n",
IrpContext, ReadOffset->QuadPart, ReadLength, BufferOffset, Wait);
DPRINT ("Building asynchronous FSD Request...\n");
@ -251,8 +251,8 @@ VfatWriteDiskPartial (IN PVFAT_IRP_CONTEXT IrpContext,
NTSTATUS Status;
PVOID Buffer;
DPRINT ("VfatWriteDiskPartial(IrpContext %p, WriteOffset %I64x, WriteLength %d, BufferOffset %x, Wait %d)\n",
IrpContext, WriteOffset->QuadPart, WriteLength, BufferOffset, Wait);
DPRINT("VfatWriteDiskPartial(IrpContext %p, WriteOffset %I64x, WriteLength %u, BufferOffset %x, Wait %u)\n",
IrpContext, WriteOffset->QuadPart, WriteLength, BufferOffset, Wait);
Buffer = (PCHAR)MmGetMdlVirtualAddress(IrpContext->Irp->MdlAddress) + BufferOffset;

View file

@ -196,7 +196,7 @@ FindFile (
UNICODE_STRING FileToFindUpcase;
BOOLEAN WildCard;
DPRINT ("FindFile(Parent %p, FileToFind '%wZ', DirIndex: %d)\n",
DPRINT ("FindFile(Parent %p, FileToFind '%wZ', DirIndex: %u)\n",
Parent, FileToFindU, DirContext->DirIndex);
DPRINT ("FindFile: Path %wZ\n",&Parent->PathNameU);
@ -242,7 +242,7 @@ FindFile (
RtlCopyMemory(&DirContext->DirEntry, &rcFcb->entry, sizeof(DIR_ENTRY));
DirContext->StartIndex = rcFcb->startIndex;
DirContext->DirIndex = rcFcb->dirIndex;
DPRINT("FindFile: new Name %wZ, DirIndex %d (%d)\n",
DPRINT("FindFile: new Name %wZ, DirIndex %u (%u)\n",
&DirContext->LongNameU, DirContext->DirIndex, DirContext->StartIndex);
Status = STATUS_SUCCESS;
}
@ -309,8 +309,8 @@ FindFile (
vfatReleaseFCB(DeviceExt, rcFcb);
}
}
DPRINT("%d\n", DirContext->LongNameU.Length);
DPRINT("FindFile: new Name %wZ, DirIndex %d\n",
DPRINT("%u\n", DirContext->LongNameU.Length);
DPRINT("FindFile: new Name %wZ, DirIndex %u\n",
&DirContext->LongNameU, DirContext->DirIndex);
if (Context)

View file

@ -294,7 +294,7 @@ FATGetNextDirEntry(PVOID *pContext,
{
if (dirMap == 0)
{
DPRINT (" long name entry found at %d\n", DirContext->DirIndex);
DPRINT (" long name entry found at %u\n", DirContext->DirIndex);
RtlZeroMemory(DirContext->LongNameU.Buffer, DirContext->LongNameU.MaximumLength);
CheckSum = longNameEntry->alias_checksum;
Valid = TRUE;
@ -417,6 +417,8 @@ NTSTATUS FATXGetNextDirEntry(PVOID * pContext,
FileOffset.u.HighPart = 0;
UNREFERENCED_PARAMETER(First);
if (!vfatFCBIsRoot(pDirFcb))
{
/* need to add . and .. entries */

View file

@ -37,7 +37,7 @@ VfatUpdateEntry(
dirIndex = pFcb->dirIndex;
}
DPRINT("updEntry dirIndex %d, PathName \'%wZ\'\n", dirIndex, &pFcb->PathNameU);
DPRINT("updEntry dirIndex %u, PathName \'%wZ\'\n", dirIndex, &pFcb->PathNameU);
if (vfatFCBIsRoot(pFcb) || (pFcb->Flags & (FCB_IS_FAT|FCB_IS_VOLUME)))
{
@ -184,7 +184,7 @@ vfatFindDirSpace(
CcUnpinData(Context);
}
}
DPRINT("nbSlots %d nbFree %d, entry number %d\n", nbSlots, nbFree, *start);
DPRINT("nbSlots %u nbFree %u, entry number %u\n", nbSlots, nbFree, *start);
return TRUE;
}
@ -228,7 +228,7 @@ FATAddEntry(
/* nb of entry needed for long name+normal entry */
nbSlots = (DirContext.LongNameU.Length / sizeof(WCHAR) + 12) / 13 + 1;
DPRINT("NameLen= %d, nbSlots =%d\n", DirContext.LongNameU.Length / sizeof(WCHAR), nbSlots);
DPRINT("NameLen= %u, nbSlots =%u\n", DirContext.LongNameU.Length / sizeof(WCHAR), nbSlots);
Buffer = ExAllocatePoolWithTag(NonPagedPool, (nbSlots - 1) * sizeof(FAT_DIR_ENTRY), TAG_VFAT);
if (Buffer == NULL)
{
@ -326,7 +326,7 @@ FATAddEntry(
needLong = TRUE;
}
}
DPRINT("'%s', '%wZ', needTilde=%d, needLong=%d\n",
DPRINT("'%s', '%wZ', needTilde=%u, needLong=%u\n",
aName, &DirContext.LongNameU, needTilde, needLong);
memset(DirContext.DirEntry.Fat.ShortName, ' ', 11);
for (i = 0; i < 8 && aName[i] && aName[i] != '.'; i++)
@ -653,7 +653,7 @@ FATDelEntry(
ASSERT(pFcb->parentFcb);
DPRINT("delEntry PathName \'%wZ\'\n", &pFcb->PathNameU);
DPRINT("delete entry: %d to %d\n", pFcb->startIndex, pFcb->dirIndex);
DPRINT("delete entry: %u to %u\n", pFcb->startIndex, pFcb->dirIndex);
Offset.u.HighPart = 0;
for (i = pFcb->startIndex; i <= pFcb->dirIndex; i++)
{
@ -716,7 +716,7 @@ FATXDelEntry(
StartIndex = pFcb->startIndex;
DPRINT("delEntry PathName \'%wZ\'\n", &pFcb->PathNameU);
DPRINT("delete entry: %d\n", StartIndex);
DPRINT("delete entry: %u\n", StartIndex);
Offset.u.HighPart = 0;
Offset.u.LowPart = (StartIndex * sizeof(FATX_DIR_ENTRY) / PAGE_SIZE) * PAGE_SIZE;
if (!CcPinRead(pFcb->parentFcb->FileObject, &Offset, sizeof(FATX_DIR_ENTRY), TRUE,

View file

@ -9,6 +9,8 @@
#define NDEBUG
#include "vfat.h"
static FAST_IO_CHECK_IF_POSSIBLE VfatFastIoCheckIfPossible;
static BOOLEAN NTAPI
VfatFastIoCheckIfPossible(IN PFILE_OBJECT FileObject,
IN PLARGE_INTEGER FileOffset,
@ -19,25 +21,49 @@ VfatFastIoCheckIfPossible(IN PFILE_OBJECT FileObject,
OUT PIO_STATUS_BLOCK IoStatus,
IN PDEVICE_OBJECT DeviceObject)
{
/* Prevent all Fast I/O requests */
DPRINT("VfatFastIoCheckIfPossible(): returning FALSE.\n");
return FALSE;
/* Prevent all Fast I/O requests */
DPRINT("VfatFastIoCheckIfPossible(): returning FALSE.\n");
UNREFERENCED_PARAMETER(FileObject);
UNREFERENCED_PARAMETER(FileOffset);
UNREFERENCED_PARAMETER(Length);
UNREFERENCED_PARAMETER(Wait);
UNREFERENCED_PARAMETER(LockKey);
UNREFERENCED_PARAMETER(CheckForReadOperation);
UNREFERENCED_PARAMETER(IoStatus);
UNREFERENCED_PARAMETER(DeviceObject);
return FALSE;
}
static FAST_IO_READ VfatFastIoRead;
static BOOLEAN NTAPI
VfatFastIoRead(IN PFILE_OBJECT FileObject,
IN PLARGE_INTEGER FileOffset,
IN ULONG Length,
IN ULONG Length,
IN BOOLEAN Wait,
IN ULONG LockKey,
OUT PVOID Buffer,
OUT PIO_STATUS_BLOCK IoStatus,
OUT PIO_STATUS_BLOCK IoStatus,
IN PDEVICE_OBJECT DeviceObject)
{
DPRINT("VfatFastIoRead()\n");
return FALSE;
DPRINT("VfatFastIoRead()\n");
UNREFERENCED_PARAMETER(FileObject);
UNREFERENCED_PARAMETER(FileOffset);
UNREFERENCED_PARAMETER(Length);
UNREFERENCED_PARAMETER(Wait);
UNREFERENCED_PARAMETER(LockKey);
UNREFERENCED_PARAMETER(Buffer);
UNREFERENCED_PARAMETER(IoStatus);
UNREFERENCED_PARAMETER(DeviceObject);
return FALSE;
}
static FAST_IO_WRITE VfatFastIoWrite;
static BOOLEAN NTAPI
VfatFastIoWrite(IN PFILE_OBJECT FileObject,
IN PLARGE_INTEGER FileOffset,
@ -48,10 +74,22 @@ VfatFastIoWrite(IN PFILE_OBJECT FileObject,
OUT PIO_STATUS_BLOCK IoStatus,
IN PDEVICE_OBJECT DeviceObject)
{
DPRINT("VfatFastIoWrite()\n");
return FALSE;
DPRINT("VfatFastIoWrite()\n");
UNREFERENCED_PARAMETER(FileObject);
UNREFERENCED_PARAMETER(FileOffset);
UNREFERENCED_PARAMETER(Length);
UNREFERENCED_PARAMETER(Wait);
UNREFERENCED_PARAMETER(LockKey);
UNREFERENCED_PARAMETER(Buffer);
UNREFERENCED_PARAMETER(IoStatus);
UNREFERENCED_PARAMETER(DeviceObject);
return FALSE;
}
static FAST_IO_QUERY_BASIC_INFO VfatFastIoQueryBasicInfo;
static BOOLEAN NTAPI
VfatFastIoQueryBasicInfo(IN PFILE_OBJECT FileObject,
IN BOOLEAN Wait,
@ -59,10 +97,19 @@ VfatFastIoQueryBasicInfo(IN PFILE_OBJECT FileObject,
OUT PIO_STATUS_BLOCK IoStatus,
IN PDEVICE_OBJECT DeviceObject)
{
DPRINT("VfatFastIoQueryBasicInfo()\n");
return FALSE;
DPRINT("VfatFastIoQueryBasicInfo()\n");
UNREFERENCED_PARAMETER(FileObject);
UNREFERENCED_PARAMETER(Wait);
UNREFERENCED_PARAMETER(Buffer);
UNREFERENCED_PARAMETER(IoStatus);
UNREFERENCED_PARAMETER(DeviceObject);
return FALSE;
}
static FAST_IO_QUERY_STANDARD_INFO VfatFastIoQueryStandardInfo;
static BOOLEAN NTAPI
VfatFastIoQueryStandardInfo(IN PFILE_OBJECT FileObject,
IN BOOLEAN Wait,
@ -70,10 +117,19 @@ VfatFastIoQueryStandardInfo(IN PFILE_OBJECT FileObject,
OUT PIO_STATUS_BLOCK IoStatus,
IN PDEVICE_OBJECT DeviceObject)
{
DPRINT("VfatFastIoQueryStandardInfo\n");
return FALSE;
DPRINT("VfatFastIoQueryStandardInfo\n");
UNREFERENCED_PARAMETER(FileObject);
UNREFERENCED_PARAMETER(Wait);
UNREFERENCED_PARAMETER(Buffer);
UNREFERENCED_PARAMETER(IoStatus);
UNREFERENCED_PARAMETER(DeviceObject);
return FALSE;
}
static FAST_IO_LOCK VfatFastIoLock;
static BOOLEAN NTAPI
VfatFastIoLock(IN PFILE_OBJECT FileObject,
IN PLARGE_INTEGER FileOffset,
@ -85,10 +141,23 @@ VfatFastIoLock(IN PFILE_OBJECT FileObject,
OUT PIO_STATUS_BLOCK IoStatus,
IN PDEVICE_OBJECT DeviceObject)
{
DPRINT("VfatFastIoLock\n");
return FALSE;
DPRINT("VfatFastIoLock\n");
UNREFERENCED_PARAMETER(FileObject);
UNREFERENCED_PARAMETER(FileOffset);
UNREFERENCED_PARAMETER(Length);
UNREFERENCED_PARAMETER(ProcessId);
UNREFERENCED_PARAMETER(Key);
UNREFERENCED_PARAMETER(FailImmediately);
UNREFERENCED_PARAMETER(ExclusiveLock);
UNREFERENCED_PARAMETER(IoStatus);
UNREFERENCED_PARAMETER(DeviceObject);
return FALSE;
}
static FAST_IO_UNLOCK_SINGLE VfatFastIoUnlockSingle;
static BOOLEAN NTAPI
VfatFastIoUnlockSingle(IN PFILE_OBJECT FileObject,
IN PLARGE_INTEGER FileOffset,
@ -98,20 +167,39 @@ VfatFastIoUnlockSingle(IN PFILE_OBJECT FileObject,
OUT PIO_STATUS_BLOCK IoStatus,
IN PDEVICE_OBJECT DeviceObject)
{
DPRINT("VfatFastIoUnlockSingle\n");
return FALSE;
DPRINT("VfatFastIoUnlockSingle\n");
UNREFERENCED_PARAMETER(FileObject);
UNREFERENCED_PARAMETER(FileOffset);
UNREFERENCED_PARAMETER(Length);
UNREFERENCED_PARAMETER(ProcessId);
UNREFERENCED_PARAMETER(Key);
UNREFERENCED_PARAMETER(IoStatus);
UNREFERENCED_PARAMETER(DeviceObject);
return FALSE;
}
static FAST_IO_UNLOCK_ALL VfatFastIoUnlockAll;
static BOOLEAN NTAPI
VfatFastIoUnlockAll(IN PFILE_OBJECT FileObject,
PEPROCESS ProcessId,
OUT PIO_STATUS_BLOCK IoStatus,
IN PDEVICE_OBJECT DeviceObject)
{
DPRINT("VfatFastIoUnlockAll\n");
return FALSE;
DPRINT("VfatFastIoUnlockAll\n");
UNREFERENCED_PARAMETER(FileObject);
UNREFERENCED_PARAMETER(ProcessId);
UNREFERENCED_PARAMETER(IoStatus);
UNREFERENCED_PARAMETER(DeviceObject);
return FALSE;
}
static FAST_IO_UNLOCK_ALL_BY_KEY VfatFastIoUnlockAllByKey;
static BOOLEAN NTAPI
VfatFastIoUnlockAllByKey(IN PFILE_OBJECT FileObject,
PVOID ProcessId,
@ -119,10 +207,19 @@ VfatFastIoUnlockAllByKey(IN PFILE_OBJECT FileObject,
OUT PIO_STATUS_BLOCK IoStatus,
IN PDEVICE_OBJECT DeviceObject)
{
DPRINT("VfatFastIoUnlockAllByKey\n");
return FALSE;
DPRINT("VfatFastIoUnlockAllByKey\n");
UNREFERENCED_PARAMETER(FileObject);
UNREFERENCED_PARAMETER(ProcessId);
UNREFERENCED_PARAMETER(Key);
UNREFERENCED_PARAMETER(IoStatus);
UNREFERENCED_PARAMETER(DeviceObject);
return FALSE;
}
static FAST_IO_DEVICE_CONTROL VfatFastIoDeviceControl;
static BOOLEAN NTAPI
VfatFastIoDeviceControl(IN PFILE_OBJECT FileObject,
IN BOOLEAN Wait,
@ -134,29 +231,52 @@ VfatFastIoDeviceControl(IN PFILE_OBJECT FileObject,
OUT PIO_STATUS_BLOCK IoStatus,
IN PDEVICE_OBJECT DeviceObject)
{
DPRINT("VfatFastIoDeviceControl\n");
return FALSE;
DPRINT("VfatFastIoDeviceControl\n");
UNREFERENCED_PARAMETER(FileObject);
UNREFERENCED_PARAMETER(Wait);
UNREFERENCED_PARAMETER(InputBuffer);
UNREFERENCED_PARAMETER(InputBufferLength);
UNREFERENCED_PARAMETER(OutputBuffer);
UNREFERENCED_PARAMETER(OutputBufferLength);
UNREFERENCED_PARAMETER(IoControlCode);
UNREFERENCED_PARAMETER(IoStatus);
UNREFERENCED_PARAMETER(DeviceObject);
return FALSE;
}
static FAST_IO_ACQUIRE_FILE VfatAcquireFileForNtCreateSection;
static VOID NTAPI
VfatAcquireFileForNtCreateSection(IN PFILE_OBJECT FileObject)
{
DPRINT("VfatAcquireFileForNtCreateSection\n");
DPRINT("VfatAcquireFileForNtCreateSection\n");
UNREFERENCED_PARAMETER(FileObject);
}
static FAST_IO_RELEASE_FILE VfatReleaseFileForNtCreateSection;
static VOID NTAPI
VfatReleaseFileForNtCreateSection(IN PFILE_OBJECT FileObject)
{
DPRINT("VfatReleaseFileForNtCreateSection\n");
DPRINT("VfatReleaseFileForNtCreateSection\n");
UNREFERENCED_PARAMETER(FileObject);
}
static FAST_IO_DETACH_DEVICE VfatFastIoDetachDevice;
static VOID NTAPI
VfatFastIoDetachDevice(IN PDEVICE_OBJECT SourceDevice,
IN PDEVICE_OBJECT TargetDevice)
{
DPRINT("VfatFastIoDetachDevice\n");
DPRINT("VfatFastIoDetachDevice\n");
UNREFERENCED_PARAMETER(SourceDevice);
UNREFERENCED_PARAMETER(TargetDevice);
}
static FAST_IO_QUERY_NETWORK_OPEN_INFO VfatFastIoQueryNetworkOpenInfo;
static BOOLEAN NTAPI
VfatFastIoQueryNetworkOpenInfo(IN PFILE_OBJECT FileObject,
IN BOOLEAN Wait,
@ -164,20 +284,37 @@ VfatFastIoQueryNetworkOpenInfo(IN PFILE_OBJECT FileObject,
OUT PIO_STATUS_BLOCK IoStatus,
IN PDEVICE_OBJECT DeviceObject)
{
DPRINT("VfatFastIoQueryNetworkOpenInfo\n");
return FALSE;
DPRINT("VfatFastIoQueryNetworkOpenInfo\n");
UNREFERENCED_PARAMETER(FileObject);
UNREFERENCED_PARAMETER(Wait);
UNREFERENCED_PARAMETER(Buffer);
UNREFERENCED_PARAMETER(IoStatus);
UNREFERENCED_PARAMETER(DeviceObject);
return FALSE;
}
static FAST_IO_ACQUIRE_FOR_MOD_WRITE VfatAcquireForModWrite;
static NTSTATUS NTAPI
VfatAcquireForModWrite(IN PFILE_OBJECT FileObject,
IN PLARGE_INTEGER EndingOffset,
OUT PERESOURCE* ResourceToRelease,
IN PDEVICE_OBJECT DeviceObject)
{
DPRINT("VfatAcquireForModWrite\n");
return STATUS_INVALID_DEVICE_REQUEST;
DPRINT("VfatAcquireForModWrite\n");
UNREFERENCED_PARAMETER(FileObject);
UNREFERENCED_PARAMETER(EndingOffset);
UNREFERENCED_PARAMETER(ResourceToRelease);
UNREFERENCED_PARAMETER(DeviceObject);
return STATUS_INVALID_DEVICE_REQUEST;
}
static FAST_IO_MDL_READ VfatMdlRead;
static BOOLEAN NTAPI
VfatMdlRead(IN PFILE_OBJECT FileObject,
IN PLARGE_INTEGER FileOffset,
@ -187,19 +324,37 @@ VfatMdlRead(IN PFILE_OBJECT FileObject,
OUT PIO_STATUS_BLOCK IoStatus,
IN PDEVICE_OBJECT DeviceObject)
{
DPRINT("VfatMdlRead\n");
return FALSE;
DPRINT("VfatMdlRead\n");
UNREFERENCED_PARAMETER(FileObject);
UNREFERENCED_PARAMETER(FileOffset);
UNREFERENCED_PARAMETER(Length);
UNREFERENCED_PARAMETER(LockKey);
UNREFERENCED_PARAMETER(MdlChain);
UNREFERENCED_PARAMETER(IoStatus);
UNREFERENCED_PARAMETER(DeviceObject);
return FALSE;
}
static FAST_IO_MDL_READ_COMPLETE VfatMdlReadComplete;
static BOOLEAN NTAPI
VfatMdlReadComplete(IN PFILE_OBJECT FileObject,
IN PMDL MdlChain,
IN PDEVICE_OBJECT DeviceObject)
{
DPRINT("VfatMdlReadComplete\n");
return FALSE;
DPRINT("VfatMdlReadComplete\n");
UNREFERENCED_PARAMETER(FileObject);
UNREFERENCED_PARAMETER(MdlChain);
UNREFERENCED_PARAMETER(DeviceObject);
return FALSE;
}
static FAST_IO_PREPARE_MDL_WRITE VfatPrepareMdlWrite;
static BOOLEAN NTAPI
VfatPrepareMdlWrite(IN PFILE_OBJECT FileObject,
IN PLARGE_INTEGER FileOffset,
@ -209,20 +364,39 @@ VfatPrepareMdlWrite(IN PFILE_OBJECT FileObject,
OUT PIO_STATUS_BLOCK IoStatus,
IN PDEVICE_OBJECT DeviceObject)
{
DPRINT("VfatPrepareMdlWrite\n");
return FALSE;
DPRINT("VfatPrepareMdlWrite\n");
UNREFERENCED_PARAMETER(FileObject);
UNREFERENCED_PARAMETER(FileOffset);
UNREFERENCED_PARAMETER(Length);
UNREFERENCED_PARAMETER(LockKey);
UNREFERENCED_PARAMETER(MdlChain);
UNREFERENCED_PARAMETER(IoStatus);
UNREFERENCED_PARAMETER(DeviceObject);
return FALSE;
}
static FAST_IO_MDL_WRITE_COMPLETE VfatMdlWriteComplete;
static BOOLEAN NTAPI
VfatMdlWriteComplete(IN PFILE_OBJECT FileObject,
IN PLARGE_INTEGER FileOffset,
IN PMDL MdlChain,
IN PDEVICE_OBJECT DeviceObject)
{
DPRINT("VfatMdlWriteComplete\n");
return FALSE;
DPRINT("VfatMdlWriteComplete\n");
UNREFERENCED_PARAMETER(FileObject);
UNREFERENCED_PARAMETER(FileOffset);
UNREFERENCED_PARAMETER(MdlChain);
UNREFERENCED_PARAMETER(DeviceObject);
return FALSE;
}
static FAST_IO_READ_COMPRESSED VfatFastIoReadCompressed;
static BOOLEAN NTAPI
VfatFastIoReadCompressed(IN PFILE_OBJECT FileObject,
IN PLARGE_INTEGER FileOffset,
@ -235,10 +409,24 @@ VfatFastIoReadCompressed(IN PFILE_OBJECT FileObject,
IN ULONG CompressedDataInfoLength,
IN PDEVICE_OBJECT DeviceObject)
{
DPRINT("VfatFastIoReadCompressed\n");
return FALSE;
DPRINT("VfatFastIoReadCompressed\n");
UNREFERENCED_PARAMETER(FileObject);
UNREFERENCED_PARAMETER(FileOffset);
UNREFERENCED_PARAMETER(Length);
UNREFERENCED_PARAMETER(LockKey);
UNREFERENCED_PARAMETER(Buffer);
UNREFERENCED_PARAMETER(MdlChain);
UNREFERENCED_PARAMETER(IoStatus);
UNREFERENCED_PARAMETER(CompressedDataInfo);
UNREFERENCED_PARAMETER(CompressedDataInfoLength);
UNREFERENCED_PARAMETER(DeviceObject);
return FALSE;
}
static FAST_IO_WRITE_COMPRESSED VfatFastIoWriteCompressed;
static BOOLEAN NTAPI
VfatFastIoWriteCompressed(IN PFILE_OBJECT FileObject,
IN PLARGE_INTEGER FileOffset,
@ -251,47 +439,90 @@ VfatFastIoWriteCompressed(IN PFILE_OBJECT FileObject,
IN ULONG CompressedDataInfoLength,
IN PDEVICE_OBJECT DeviceObject)
{
DPRINT("VfatFastIoWriteCompressed\n");
return FALSE;
DPRINT("VfatFastIoWriteCompressed\n");
UNREFERENCED_PARAMETER(FileObject);
UNREFERENCED_PARAMETER(FileOffset);
UNREFERENCED_PARAMETER(Length);
UNREFERENCED_PARAMETER(LockKey);
UNREFERENCED_PARAMETER(Buffer);
UNREFERENCED_PARAMETER(MdlChain);
UNREFERENCED_PARAMETER(IoStatus);
UNREFERENCED_PARAMETER(CompressedDataInfo);
UNREFERENCED_PARAMETER(CompressedDataInfoLength);
UNREFERENCED_PARAMETER(DeviceObject);
return FALSE;
}
static FAST_IO_MDL_READ_COMPLETE_COMPRESSED VfatMdlReadCompleteCompressed;
static BOOLEAN NTAPI
VfatMdlReadCompleteCompressed(IN PFILE_OBJECT FileObject,
IN PMDL MdlChain,
IN PDEVICE_OBJECT DeviceObject)
{
DPRINT("VfatMdlReadCompleteCompressed\n");
return FALSE;
DPRINT("VfatMdlReadCompleteCompressed\n");
UNREFERENCED_PARAMETER(FileObject);
UNREFERENCED_PARAMETER(MdlChain);
UNREFERENCED_PARAMETER(DeviceObject);
return FALSE;
}
static FAST_IO_MDL_WRITE_COMPLETE_COMPRESSED VfatMdlWriteCompleteCompressed;
static BOOLEAN NTAPI
VfatMdlWriteCompleteCompressed(IN PFILE_OBJECT FileObject,
IN PLARGE_INTEGER FileOffset,
IN PMDL MdlChain,
IN PDEVICE_OBJECT DeviceObject)
{
DPRINT("VfatMdlWriteCompleteCompressed\n");
return FALSE;
DPRINT("VfatMdlWriteCompleteCompressed\n");
UNREFERENCED_PARAMETER(FileObject);
UNREFERENCED_PARAMETER(FileOffset);
UNREFERENCED_PARAMETER(MdlChain);
UNREFERENCED_PARAMETER(DeviceObject);
return FALSE;
}
static FAST_IO_QUERY_OPEN VfatFastIoQueryOpen;
static BOOLEAN NTAPI
VfatFastIoQueryOpen(IN PIRP Irp,
OUT PFILE_NETWORK_OPEN_INFORMATION NetworkInformation,
IN PDEVICE_OBJECT DeviceObject)
{
DPRINT("VfatFastIoQueryOpen\n");
return FALSE;
UNREFERENCED_PARAMETER(Irp);
UNREFERENCED_PARAMETER(NetworkInformation);
UNREFERENCED_PARAMETER(DeviceObject);
return FALSE;
}
static FAST_IO_RELEASE_FOR_MOD_WRITE VfatReleaseForModWrite;
static NTSTATUS NTAPI
VfatReleaseForModWrite(IN PFILE_OBJECT FileObject,
IN PERESOURCE ResourceToRelease,
IN PDEVICE_OBJECT DeviceObject)
{
DPRINT("VfatReleaseForModWrite\n");
return STATUS_INVALID_DEVICE_REQUEST;
DPRINT("VfatReleaseForModWrite\n");
UNREFERENCED_PARAMETER(FileObject);
UNREFERENCED_PARAMETER(ResourceToRelease);
UNREFERENCED_PARAMETER(DeviceObject);
return STATUS_INVALID_DEVICE_REQUEST;
}
static FAST_IO_ACQUIRE_FOR_CCFLUSH VfatAcquireForCcFlush;
static NTSTATUS NTAPI
VfatAcquireForCcFlush(IN PFILE_OBJECT FileObject,
IN PDEVICE_OBJECT DeviceObject)
@ -300,6 +531,8 @@ VfatAcquireForCcFlush(IN PFILE_OBJECT FileObject,
DPRINT("VfatAcquireForCcFlush\n");
UNREFERENCED_PARAMETER(DeviceObject);
/* Make sure it is not a volume lock */
ASSERT(!(Fcb->Flags & FCB_IS_VOLUME));
@ -309,6 +542,8 @@ VfatAcquireForCcFlush(IN PFILE_OBJECT FileObject,
return STATUS_SUCCESS;
}
static FAST_IO_RELEASE_FOR_CCFLUSH VfatReleaseForCcFlush;
static NTSTATUS NTAPI
VfatReleaseForCcFlush(IN PFILE_OBJECT FileObject,
IN PDEVICE_OBJECT DeviceObject)
@ -317,6 +552,8 @@ VfatReleaseForCcFlush(IN PFILE_OBJECT FileObject,
DPRINT("VfatReleaseForCcFlush\n");
UNREFERENCED_PARAMETER(DeviceObject);
/* Make sure it is not a volume lock */
ASSERT(!(Fcb->Flags & FCB_IS_VOLUME));

View file

@ -148,7 +148,7 @@ FAT16FindAndMarkAvailableCluster(PDEVICE_EXTENSION DeviceExt,
Offset.QuadPart = ROUND_DOWN(i * 2, ChunkSize);
if(!CcPinRead(DeviceExt->FATFileObject, &Offset, ChunkSize, 1, &Context, &BaseAddress))
{
DPRINT1("CcMapData(Offset %x, Length %d) failed\n", (ULONG)Offset.QuadPart, ChunkSize);
DPRINT1("CcMapData(Offset %x, Length %u) failed\n", (ULONG)Offset.QuadPart, ChunkSize);
return STATUS_UNSUCCESSFUL;
}
Block = (PUSHORT)((ULONG_PTR)BaseAddress + (i * 2) % ChunkSize);
@ -202,7 +202,7 @@ FAT12FindAndMarkAvailableCluster(PDEVICE_EXTENSION DeviceExt, PULONG Cluster)
Offset.QuadPart = 0;
if(!CcPinRead(DeviceExt->FATFileObject, &Offset, DeviceExt->FatInfo.FATSectors * DeviceExt->FatInfo.BytesPerSector, 1, &Context, &BaseAddress))
{
DPRINT1("CcMapData(Offset %x, Length %d) failed\n", (ULONG)Offset.QuadPart, DeviceExt->FatInfo.FATSectors * DeviceExt->FatInfo.BytesPerSector);
DPRINT1("CcMapData(Offset %x, Length %u) failed\n", (ULONG)Offset.QuadPart, DeviceExt->FatInfo.FATSectors * DeviceExt->FatInfo.BytesPerSector);
return STATUS_UNSUCCESSFUL;
}
@ -269,7 +269,7 @@ FAT32FindAndMarkAvailableCluster (PDEVICE_EXTENSION DeviceExt, PULONG Cluster)
Offset.QuadPart = ROUND_DOWN(i * 4, ChunkSize);
if(!CcPinRead(DeviceExt->FATFileObject, &Offset, ChunkSize, 1, &Context, &BaseAddress))
{
DPRINT1("CcMapData(Offset %x, Length %d) failed\n", (ULONG)Offset.QuadPart, ChunkSize);
DPRINT1("CcMapData(Offset %x, Length %u) failed\n", (ULONG)Offset.QuadPart, ChunkSize);
return STATUS_UNSUCCESSFUL;
}
Block = (PULONG)((ULONG_PTR)BaseAddress + (i * 4) % ChunkSize);
@ -420,7 +420,7 @@ FAT32CountAvailableClusters(PDEVICE_EXTENSION DeviceExt)
Offset.QuadPart = ROUND_DOWN(i * 4, ChunkSize);
if(!CcMapData(DeviceExt->FATFileObject, &Offset, ChunkSize, 1, &Context, &BaseAddress))
{
DPRINT1("CcMapData(Offset %x, Length %d) failed\n", (ULONG)Offset.QuadPart, ChunkSize);
DPRINT1("CcMapData(Offset %x, Length %u) failed\n", (ULONG)Offset.QuadPart, ChunkSize);
return STATUS_UNSUCCESSFUL;
}
Block = (PULONG)((ULONG_PTR)BaseAddress + (i * 4) % ChunkSize);

View file

@ -532,6 +532,8 @@ vfatAttachFCBToFileObject (
{
PVFATCCB newCCB;
UNREFERENCED_PARAMETER(vcb);
newCCB = ExAllocateFromNPagedLookasideList(&VfatGlobalData->CcbLookasideList);
if (newCCB == NULL)
{
@ -601,7 +603,7 @@ vfatDirFindFile (
return status;
}
DPRINT (" Index:%d longName:%wZ\n",
DPRINT (" Index:%u longName:%wZ\n",
DirContext.DirIndex,
&DirContext.LongNameU);

View file

@ -105,7 +105,7 @@ VfatSetPositionInformation(PFILE_OBJECT FileObject,
DPRINT ("FsdSetPositionInformation()\n");
DPRINT ("PositionInfo %p\n", PositionInfo);
DPRINT ("Setting position %d\n", PositionInfo->CurrentByteOffset.u.LowPart);
DPRINT ("Setting position %u\n", PositionInfo->CurrentByteOffset.u.LowPart);
FileObject->CurrentByteOffset.QuadPart =
PositionInfo->CurrentByteOffset.QuadPart;
@ -303,7 +303,7 @@ VfatSetDispositionInformation(PFILE_OBJECT FileObject,
PDEVICE_EXTENSION DeviceExt = DeviceObject->DeviceExtension;
#endif
DPRINT ("FsdSetDispositionInformation(<%wZ>, Delete %d)\n", &FCB->PathNameU, DispositionInfo->DeleteFile);
DPRINT ("FsdSetDispositionInformation(<%wZ>, Delete %u)\n", &FCB->PathNameU, DispositionInfo->DeleteFile);
ASSERT(DeviceExt != NULL);
ASSERT(DeviceExt->FatInfo.BytesPerCluster != 0);
@ -605,7 +605,7 @@ VfatSetAllocationSizeInformation(PFILE_OBJECT FileObject,
ULONG NCluster;
BOOLEAN AllocSizeChanged = FALSE;
DPRINT("VfatSetAllocationSizeInformation(File <%wZ>, AllocationSize %d %d)\n", &Fcb->PathNameU,
DPRINT("VfatSetAllocationSizeInformation(File <%wZ>, AllocationSize %d %u)\n", &Fcb->PathNameU,
AllocationSize->HighPart, AllocationSize->LowPart);
if (Fcb->Flags & FCB_IS_FATX_ENTRY)

View file

@ -85,8 +85,8 @@ VfatHasFileSystem(PDEVICE_OBJECT DeviceToMount,
}
PartitionInfoIsValid = TRUE;
DPRINT("Partition Information:\n");
DPRINT("StartingOffset %I64u\n", PartitionInfo.StartingOffset.QuadPart / 512);
DPRINT("PartitionLength %I64u\n", PartitionInfo.PartitionLength.QuadPart / 512);
DPRINT("StartingOffset %I64x\n", PartitionInfo.StartingOffset.QuadPart / 512);
DPRINT("PartitionLength %I64x\n", PartitionInfo.PartitionLength.QuadPart / 512);
DPRINT("HiddenSectors %u\n", PartitionInfo.HiddenSectors);
DPRINT("PartitionNumber %u\n", PartitionInfo.PartitionNumber);
DPRINT("PartitionType %u\n", PartitionInfo.PartitionType);
@ -153,7 +153,7 @@ VfatHasFileSystem(PDEVICE_OBJECT DeviceToMount,
Boot->BytesPerSector != 2048 &&
Boot->BytesPerSector != 4096)
{
DPRINT1("BytesPerSector %d\n", Boot->BytesPerSector);
DPRINT1("BytesPerSector %u\n", Boot->BytesPerSector);
*RecognizedFS = FALSE;
}
@ -161,7 +161,7 @@ VfatHasFileSystem(PDEVICE_OBJECT DeviceToMount,
Boot->FATCount != 1 &&
Boot->FATCount != 2)
{
DPRINT1("FATCount %d\n", Boot->FATCount);
DPRINT1("FATCount %u\n", Boot->FATCount);
*RecognizedFS = FALSE;
}
@ -349,7 +349,7 @@ VfatMountDevice(PDEVICE_EXTENSION DeviceExt,
{
return(Status);
}
DPRINT("MountVfatdev %d, PAGE_SIZE = %d\n", DeviceExt->FatInfo.BytesPerCluster, PAGE_SIZE);
DPRINT("MountVfatdev %u, PAGE_SIZE = %d\n", DeviceExt->FatInfo.BytesPerCluster, PAGE_SIZE);
return(STATUS_SUCCESS);
@ -448,15 +448,15 @@ VfatMount (PVFAT_IRP_CONTEXT IrpContext)
goto ByeBye;
}
DPRINT("BytesPerSector: %d\n", DeviceExt->FatInfo.BytesPerSector);
DPRINT("SectorsPerCluster: %d\n", DeviceExt->FatInfo.SectorsPerCluster);
DPRINT("FATCount: %d\n", DeviceExt->FatInfo.FATCount);
DPRINT("FATSectors: %d\n", DeviceExt->FatInfo.FATSectors);
DPRINT("RootStart: %d\n", DeviceExt->FatInfo.rootStart);
DPRINT("DataStart: %d\n", DeviceExt->FatInfo.dataStart);
DPRINT("BytesPerSector: %u\n", DeviceExt->FatInfo.BytesPerSector);
DPRINT("SectorsPerCluster: %u\n", DeviceExt->FatInfo.SectorsPerCluster);
DPRINT("FATCount: %u\n", DeviceExt->FatInfo.FATCount);
DPRINT("FATSectors: %u\n", DeviceExt->FatInfo.FATSectors);
DPRINT("RootStart: %u\n", DeviceExt->FatInfo.rootStart);
DPRINT("DataStart: %u\n", DeviceExt->FatInfo.dataStart);
if (DeviceExt->FatInfo.FatType == FAT32)
{
DPRINT("RootCluster: %d\n", DeviceExt->FatInfo.RootCluster);
DPRINT("RootCluster: %u\n", DeviceExt->FatInfo.RootCluster);
}
switch (DeviceExt->FatInfo.FatType)
@ -875,7 +875,7 @@ NTSTATUS VfatFileSystemControl(PVFAT_IRP_CONTEXT IrpContext)
break;
default:
DPRINT("VFAT FSC: MinorFunction %d\n", IrpContext->MinorFunction);
DPRINT("VFAT FSC: MinorFunction %u\n", IrpContext->MinorFunction);
Status = STATUS_INVALID_DEVICE_REQUEST;
break;
}

View file

@ -49,6 +49,8 @@ DriverEntry(PDRIVER_OBJECT DriverObject,
UNICODE_STRING DeviceName = RTL_CONSTANT_STRING(L"\\Fat");
NTSTATUS Status;
UNREFERENCED_PARAMETER(RegistryPath);
Status = IoCreateDevice(DriverObject,
sizeof(VFAT_GLOBAL_DATA),
&DeviceName,

View file

@ -212,6 +212,8 @@ PVFAT_IRP_CONTEXT VfatAllocateIrpContext(PDEVICE_OBJECT DeviceObject, PIRP Irp)
return IrpContext;
}
static WORKER_THREAD_ROUTINE VfatDoRequest;
static VOID NTAPI VfatDoRequest (PVOID IrpContext)
{
InterlockedDecrement(&QueueCount);
@ -274,4 +276,3 @@ NTSTATUS VfatLockUserBuffer(IN PIRP Irp, IN ULONG Length, IN LOCK_OPERATION Oper
return STATUS_SUCCESS;
}

View file

@ -139,7 +139,7 @@ VfatReadFileData (PVFAT_IRP_CONTEXT IrpContext,
ASSERT(IrpContext->FileObject->FsContext2 != NULL);
DPRINT("VfatReadFileData(DeviceExt %p, FileObject %p, "
"Length %d, ReadOffset 0x%I64x)\n", DeviceExt,
"Length %u, ReadOffset 0x%I64x)\n", DeviceExt,
IrpContext->FileObject, Length, ReadOffset.QuadPart);
*LengthRead = 0;
@ -283,7 +283,7 @@ VfatReadFileData (PVFAT_IRP_CONTEXT IrpContext,
Status = NextCluster(DeviceExt, FirstCluster, &CurrentCluster, FALSE);
}
while (StartCluster + ClusterCount == CurrentCluster && NT_SUCCESS(Status) && Length > BytesDone);
DPRINT("start %08x, next %08x, count %d\n",
DPRINT("start %08x, next %08x, count %u\n",
StartCluster, CurrentCluster, ClusterCount);
ExAcquireFastMutex(&Fcb->LastMutex);
@ -354,7 +354,7 @@ VfatWriteFileData(PVFAT_IRP_CONTEXT IrpContext,
BytesPerSector = DeviceExt->FatInfo.BytesPerSector;
DPRINT("VfatWriteFileData(DeviceExt %p, FileObject %p, "
"Length %d, WriteOffset 0x%I64x), '%wZ'\n", DeviceExt,
"Length %u, WriteOffset 0x%I64x), '%wZ'\n", DeviceExt,
IrpContext->FileObject, Length, WriteOffset.QuadPart,
&Fcb->PathNameU);
@ -491,7 +491,7 @@ VfatWriteFileData(PVFAT_IRP_CONTEXT IrpContext,
Status = NextCluster(DeviceExt, FirstCluster, &CurrentCluster, FALSE);
}
while (StartCluster + ClusterCount == CurrentCluster && NT_SUCCESS(Status) && Length > BytesDone);
DPRINT("start %08x, next %08x, count %d\n",
DPRINT("start %08x, next %08x, count %u\n",
StartCluster, CurrentCluster, ClusterCount);
ExAcquireFastMutex(&Fcb->LastMutex);
@ -583,7 +583,7 @@ VfatRead(PVFAT_IRP_CONTEXT IrpContext)
}
DPRINT("'%wZ', Offset: %d, Length %d\n", &Fcb->PathNameU, ByteOffset.u.LowPart, Length);
DPRINT("'%wZ', Offset: %u, Length %u\n", &Fcb->PathNameU, ByteOffset.u.LowPart, Length);
if (ByteOffset.u.HighPart && !(Fcb->Flags & FCB_IS_VOLUME))
{
@ -600,7 +600,7 @@ VfatRead(PVFAT_IRP_CONTEXT IrpContext)
{
if (ByteOffset.u.LowPart % BytesPerSector != 0 || Length % BytesPerSector != 0)
{
DPRINT("%d %d\n", ByteOffset.u.LowPart, Length);
DPRINT("%u %u\n", ByteOffset.u.LowPart, Length);
// non cached read must be sector aligned
Status = STATUS_INVALID_PARAMETER;
goto ByeBye;
@ -1043,4 +1043,3 @@ ByeBye:
return Status;
}

View file

@ -411,7 +411,7 @@ NTSTATUS VfatSetVolumeInformation(PVFAT_IRP_CONTEXT IrpContext)
SystemBuffer = IrpContext->Irp->AssociatedIrp.SystemBuffer;
DPRINT ("FsInformationClass %d\n", FsInformationClass);
DPRINT ("BufferLength %d\n", BufferLength);
DPRINT ("BufferLength %u\n", BufferLength);
DPRINT ("SystemBuffer %p\n", SystemBuffer);
switch(FsInformationClass)