WDF_REQUEST_PARAMETERS 结构 (wdfrequest.h)

[适用于 KMDF 和 UMDF]

WDF_REQUEST_PARAMETERS 结构接收与 I/O 请求关联的参数。

语法

typedef struct _WDF_REQUEST_PARAMETERS {
  USHORT           Size;
  UCHAR            MinorFunction;
  WDF_REQUEST_TYPE Type;
  union {
    struct {
      PIO_SECURITY_CONTEXT     SecurityContext;
      ULONG                    Options;
      USHORT POINTER_ALIGNMENT FileAttributes;
      USHORT                   ShareAccess;
      ULONG POINTER_ALIGNMENT  EaLength;
    } Create;
    struct {
      size_t                  Length;
      ULONG POINTER_ALIGNMENT Key;
      LONGLONG                DeviceOffset;
    } Read;
    struct {
      size_t                  Length;
      ULONG POINTER_ALIGNMENT Key;
      LONGLONG                DeviceOffset;
    } Write;
    struct {
      size_t                   OutputBufferLength;
      size_t POINTER_ALIGNMENT InputBufferLength;
      ULONG POINTER_ALIGNMENT  IoControlCode;
      PVOID                    Type3InputBuffer;
    } DeviceIoControl;
    struct {
      PVOID                   Arg1;
      PVOID                   Arg2;
      ULONG POINTER_ALIGNMENT IoControlCode;
      PVOID                   Arg4;
    } Others;
  } Parameters;
} WDF_REQUEST_PARAMETERS, *PWDF_REQUEST_PARAMETERS;

成员

Size

此结构的大小(以字节为单位)。

MinorFunction

与 I/O 请求关联的 IRP 次要函数代码(如果有)。 某些主要函数代码具有关联的次要函数代码。

Type

标识 I/O 请求类型的 WDF_REQUEST_TYPE类型值。

Parameters

每个 IRP 主要函数代码的唯一参数。 此成员包含 IO_STACK_LOCATION 结构的 Parameters 成员的子集。

Parameters.Create

IRP_MJ_CREATE的参数。

Parameters.Create.SecurityContext

Parameters.Create.Options

Parameters.Create.FileAttributes

Parameters.Create.ShareAccess

Parameters.Create.EaLength

Parameters.Read

IRP_MJ_READ的参数。

Parameters.Read.Length

Parameters.Read.Key

Parameters.Read.DeviceOffset

Parameters.Write

IRP_MJ_WRITE的参数。

Parameters.Write.Length

Parameters.Write.Key

Parameters.Write.DeviceOffset

Parameters.DeviceIoControl

IRP_MJ_DEVICE_CONTROLIRP_MJ_INTERNAL_DEVICE_CONTROL的参数。

Parameters.DeviceIoControl.OutputBufferLength

Parameters.DeviceIoControl.InputBufferLength

Parameters.DeviceIoControl.IoControlCode

Parameters.DeviceIoControl.Type3InputBuffer

Parameters.Others

此成员的用法由驱动程序堆栈定义。

Parameters.Others.Arg1

Parameters.Others.Arg2

Parameters.Others.IoControlCode

Parameters.Others.Arg4

注解

WDF_REQUEST_PARAMETERS 结构用作 WdfRequestGetParameters 的输入。 驱动程序必须调用 WDF_REQUEST_PARAMETERS_INIT 才能初始化此结构,然后才能调用 WdfRequestGetParameters

要求

要求
最低 KMDF 版本 1.0
最低 UMDF 版本 2.0
标头 wdfrequest.h (包括 Wdf.h)

另请参阅

IO_STACK_LOCATION

WDF_REQUEST_PARAMETERS_INIT

WdfRequestGetParameters