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
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for