WDF_REQUEST_COMPLETION_PARAMS struttura (wdfrequest.h)
[Si applica a KMDF e UMDF]
La struttura WDF_REQUEST_COMPLETION_PARAMS contiene parametri associati al completamento di una richiesta di I/O.
Sintassi
typedef struct _WDF_REQUEST_COMPLETION_PARAMS {
ULONG Size;
WDF_REQUEST_TYPE Type;
IO_STATUS_BLOCK IoStatus;
union {
struct {
WDFMEMORY Buffer;
size_t Length;
size_t Offset;
} Write;
struct {
WDFMEMORY Buffer;
size_t Length;
size_t Offset;
} Read;
struct {
ULONG IoControlCode;
struct {
WDFMEMORY Buffer;
size_t Offset;
} Input;
struct {
WDFMEMORY Buffer;
size_t Offset;
size_t Length;
} Output;
} Ioctl;
struct {
union {
PVOID Ptr;
ULONG_PTR Value;
} Argument1;
union {
PVOID Ptr;
ULONG_PTR Value;
} Argument2;
union {
PVOID Ptr;
ULONG_PTR Value;
} Argument3;
union {
PVOID Ptr;
ULONG_PTR Value;
} Argument4;
} Others;
struct {
PWDF_USB_REQUEST_COMPLETION_PARAMS Completion;
} Usb;
} Parameters;
} WDF_REQUEST_COMPLETION_PARAMS, *PWDF_REQUEST_COMPLETION_PARAMS;
Members
Size
Dimensione, in byte, della struttura.
Type
Valore WDF_REQUEST_TYPE che identifica il tipo di richiesta.
IoStatus
Struttura IO_STATUS_BLOCK per la richiesta.
Parameters
Valori specifici della richiesta.
Parameters.Write
Parameters.Write.Buffer
Handle per un oggetto memoria framework. Questo oggetto identifica il buffer specificato dal driver quando ha formattato la richiesta e l'ha inviata a una destinazione di I/O.
Parameters.Write.Length
Lunghezza, in byte, del trasferimento.
Parameters.Write.Offset
Indirizzo iniziale all'interno del buffer per il trasferimento dei dati.
Parameters.Read
Parameters.Read.Buffer
Handle per un oggetto memoria framework. Questo oggetto identifica il buffer specificato dal driver quando ha formattato la richiesta e l'ha inviata a una destinazione di I/O.
Parameters.Read.Length
Lunghezza, in byte, del trasferimento.
Parameters.Read.Offset
Indirizzo iniziale all'interno del buffer per il trasferimento dei dati.
Parameters.Ioctl
Parameters.Ioctl.IoControlCode
Parameters.Ioctl.Input
Parameters.Ioctl.Input.Buffer
Handle per un oggetto memoria framework. Questo oggetto identifica il buffer di input specificato dal driver quando ha formattato la richiesta e l'ha inviata a una destinazione di I/O.
Parameters.Ioctl.Input.Offset
Indirizzo iniziale all'interno del buffer per il trasferimento dei dati.
Parameters.Ioctl.Output
Parameters.Ioctl.Output.Buffer
Handle per un oggetto memoria framework. Questo oggetto identifica i buffer di output specificati dal driver quando ha formattato la richiesta e l'ha inviata a una destinazione di I/O.
Parameters.Ioctl.Output.Offset
Indirizzo iniziale all'interno del buffer per il trasferimento dei dati.
Parameters.Ioctl.Output.Length
Lunghezza, in byte, del trasferimento.
Parameters.Others
Parameters.Others.Argument1
L'uso di questo membro è definito dallo stack di driver. Vedere la sezione Osservazioni.
Parameters.Others.Argument1.Ptr
Parameters.Others.Argument1.Value
Parameters.Others.Argument2
L'uso di questo membro è definito dallo stack di driver.
Parameters.Others.Argument2.Ptr
Parameters.Others.Argument2.Value
Parameters.Others.Argument3
L'uso di questo membro è definito dallo stack di driver.
Parameters.Others.Argument3.Ptr
Parameters.Others.Argument3.Value
Parameters.Others.Argument4
L'uso di questo membro è definito dallo stack di driver.
Parameters.Others.Argument4.Ptr
Parameters.Others.Argument4.Value
Parameters.Usb
Per i dispositivi USB, questo membro contiene un puntatore a una struttura WDF_USB_REQUEST_COMPLETION_PARAMS .
Parameters.Usb.Completion
Commenti
La struttura WDF_REQUEST_COMPLETION_PARAMS viene usata come input per il metodo WdfRequestGetCompletionParams e la funzione di callback Di completamento di un driver.
In entrambi i casi, la struttura dei parametri di completamento contiene informazioni valide solo se il driver ha formattato la richiesta chiamando uno dei metodi WdfIoTargetFormatXxx . Ad esempio, vedere WdfIoTargetFormatRequestForRead.
Prima di chiamare WdfRequestGetCompletionParams per recuperare le informazioni di completamento di I/O per una richiesta, il driver deve prima chiamare WDF_REQUEST_COMPLETION_PARAMS_INIT per inizializzare la struttura WDF_REQUEST_COMPLETION_PARAMS .
I membri Parameters.Others.Argument sono argomenti personalizzati che un driver in genere passa lo stack e può tornare dopo il completamento della richiesta. Vengono usati per dati dipendenti dallo stack di driver non standard. Ad esempio, un driver USB specifica un puntatore a un PUNTATORE in Parameters.Others.Argument1 quando invia una richiesta di IOCTL_INTERNAL_USB_SUBMIT_URB allo stack USB. Analogamente, un driver Bluetooth specifica un puntatore a un blocco richiesta BRB (Bluetooth Request Block) in Parameters.Others.Argument1 quando riceve un IOCTL_INTERNAL_BTH_SUBMIT_BRB.
Requisiti
Requisito | Valore |
---|---|
Versione KMDF minima | 1.0 |
Versione UMDF minima | 2,0 |
Intestazione | wdfrequest.h (include Wdf.h) |