enumerasi WDF_REQUEST_SEND_OPTIONS_FLAGS (wdfrequest.h)

[Berlaku untuk KMDF dan UMDF]

Jenis enumerasi WDF_REQUEST_SEND_OPTIONS_FLAGS menentukan bendera yang digunakan dalam struktur WDF_REQUEST_SEND_OPTIONS driver.

Sintaks

typedef enum _WDF_REQUEST_SEND_OPTIONS_FLAGS {
  WDF_REQUEST_SEND_OPTION_TIMEOUT = 0x00000001,
  WDF_REQUEST_SEND_OPTION_SYNCHRONOUS = 0x00000002,
  WDF_REQUEST_SEND_OPTION_IGNORE_TARGET_STATE = 0x00000004,
  WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET = 0x00000008,
  WDF_REQUEST_SEND_OPTION_IMPERSONATE_CLIENT = 0x00010000,
  WDF_REQUEST_SEND_OPTION_IMPERSONATION_IGNORE_FAILURE = 0x00020000
} WDF_REQUEST_SEND_OPTIONS_FLAGS;

Konstanta

 
WDF_REQUEST_SEND_OPTION_TIMEOUT
Nilai: 0x00000001
Jika driver mengatur bendera ini, anggota Timeout dari struktur WDF_REQUEST_SEND_OPTIONS valid.
WDF_REQUEST_SEND_OPTION_SYNCHRONOUS
Nilai: 0x00000002
Jika driver mengatur bendera ini, kerangka kerja menangani permintaan I/O terkait secara sinkron. (Driver tidak harus mengatur bendera ini jika memanggil metode objek yang namanya berakhiran "Sinkron", seperti WdfIoTargetSendReadSynchronously.)
WDF_REQUEST_SEND_OPTION_IGNORE_TARGET_STATE
Nilai: 0x00000004
Jika driver menetapkan bendera ini, kerangka kerja mengirimkan permintaan I/O ke target I/O, terlepas dari status target I/O. Jika tidak diatur, kerangka kerja mengantre permintaan jika target dihentikan. Mengatur bendera ini memungkinkan driver untuk mengirim permintaan, seperti permintaan untuk mengatur ulang pipa USB, ke perangkat setelah driver memanggil WdfIoTargetStop.
WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET
Nilai: 0x00000008
Jika driver mengatur bendera ini, driver mengirim permintaan secara asinkron dan tidak perlu diberi tahu ketika permintaan selesai atau dibatalkan. Kerangka kerja mengirimkan permintaan I/O ke target I/O, terlepas dari status target I/O. Driver tidak mengatur fungsi panggilan balik CompletionRoutine atau memanggil WdfRequestComplete untuk permintaan tersebut. Jika driver mengatur bendera ini, driver tidak dapat mengatur bendera lain. Untuk informasi selengkapnya tentang bendera ini, lihat bagian Keterangan berikut ini.
WDF_REQUEST_SEND_OPTION_IMPERSONATE_CLIENT
Nilai: 0x00010000
Bendera ini hanya berlaku untuk UMDF. Jika diatur, dan jika jenis permintaan I/O adalah WdfRequestTypeCreate, metode WdfRequestSend mencoba meneruskan tingkat peniruan klien ke target I/O driver. Metode WdfRequestSend mengembalikan kode kesalahan jika upaya peniruan gagal, kecuali driver juga mengatur bendera WDF_REQUEST_SEND_OPTION_IMPERSONATION_IGNORE_FAILURE .
WDF_REQUEST_SEND_OPTION_IMPERSONATION_IGNORE_FAILURE
Nilai: 0x00020000
Bendera ini hanya berlaku untuk UMDF. Jika diatur, kerangka kerja masih mengirim permintaan meskipun peniruan nama gagal. Anda hanya dapat menggunakan nilai ini dengan WDF_REQUEST_SEND_OPTION_IMPERSONATE_CLIENT.

Keterangan

Driver yang mengatur bendera WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET biasanya tidak memformat permintaan I/O sebelum memanggil WdfRequestSend untuk mengirim permintaan ke target I/O. Bahkan, driver yang mengatur bendera ini tidak boleh memanggil salah satu metode WdfIoTargetFormatRequestForXxx sebelum memanggil WdfRequestSend. Driver hanya dapat menggunakan metode WdfRequestFormatRequestUsingCurrentType atau WdfRequestWdmFormatUsingStackLocation untuk memformat permintaan.

Driver Anda tidak dapat mengatur bendera WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET dalam situasi berikut:

Untuk versi UMDF dari enumerasi ini, lihat WDF_REQUEST_SEND_OPTIONS_FLAGS (UMDF).

Persyaratan

Persyaratan Nilai
Versi KMDF minimum 1,0
Versi UMDF minimum 2.0
Header wdfrequest.h (termasuk Wdf.h)

Lihat juga

WDF_REQUEST_SEND_OPTIONS

WdfIoTargetStop