PIRP NpRemoveDataQueueEntry( IN PDATA_QUEUE DataQueue ); Routine Description: This routines remove the first entry from the front of the indicated data queue, and possibly returns the Irp associated with the entry if it wasn't already completed when we did the insert. If the data entry we are removing indicates buffered I/O then we also need to deallocate the data buffer besides the data entry but only if the Irp is null. Note that the data entry might be stored in an IRP. If it is then we are going to return the IRP it is stored in. Arguments: DataQueue - Supplies a pointer to the data queue being modifed Return Value: PIRP - Possibly returns a pointer to an IRP.