WDF_REQUEST_TYPE enumeration (wdfrequest.h)

[Applies to KMDF and UMDF]

The WDF_REQUEST_TYPE enumeration type identifies types of requests that a framework request object might contain.

Syntax

typedef enum _WDF_REQUEST_TYPE {
  WdfRequestTypeCreate = 0x0,
  WdfRequestTypeCreateNamedPipe = 0x1,
  WdfRequestTypeClose = 0x2,
  WdfRequestTypeRead = 0x3,
  WdfRequestTypeWrite = 0x4,
  WdfRequestTypeQueryInformation = 0x5,
  WdfRequestTypeSetInformation = 0x6,
  WdfRequestTypeQueryEA = 0x7,
  WdfRequestTypeSetEA = 0x8,
  WdfRequestTypeFlushBuffers = 0x9,
  WdfRequestTypeQueryVolumeInformation = 0xa,
  WdfRequestTypeSetVolumeInformation = 0xb,
  WdfRequestTypeDirectoryControl = 0xc,
  WdfRequestTypeFileSystemControl = 0xd,
  WdfRequestTypeDeviceControl = 0xe,
  WdfRequestTypeDeviceControlInternal = 0xf,
  WdfRequestTypeShutdown = 0x10,
  WdfRequestTypeLockControl = 0x11,
  WdfRequestTypeCleanup = 0x12,
  WdfRequestTypeCreateMailSlot = 0x13,
  WdfRequestTypeQuerySecurity = 0x14,
  WdfRequestTypeSetSecurity = 0x15,
  WdfRequestTypePower = 0x16,
  WdfRequestTypeSystemControl = 0x17,
  WdfRequestTypeDeviceChange = 0x18,
  WdfRequestTypeQueryQuota = 0x19,
  WdfRequestTypeSetQuota = 0x1A,
  WdfRequestTypePnp = 0x1B,
  WdfRequestTypeOther = 0x1C,
  WdfRequestTypeUsb = 0x40,
  WdfRequestTypeNoFormat = 0xFF,
  WdfRequestTypeMax
} WDF_REQUEST_TYPE;

Constants

 
WdfRequestTypeCreate
Value: 0x0
The request object represents an IRP_MJ_CREATE request. The framework delivers this type of request to a driver's EvtDeviceFileCreate callback function.
WdfRequestTypeCreateNamedPipe
Value: 0x1
The request object represents an IRP_MJ_CREATE_NAMED_PIPE request. The framework does not handle this type of request.
WdfRequestTypeClose
Value: 0x2
The request object represents an IRP_MJ_CLOSE request. The framework delivers this type of request to a driver's EvtFileClose callback function.
WdfRequestTypeRead
Value: 0x3
The request object represents an IRP_MJ_READ request. The framework delivers this type of request to a driver's request handler.
WdfRequestTypeWrite
Value: 0x4
The request object represents an IRP_MJ_WRITE request. The framework delivers this type of request to a driver's request handler.
WdfRequestTypeQueryInformation
Value: 0x5
The request object represents an IRP_MJ_QUERY_INFORMATION request. The framework does not handle this type of request.
WdfRequestTypeSetInformation
Value: 0x6
The request object represents an IRP_MJ_SET_INFORMATION request. The framework does not handle this type of request.
WdfRequestTypeQueryEA
Value: 0x7
The request object represents an IRP_MJ_QUERY_EA request. The framework does not handle this type of request.
WdfRequestTypeSetEA
Value: 0x8
The request object represents an IRP_MJ_SET_EA request. The framework does not handle this type of request.
WdfRequestTypeFlushBuffers
Value: 0x9
The request object represents an IRP_MJ_FLUSH_BUFFERS request. The framework does not handle this type of request.
WdfRequestTypeQueryVolumeInformation
Value: 0xa
The request object represents an IRP_MJ_QUERY_VOLUME_INFORMATION request. The framework does not handle this type of request.
WdfRequestTypeSetVolumeInformation
Value: 0xb
The request object represents an IRP_MJ_SET_VOLUME_INFORMATION request. The framework does not handle this type of request.
WdfRequestTypeDirectoryControl
Value: 0xc
The request object represents an IRP_MJ_DIRECTORY_CONTROL request. The framework does not handle this type of request.
WdfRequestTypeFileSystemControl
Value: 0xd
The request object represents an IRP_MJ_FILE_SYSTEM_CONTROL request. The framework does not handle this type of request.
WdfRequestTypeDeviceControl
Value: 0xe
The request object represents an IRP_MJ_DEVICE_CONTROL request. The framework delivers this type of request to a driver's request handler.
WdfRequestTypeDeviceControlInternal
Value: 0xf
The request object represents an IRP_MJ_INTERNAL_DEVICE_CONTROL request. The framework delivers this type of request to a driver's request handler.
WdfRequestTypeShutdown
Value: 0x10
The request object represents an IRP_MJ_SHUTDOWN request. The framework handles this type of request for the driver, but the framework also calls the driver's EvtDeviceShutdownNotification callback function, if it exists.
WdfRequestTypeLockControl
Value: 0x11
The request object represents an IRP_MJ_LOCK_CONTROL request. The framework does not handle this type of request.
WdfRequestTypeCleanup
Value: 0x12
The request object represents an IRP_MJ_CLEANUP request. The framework delivers this type of request to a driver's EvtFileCleanup callback function.
WdfRequestTypeCreateMailSlot
Value: 0x13
The request object represents an IRP_MJ_CREATE_MAILSLOT request. The framework does not handle this type of request.
WdfRequestTypeQuerySecurity
Value: 0x14
The request object represents an IRP_MJ_QUERY_SECURITY request. The framework does not handle this type of request.
WdfRequestTypeSetSecurity
Value: 0x15
The request object represents an IRP_MJ_SET_SECURITY request. The framework does not handle this type of request.
WdfRequestTypePower
Value: 0x16
The request object represents an IRP_MJ_POWER request. The framework handles this type of request for the driver, but the framework also calls the driver's general, FDO, and PDO callback functions for Plug and Play (PnP) and power management, if the callback functions exist.
WdfRequestTypeSystemControl
Value: 0x17
The request object represents an IRP_MJ_SYSTEM_CONTROL request. The framework handles this type of request for the driver, if the driver supports Windows Management Instrumentation (WMI).
WdfRequestTypeDeviceChange
Value: 0x18
The request object represents an IRP_MJ_DEVICE_CHANGE request. The framework does not handle this type of request.
WdfRequestTypeQueryQuota
Value: 0x19
The request object represents an IRP_MJ_QUERY_QUOTA request. The framework does not handle this type of request.
WdfRequestTypeSetQuota
Value: 0x1A
The request object represents an IRP_MJ_SET_QUOTA request. The framework does not handle this type of request.
WdfRequestTypePnp
Value: 0x1B
The request object represents an IRP_MJ_PNP request. The framework handles this type of request for the driver, but the framework also calls the driver's general, FDO, and PDO callback functions for PnP and power management, if the callback functions exist.
WdfRequestTypeOther
Value: 0x1C
A driver receives this request type in its CompletionRoutine event callback function when requests formatted with WdfIoTargetFormatRequestForInternalIoctlOthers are completed.
WdfRequestTypeUsb
Value: 0x40
The target device is a USB device. (This value is used only in WDF_REQUEST_COMPLETION_PARAMS structures.)
WdfRequestTypeNoFormat
Value: 0xFF
The request object's type has not been specified.
WdfRequestTypeMax
The maximum value that has been assigned to a valid IRP major function code.

Remarks

The WDF_REQUEST_TYPE enumeration type is used in the WDF_REQUEST_PARAMETERS and WDF_REQUEST_COMPLETION_PARAMS structures.

For information about how a framework-based driver can handle request types that the framework does not support, see Handling an IRP that the Framework Does Not Support.

For the UMDF version of this enumeration, see WDF_REQUEST_TYPE (UMDF).

Requirements

Requirement Value
Minimum KMDF version 1.0
Minimum UMDF version 2.0
Header wdfrequest.h (include Wdf.h)

See also

EvtDeviceFileCreate

EvtDeviceShutdownNotification

EvtFileCleanup

EvtFileClose