mirror of
https://github.com/reactos/reactos.git
synced 2024-12-27 09:34:43 +00:00
changes because of new version of function FindFile
svn path=/trunk/; revision=220
This commit is contained in:
parent
0a828ed745
commit
b9da76d7ef
1 changed files with 6 additions and 8 deletions
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue