Main Page | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

cleanup.c

Go to the documentation of this file.
00001 /*
00002  *  This program is free software; you can redistribute it and/or
00003  *  modify it under the terms of the GNU General Public License
00004  *  as published by the Free Software Foundation; either version
00005  *  2 of the License, or (at your option) any later version.
00006  *
00007  *  Copyright 2004 Spiro Trikaliotis
00008  *
00009  */
00010 
00020 #include <wdm.h>
00021 #include "cbm_driver.h"
00022 #include "iec.h"
00023 
00044 NTSTATUS
00045 cbm_cleanup(IN PDEVICE_OBJECT Fdo, IN PIRP Irp)
00046 {
00047     PIO_STACK_LOCATION irpSp;
00048     PDEVICE_EXTENSION pdx;
00049     NTSTATUS ntStatus;
00050 
00051     FUNC_ENTER();
00052 
00053     pdx = Fdo->DeviceExtension;
00054     irpSp = IoGetCurrentIrpStackLocation(Irp);
00055 
00056     /* Let the QUEUE itself perform all relevant steps */
00057     QueueCleanup(&pdx->IrpQueue, irpSp->FileObject);
00058 
00059     /* We're done, complete the IRP */
00060     ntStatus = QueueCompleteIrp(NULL, Irp, STATUS_SUCCESS, 0);
00061 
00062     FUNC_LEAVE_NTSTATUS(ntStatus);
00063 }

Generated on Sun Apr 30 18:45:45 2006 for opencbm by  doxygen 1.4.2