WDF_REQUEST_COMPLETION_PARAMS structure
[Applies to KMDF and UMDF]
The WDF_REQUEST_COMPLETION_PARAMS structure contains parameters that are associated with the completion of an I/O request.
Syntax
typedef struct _WDF_REQUEST_COMPLETION_PARAMS { ULONG Size; WDF_REQUEST_TYPE Type; IO_STATUS_BLOCK IoStatus; union { struct { WDFMEMORY Buffer; size_t Length; size_t Offset; } Write; struct { WDFMEMORY Buffer; size_t Length; size_t Offset; } Read; struct { ULONG IoControlCode; struct { WDFMEMORY Buffer; size_t Offset; } Input; struct { WDFMEMORY Buffer; size_t Offset; size_t Length; } Output; } Ioctl; struct { union { PVOID Ptr; ULONG_PTR Value; } Argument1; union { PVOID Ptr; ULONG_PTR Value; } Argument2; union { PVOID Ptr; ULONG_PTR Value; } Argument3; union { PVOID Ptr; ULONG_PTR Value; } Argument4; } Others; struct { PWDF_USB_REQUEST_COMPLETION_PARAMS Completion; } Usb; } Parameters; } WDF_REQUEST_COMPLETION_PARAMS, *PWDF_REQUEST_COMPLETION_PARAMS;
Members
- Size
-
The size, in bytes, of this structure.
- Type
-
A WDF_REQUEST_TYPE value that identifies the request type.
- IoStatus
-
An IO_STATUS_BLOCK structure for the request.
- Parameters
-
Request-specific values for the request.
- Write
-
For write requests, this member identifies the buffer that the driver specified when it formatted the request and sent it to an I/O target.
- Read
-
For read requests, this member identifies the buffer that the driver specified when it formatted the request and sent it to an I/O target.
- Ioctl
-
- Input
-
For device control requests, this member identifies the input buffer that the driver specified when it formatted the request and sent it to an I/O target.
- Output
-
For device control requests, this member identifies the output buffers that the driver specified when it formatted the request and sent it to an I/O target.
- Others
-
- Argument1
-
Use of this member is defined by the driver stack.
- Argument2
-
Use of this member is defined by the driver stack.
- Argument3
-
Use of this member is defined by the driver stack.
- Argument4
-
Use of this member is defined by the driver stack.
- Usb
-
For USB devices, this member contains a pointer to a WDF_USB_REQUEST_COMPLETION_PARAMS structure.
Remarks
The WDF_REQUEST_COMPLETION_PARAMS structure is used as input to the WdfRequestGetCompletionParams method and a driver's CompletionRoutine callback function.
In both cases, the completion parameters structure contains valid information only if the driver has formatted the request by calling one of the WdfIoTargetFormatXxx methods. For example, see WdfIoTargetFormatRequestForRead.
Your driver must call WDF_REQUEST_COMPLETION_PARAMS_INIT to initialize the WDF_REQUEST_COMPLETION_PARAMS structure before the driver calls WdfRequestGetCompletionParams.
Requirements
Minimum KMDF version | 1.0 |
---|---|
Minimum UMDF version | 2.0 |
Header |
|
See also
- WdfRequestGetCompletionParams
- WDF_REQUEST_COMPLETION_PARAMS_INIT
- IO_STATUS_BLOCK
- WDF_REQUEST_TYPE
- CompletionRoutine