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