Fungsi WdfFdoAddStaticChild (wdffdo.h)
[Berlaku untuk KMDF saja]
Metode WdfFdoAddStaticChild menambahkan perangkat tertentu ke daftar perangkat anak driver fungsi yang telah diidentifikasi oleh enumerasi statis.
Sintaks
NTSTATUS WdfFdoAddStaticChild(
[in] WDFDEVICE Fdo,
[in] WDFDEVICE Child
);
Parameter
[in] Fdo
Handel ke objek perangkat kerangka kerja yang mewakili perangkat induk.
[in] Child
Handel ke objek perangkat kerangka kerja yang mewakili perangkat anak.
Nilai kembali
Jika operasi berhasil, metode akan mengembalikan STATUS_SUCCESS. Nilai pengembalian tambahan meliputi:
Menampilkan kode | Deskripsi |
---|---|
|
Fdo bukan handel ke objek perangkat driver fungsi. |
Metode ini mungkin juga mengembalikan nilai NTSTATUS lainnya.
Pemeriksaan bug sistem terjadi jika driver memasok handel objek yang tidak valid.
Keterangan
Driver yang menggunakan enumerasi bus statis dapat memanggil WdfFdoAddStaticChild. Untuk informasi selengkapnya tentang daftar turunan statis, lihat Menghitung Perangkat di Bus.
Jika WdfFdoAddStaticChild mengembalikan nilai NTSTATUS yang NT_SUCCESS evaluasi sebagai FALSE, driver harus memanggil WdfObjectDelete untuk menghapus objek perangkat kerangka kerja yang mewakili perangkat anak. Driver tidak boleh menghapus objek perangkat kerangka kerja setelah WdfFdoAddStaticChild mengembalikan STATUS_SUCCESS.
Contoh
Contoh kode berikut membuat objek perangkat kerangka kerja yang mewakili perangkat anak baru dan menambahkan perangkat anak ke daftar anak perangkat induk. Untuk contoh kode lengkap, lihat driver sampel KbFiltr .
NTSTATUS status;
PWDFDEVICE_INIT pDeviceInit = NULL;
WDFDEVICE hChild = NULL;
WDF_OBJECT_ATTRIBUTES pdoAttributes;
pDeviceInit = WdfPdoInitAllocate(Device);
if (pDeviceInit == NULL) {
status = STATUS_INSUFFICIENT_RESOURCES;
goto Cleanup;
}
...
status = WdfDeviceCreate(
&pDeviceInit,
&pdoAttributes,
&hChild
);
if (!NT_SUCCESS(status)) {
WdfDeviceInitFree(pDeviceInit);
pDeviceInit = NULL;
goto Cleanup;
}
...
status = WdfFdoAddStaticChild(
Device,
hChild
);
if (!NT_SUCCESS(status)) {
goto Cleanup;
}
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Versi KMDF minimum | 1,0 |
Header | wdffdo.h (termasuk Wdf.h) |
Pustaka | Wdf01000.sys (lihat Penerapan Versi Pustaka Kerangka Kerja.) |
IRQL | <= DISPATCH_LEVEL |
Aturan kepatuhan DDI | AddPdoToStaticChildList(kmdf), DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk