mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 18:15:11 +00:00
[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:
parent
2775dd14a4
commit
0e4da5b660
13 changed files with 342 additions and 99 deletions
|
@ -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;
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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));
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue