Module: wine Branch: master Commit: 63bc9c484a1c5c53e733014e7b874172201d603c URL: http://source.winehq.org/git/wine.git/?a=commit;h=63bc9c484a1c5c53e733014e7b...
Author: Damjan Jovanovic damjan.jov@gmail.com Date: Tue Mar 23 18:08:03 2010 +0200
mountmgr: Frame device service functions with IoGetCurrentIrpStackLocation and IoCompleteRequest.
---
dlls/mountmgr.sys/device.c | 3 ++- dlls/mountmgr.sys/mountmgr.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/dlls/mountmgr.sys/device.c b/dlls/mountmgr.sys/device.c index bf2bcee..ba5a02b 100644 --- a/dlls/mountmgr.sys/device.c +++ b/dlls/mountmgr.sys/device.c @@ -858,7 +858,7 @@ NTSTATUS query_dos_device( int letter, enum device_type *type, char **device, ch /* handler for ioctls on the harddisk device */ static NTSTATUS WINAPI harddisk_ioctl( DEVICE_OBJECT *device, IRP *irp ) { - IO_STACK_LOCATION *irpsp = irp->Tail.Overlay.s.u2.CurrentStackLocation; + IO_STACK_LOCATION *irpsp = IoGetCurrentIrpStackLocation( irp ); struct disk_device *dev = device->DeviceExtension;
TRACE( "ioctl %x insize %u outsize %u\n", @@ -904,6 +904,7 @@ static NTSTATUS WINAPI harddisk_ioctl( DEVICE_OBJECT *device, IRP *irp ) }
LeaveCriticalSection( &device_section ); + IoCompleteRequest( irp, IO_NO_INCREMENT ); return irp->IoStatus.u.Status; }
diff --git a/dlls/mountmgr.sys/mountmgr.c b/dlls/mountmgr.sys/mountmgr.c index c92e4a4..87d9007 100644 --- a/dlls/mountmgr.sys/mountmgr.c +++ b/dlls/mountmgr.sys/mountmgr.c @@ -351,7 +351,7 @@ done: /* handler for ioctls on the mount manager device */ static NTSTATUS WINAPI mountmgr_ioctl( DEVICE_OBJECT *device, IRP *irp ) { - IO_STACK_LOCATION *irpsp = irp->Tail.Overlay.s.u2.CurrentStackLocation; + IO_STACK_LOCATION *irpsp = IoGetCurrentIrpStackLocation( irp );
TRACE( "ioctl %x insize %u outsize %u\n", irpsp->Parameters.DeviceIoControl.IoControlCode, @@ -390,6 +390,7 @@ static NTSTATUS WINAPI mountmgr_ioctl( DEVICE_OBJECT *device, IRP *irp ) irp->IoStatus.u.Status = STATUS_NOT_SUPPORTED; break; } + IoCompleteRequest( irp, IO_NO_INCREMENT ); return irp->IoStatus.u.Status; }