WdfRequestRequeue method

[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

Request [in]

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 codeDescription
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

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, InvalidReqAccess, InvalidReqAccessLocal, KmdfIrql, KmdfIrql2

 

 

Send comments about this topic to Microsoft

Show: