Bagikan melalui


Fungsi WdfFdoInitSetFilter (wdffdo.h)

[Berlaku untuk KMDF dan UMDF]

Metode WdfFdoInitSetFilter mengidentifikasi driver panggilan sebagai driver filter tingkat atas atau tingkat bawah, untuk perangkat tertentu.

Sintaks

void WdfFdoInitSetFilter(
  [in] PWDFDEVICE_INIT DeviceInit
);

Parameter

[in] DeviceInit

Penunjuk ke struktur WDFDEVICE_INIT yang diperoleh driver dari fungsi panggilan balik EvtDriverDeviceAdd .

Nilai kembali

Tidak ada

Keterangan

Driver filter biasanya memproses beberapa permintaan I/O, tetapi mereka hanya meneruskan sebagian besar permintaan ke driver berikutnya di tumpukan driver. Jika kerangka kerja menerima permintaan untuk salah satu perangkat driver Anda, dan jika driver belum membuat antrean I/O untuk menerima permintaan yang cocok dengan jenis permintaan, cara kerangka kerja memproses permintaan tergantung pada apakah driver telah memanggil WdfFdoInitSetFilter:

  • Jika driver memanggil WdfFdoInitSetFilter, kerangka kerja driver meneruskan permintaan ke driver berikutnya.
  • Jika driver tidak memanggil WdfFdoInitSetFilter, kerangka kerja menyelesaikan permintaan dengan nilai status STATUS_INVALID_DEVICE_REQUEST.
Jika driver memanggil WdfFdoInitSetFilter, driver tidak boleh memanggil WdfDeviceInitSetIoType, WdfDeviceInitSetPowerInrush, atau WdfDeviceInitSetPowerPageable karena kerangka kerja mengabaikan informasi yang disediakan oleh panggilan ini. Sebaliknya, kerangka kerja mendapatkan informasi ini dari objek perangkat berikutnya yang lebih rendah di tumpukan perangkat driver.

Driver harus memanggil WdfFdoInitSetFilter sebelum memanggil WdfDeviceCreate. Untuk informasi selengkapnya tentang memanggil WdfDeviceCreate, lihat Membuat Objek Perangkat Kerangka Kerja. Selain itu, driver harus memanggil WdfFdoInitSetFilter sebelum kembali dari fungsi panggilan balik EvtDriverDeviceAdd .

Untuk informasi selengkapnya tentang WdfFdoInitSetFilter, lihat Membuat Objek Perangkat di Driver Filter, Membuat Antrean I/O , dan Meneruskan Permintaan I/O.

Contoh

Contoh kode berikut mengidentifikasi driver panggilan sebagai driver filter untuk perangkat yang ditentukan.

WdfFdoInitSetFilter(DeviceInit);

Persyaratan

Persyaratan Nilai
Target Platform Universal
Versi KMDF minimum 1,0
Versi UMDF minimum 2.0
Header wdffdo.h (termasuk Wdf.h)
Pustaka Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL
Aturan kepatuhan DDI DeviceInitAPI(kmdf), DriverCreate(kmdf), DrvAckIoStop(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Lihat juga

WDFDEVICE_INIT