changes because of new version of function FindFile

svn path=/trunk/; revision=220
This commit is contained in:
jean 1999-02-10 12:46:59 +00:00
parent 0a828ed745
commit b9da76d7ef

View file

@ -215,7 +215,7 @@ NTSTATUS DoQuery(PDEVICE_OBJECT DeviceObject, PIRP Irp,PIO_STACK_LOCATION Stack)
PVfatCCB pCcb; PVfatCCB pCcb;
PDEVICE_EXTENSION DeviceExt; PDEVICE_EXTENSION DeviceExt;
WCHAR star[5],*pCharPattern; WCHAR star[5],*pCharPattern;
unsigned long OldEntry,OldSector; unsigned long OldEntry;
DeviceExt = DeviceObject->DeviceExtension; DeviceExt = DeviceObject->DeviceExtension;
// Obtain the callers parameters // Obtain the callers parameters
BufferLength = Stack->Parameters.QueryDirectory.Length; BufferLength = Stack->Parameters.QueryDirectory.Length;
@ -227,7 +227,7 @@ NTSTATUS DoQuery(PDEVICE_OBJECT DeviceObject, PIRP Irp,PIO_STACK_LOCATION Stack)
pFcb = pCcb->pFcb; pFcb = pCcb->pFcb;
if(Stack->Flags & SL_RESTART_SCAN) if(Stack->Flags & SL_RESTART_SCAN)
{//FIXME : what is really use of RestartScan ? {//FIXME : what is really use of RestartScan ?
pCcb->StartEntry=pCcb->StartSector=0; pCcb->StartEntry=0;
} }
// determine Buffer for result : // determine Buffer for result :
if (Irp->MdlAddress) if (Irp->MdlAddress)
@ -245,12 +245,11 @@ NTSTATUS DoQuery(PDEVICE_OBJECT DeviceObject, PIRP Irp,PIO_STACK_LOCATION Stack)
tmpFcb.ObjectName=tmpFcb.PathName; tmpFcb.ObjectName=tmpFcb.PathName;
while(RC==STATUS_SUCCESS && BufferLength >0) while(RC==STATUS_SUCCESS && BufferLength >0)
{ {
OldSector=pCcb->StartSector;
OldEntry=pCcb->StartEntry; OldEntry=pCcb->StartEntry;
if(OldSector)pCcb->StartEntry++; RC=FindFile(DeviceExt,&tmpFcb,pFcb,pCharPattern,&pCcb->StartEntry);
RC=FindFile(DeviceExt,&tmpFcb,pFcb,pCharPattern,&pCcb->StartSector,&pCcb->StartEntry); DPRINT("Found %w,RC=%x,entry %x\n",tmpFcb.ObjectName,RC
DPRINT("Found %w,RC=%x, sector %x entry %x\n",tmpFcb.ObjectName,RC ,pCcb->StartEntry);
,pCcb->StartSector,pCcb->StartEntry); pCcb->StartEntry++;
if (NT_SUCCESS(RC)) if (NT_SUCCESS(RC))
{ {
switch(FileInformationClass) switch(FileInformationClass)
@ -283,7 +282,6 @@ DPRINT("Found %w,RC=%x, sector %x entry %x\n",tmpFcb.ObjectName,RC
if(RC==STATUS_BUFFER_OVERFLOW) if(RC==STATUS_BUFFER_OVERFLOW)
{ {
if(Buffer0) Buffer0->NextEntryOffset=0; if(Buffer0) Buffer0->NextEntryOffset=0;
pCcb->StartSector=OldSector;
pCcb->StartEntry=OldEntry; pCcb->StartEntry=OldEntry;
break; break;
} }