WdfRequestRequeue function (wdfrequest.h)

[Applies to KMDF and UMDF]

The WdfRequestRequeue method returns an I/O request to the head of the I/O queue from which it was delivered to the driver.

Syntax

NTSTATUS WdfRequestRequeue(
  [in] WDFREQUEST Request
);

Parameters

[in] Request

A handle to a framework request object.

Return value

WdfRequestRequeue returns STATUS_SUCCESS if the operation succeeds. Otherwise, this method might return one of the following values:

Return code Description
STATUS_INVALID_PARAMETER
An input parameter is invalid.
STATUS_INVALID_DEVICE_REQUEST
This value is returned if one of the following occurs:
  • The specified I/O request did not come from an I/O queue.
  • The driver does not own the I/O request.
  • The request is cancelable.
  • The queue's dispatching method is not manual.
 

This method might also return other NTSTATUS values.

A bug check occurs if the driver supplies an invalid object handle.

Remarks

A driver can call WdfRequestRequeue only if it using the manual dispatching method for the I/O queue.

If the driver calls WdfRequestRequeue after calling WdfIoQueuePurge, the requeue attempt may succeed before the purge is complete. In versions 1.9 and earlier of KMDF, this sequence causes the operating system to crash. This problem is fixed in KMDF version 1.11 and later.

For more information about WdfRequestRequeue, see Requeuing I/O Requests.

Examples

The following code example returns a specified I/O request to the queue from which the driver received the request.

NTSTATUS status;

status = WdfRequestRequeue(request);

Requirements

Requirement Value
Target Platform Universal
Minimum KMDF version 1.0
Minimum UMDF version 2.0
Header wdfrequest.h (include Wdf.h)
Library Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
DDI compliance rules DriverCreate(kmdf), InvalidReqAccess(kmdf), InvalidReqAccessLocal(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)