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_CONTROL和IRP_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) |