struktur WDF_FILEOBJECT_CONFIG (wdfdevice.h)
[Berlaku untuk KMDF dan UMDF]
Struktur WDF_FILEOBJECT_CONFIG berisi informasi konfigurasi objek file kerangka kerja driver.
Sintaks
typedef struct _WDF_FILEOBJECT_CONFIG {
ULONG Size;
PFN_WDF_DEVICE_FILE_CREATE EvtDeviceFileCreate;
PFN_WDF_FILE_CLOSE EvtFileClose;
PFN_WDF_FILE_CLEANUP EvtFileCleanup;
WDF_TRI_STATE AutoForwardCleanupClose;
WDF_FILEOBJECT_CLASS FileObjectClass;
} WDF_FILEOBJECT_CONFIG, *PWDF_FILEOBJECT_CONFIG;
Anggota
Size
Ukuran, dalam byte, dari struktur ini.
EvtDeviceFileCreate
Penunjuk ke fungsi panggilan balik EvtDeviceFileCreate driver, atau NULL.
EvtFileClose
Penunjuk ke fungsi panggilan balik EvtFileClose driver, atau NULL.
EvtFileCleanup
Penunjuk ke fungsi panggilan balik EvtFileCleanup driver, atau NULL.
AutoForwardCleanupClose
Nilai yang WDF_TRI_STATE ketik. Untuk informasi selengkapnya tentang anggota ini, lihat bagian Komentar berikut ini.
FileObjectClass
Nilai jenis WDF_FILEOBJECT_CLASS yang mengidentifikasi apakah driver memerlukan objek file kerangka kerja untuk mewakili setiap file yang dibuat atau dibuka oleh aplikasi atau driver lain. Selain itu, nilai ini menentukan di mana kerangka kerja dapat menyimpan handel objek.
Keterangan
Struktur WDF_FILEOBJECT_CONFIG digunakan sebagai input ke metode WdfDeviceInitSetFileObjectConfig .
WDF_FILEOBJECT_CONFIG harus diinisialisasi dengan memanggil WDF_FILEOBJECT_CONFIG_INIT.
Perilaku Kerangka Kerja untuk AutoForwardCleanupClose
Jika AutoForwardCleanupClose diatur ke WdfTrue, kerangka kerja melakukan hal berikut:- Kerangka kerja meneruskan permintaan pembuatan file ke driver berikutnya yang lebih rendah jika driver tidak menyediakan fungsi panggilan balik EvtDeviceFileCreate dan belum memanggil WdfDeviceConfigureRequestDispatching untuk mengatur antrean I/O untuk menerima permintaan pembuatan file. Kerangka kerja tidak meneruskan permintaan pembuatan file jika driver menyediakan fungsi panggilan balik atau antrean untuk menangani permintaan, sehingga driver harus meneruskan, menyelesaikan, atau membatalkan permintaan.
- Kerangka kerja mengirimkan pembersihan file dan menutup permintaan ke driver berikutnya yang lebih rendah setelah memanggil fungsi panggilan balik EvtFileCleanup dan EvtFileClose driver.
Jika AutoForwardCleanupClose diatur ke WdfUseDefault, kerangka kerja menggunakan perilaku WdfTrue untuk driver filter dan perilaku WdfFalse untuk driver fungsi.
Perilaku Driver untuk AutoForwardCleanupClose
Target I/O lokal driver Anda harus selalu menerima jumlah permintaan I/O yang sama dengan jenis permintaan WdfRequestTypeCreate, WdfRequestTypeCleanup, dan WdfRequestTypeClose. Oleh karena itu, jika driver menyediakan fungsi panggilan balik EvtDeviceFileCreate atau antrean I/O yang menerima permintaan pembuatan file, Anda harus menggunakan aturan berikut:- Jika driver Anda menetapkan AutoForwardCleanupClose ke WdfTrue, driver harus meneruskan semua permintaan pembuatan file ke target I/O lokal. Anda harus mengikuti aturan ini karena kerangka kerja akan meneruskan semua pembersihan dan menutup permintaan ke target lokal, baik driver Anda menyediakan fungsi panggilan balik EvtFileCleanup dan EvtFileClose atau tidak.
- Jika driver Anda menetapkan AutoForwardCleanupClose ke WdfFalse, driver tidak boleh meneruskan permintaan pembuatan file ke target I/O lokal. Anda harus mengikuti aturan ini karena kerangka kerja tidak akan meneruskan pembersihan dan menutup permintaan ke target lokal, baik driver Anda menyediakan fungsi panggilan balik EvtFileCleanup dan EvtFileClose atau tidak.
- Jika driver Anda mengatur AutoForwardCleanupClose ke WdfDefault, driver harus mengikuti aturan untuk WdfTrue jika itu adalah driver filter. Driver harus mengikuti aturan untuk WdfFalse jika itu adalah driver fungsi.
Persyaratan
Persyaratan | Nilai |
---|---|
Versi KMDF minimum | 1,0 |
Versi UMDF minimum | 2.0 |
Header | wdfdevice.h (termasuk Wdf.h) |