EVT_WDF_DEVICE_PREPARE_HARDWARE fungsi panggilan balik (wdfdevice.h)

[Berlaku untuk KMDF dan UMDF]

Fungsi panggilan balik peristiwa EvtDevicePrepareHardware driver melakukan operasi apa pun yang diperlukan untuk membuat perangkat dapat diakses oleh driver.

Sintaks

EVT_WDF_DEVICE_PREPARE_HARDWARE EvtWdfDevicePrepareHardware;

NTSTATUS EvtWdfDevicePrepareHardware(
  [in] WDFDEVICE Device,
  [in] WDFCMRESLIST ResourcesRaw,
  [in] WDFCMRESLIST ResourcesTranslated
)
{...}

Parameter

[in] Device

Handel ke objek perangkat kerangka kerja.

[in] ResourcesRaw

Handel ke objek daftar sumber daya kerangka kerja yang mengidentifikasi sumber daya perangkat keras mentah yang telah ditetapkan manajer Plug and Play ke perangkat.

[in] ResourcesTranslated

Handel ke objek daftar sumber daya kerangka kerja yang mengidentifikasi sumber daya perangkat keras yang diterjemahkan yang telah ditetapkan manajer Plug and Play ke perangkat.

Nilai kembali

Jika fungsi panggilan balik EvtDevicePrepareHardware tidak mengalami kesalahan, fungsi tersebut harus mengembalikan STATUS_SUCCESS atau nilai status lain yang NT_SUCCESS(statusnya) sama dengan TRUE. Jika tidak, itu harus mengembalikan nilai status yang NT_SUCCESS(status) sama dengan FALSE. Jangan kembali STATUS_NOT_SUPPORTED.

Jika NT_SUCCESS(status) sama dengan FALSE, kerangka kerja memanggil fungsi panggilan balik EvtDeviceReleaseHardware driver.

Untuk informasi selengkapnya tentang nilai pengembalian fungsi panggilan balik ini, lihat Melaporkan Kegagalan Perangkat.

Keterangan

Untuk mendaftarkan fungsi panggilan balik EvtDevicePrepareHardware , driver harus memanggil WdfDeviceInitSetPnpowerEventCallbacks.

Jika driver telah mendaftarkan fungsi panggilan balik EvtDevicePrepareHardware untuk perangkat, kerangka kerja memanggil fungsi setelah manajer Plug and Play menetapkan sumber daya perangkat keras ke perangkat dan setelah perangkat memasuki status D0 yang tidak diinisialisasi. (Manajer Plug and Play selalu memulai perangkat induk sebelum memulai perangkat anak perangkat tersebut.)

Kerangka kerja memanggil fungsi panggilan balik EvtDevicePrepareHardware driver sebelum memanggil fungsi panggilan balik EvtDeviceD0Entry driver.

Fungsi panggilan balik EvtDevicePrepareHardware mengakses sumber daya perangkat keras mentah dan terjemahan perangkat dengan menggunakan penanganan ResourcesRaw dan ResourcesTranslated yang diterimanya. Fungsi panggilan balik dapat memanggil WdfCmResourceListGetCount dan WdfCmResourceListGetDescriptor untuk melintasi daftar sumber daya. Fungsi panggilan balik ini tidak dapat mengubah daftar sumber daya.

Untuk informasi selengkapnya tentang daftar sumber daya dan urutan sumber daya muncul, lihat sumber daya perangkat keras mentah dan terjemahan.

Biasanya, fungsi panggilan balik EvtDevicePrepareHardware driver Anda melakukan hal berikut, jika perlu:

  • Memetakan alamat memori fisik ke alamat virtual sehingga driver dapat mengakses memori yang ditetapkan ke perangkat
  • Menentukan nomor revisi perangkat
  • Mengonfigurasi perangkat USB
  • Mendapatkan antarmuka yang ditentukan driver dari driver lain
Secara opsional, fungsi panggilan balik EvtDevicePrepareHardware driver Anda mungkin mengantre item kerja untuk menyelesaikan tugas konfigurasi intensif waktu lainnya. Menggunakan item kerja untuk operasi tersebut dapat membantu memastikan bahwa waktu mulai perangkat Anda tidak meningkatkan waktu boot sistem. Untuk informasi selengkapnya, lihat Menggunakan Item Kerja Kerangka Kerja.

Biasanya, semua operasi inisialisasi perangkat keras lainnya, termasuk memuat firmware, harus berlangsung setiap kali perangkat memasuki status berfungsi (D0) dan karenanya harus berlangsung dalam fungsi panggilan balik EvtDeviceD0Entry driver.

ResourcesRaw dan ResourcesTranslated menangani bahwa fungsi panggilan balik EvtDevicePrepareHardware menerima tetap valid sampai fungsi panggilan balik EvtDeviceReleaseHardware driver kembali.

Untuk informasi selengkapnya tentang sumber daya perangkat keras, lihat Sumber Daya Perangkat Keras untuk Driver Framework-Based.

Untuk informasi selengkapnya tentang kapan kerangka kerja memanggil fungsi panggilan balik ini, lihat Skenario PnP dan Power Management.

Untuk informasi selengkapnya tentang driver yang menyediakan fungsi panggilan balik ini, lihat Mendukung PnP dan Manajemen Daya di Driver Fungsi.

Persyaratan

Persyaratan Nilai
Target Platform Universal
Versi KMDF minimum 1,0
Versi UMDF minimum 2.0
Header wdfdevice.h (termasuk Wdf.h)
IRQL PASSIVE_LEVEL

Lihat juga

EvtDeviceReleaseHardware