Bagikan melalui


EVT_WDF_CHILD_LIST_DEVICE_REENUMERATED fungsi panggilan balik (wdfchildlist.h)

[Berlaku untuk KMDF saja]

Fungsi panggilan balik peristiwa EvtChildListDeviceReenumerated driver memungkinkan driver menyetujui atau membatalkan reenumerasi perangkat tertentu.

Sintaks

EVT_WDF_CHILD_LIST_DEVICE_REENUMERATED EvtWdfChildListDeviceReenumerated;

BOOLEAN EvtWdfChildListDeviceReenumerated(
  [in]  WDFCHILDLIST ChildList,
  [in]  WDFDEVICE OldDevice,
  [in]  PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER OldAddressDescription,
  [out] PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER NewAddressDescription
)
{...}

Parameter

[in] ChildList

Handel ke objek daftar anak kerangka kerja.

[in] OldDevice

Handel ke objek perangkat kerangka kerja.

[in] OldAddressDescription

Penunjuk opsional ke struktur WDF_CHILD_ADDRESS_DESCRIPTION_HEADER yang mengidentifikasi deskripsi alamat anak, atau NULL. Jika disediakan, struktur ini berisi informasi alamat yang relevan sebelum perangkat dienumerasi ulang.

[out] NewAddressDescription

Penunjuk opsional ke struktur WDF_CHILD_ADDRESS_DESCRIPTION_HEADER yang mengidentifikasi deskripsi alamat anak, atau NULL. Jika disediakan, fungsi panggilan balik mengisi struktur ini dengan informasi alamat baru tentang perangkat.

Nilai kembali

Fungsi panggilan balik EvtChildListDeviceReenumerated mengembalikan TRUE untuk menyetujui penhitungan ulang atau FALSE untuk membatalkannya.

Keterangan

Jika driver bus menggunakan enumerasi dinamis, driver dapat mendaftarkan fungsi panggilan balik EvtChildListDeviceReenumerated dengan memanggil WdfFdoInitSetDefaultChildListConfig atau WdfChildListCreate.

Driver bus berbasis kerangka kerja dapat menerima permintaan dari driver fungsi untuk menghitung ulang perangkat anak tertentu. Untuk informasi selengkapnya tentang permintaan ini, lihat Menangani Permintaan Enumerasi.

Fungsi panggilan balik EvtChildListDeviceReenumerated pengemudi bus memungkinkan driver menyetujui atau membatalkan reenumerasi. Parameter OldDevice mengidentifikasi perangkat, dan parameter ChildList mengidentifikasi daftar anak tempat perangkat menjadi anggotanya. Jika fungsi panggilan balik mengembalikan TRUE untuk menyetujui reenumerasi, atau jika fungsi panggilan balik tidak ada, kerangka kerja melakukan hal berikut:

  1. Menghapus objek perangkat kerangka kerja perangkat (yang diidentifikasi oleh OldDevice) tetapi mempertahankan deskripsi identifikasi perangkat.
  2. Memanggil fungsi panggilan balik EvtChildListCreateDevice driver, meneruskan deskripsi identifikasi yang disimpan, sehingga fungsi panggilan balik dapat memanggil WdfDeviceCreate untuk membuat objek perangkat kerangka kerja baru.
Jika driver bus menggunakan deskripsi alamat, fungsi panggilan balik EvtChildListDeviceReenumerated menerima penunjuk ke dua deskripsi alamat. Satu poin ke deskripsi alamat yang terkait dengan objek perangkat lama. Yang lain menunjuk ke deskripsi alamat yang harus diisi oleh fungsi panggilan balik dengan informasi yang menjelaskan lokasi perangkat saat ini.

Untuk informasi selengkapnya tentang enumerasi dinamis, lihat Menghitung Perangkat di Bus.

Persyaratan

Persyaratan Nilai
Target Platform Universal
Versi KMDF minimum 1,0
Header wdfchildlist.h (termasuk Wdf.h)
IRQL <= DISPATCH_LEVEL

Lihat juga

EvtChildListCreateDevice

WDF_CHILD_ADDRESS_DESCRIPTION_HEADER

WdfChildListCreate

WdfDeviceCreate

WdfFdoInitSetDefaultChildListConfig