Fungsi WdfIoResourceListInsertDescriptor (wdfresource.h)
[Berlaku untuk KMDF saja]
Metode WdfIoResourceListInsertDescriptor menyisipkan deskriptor sumber daya ke dalam konfigurasi logis daftar persyaratan sumber daya.
Sintaks
NTSTATUS WdfIoResourceListInsertDescriptor(
[in] WDFIORESLIST ResourceList,
[in] PIO_RESOURCE_DESCRIPTOR Descriptor,
[in] ULONG Index
);
Parameter
[in] ResourceList
Handel ke objek daftar rentang sumber daya kerangka kerja yang mewakili konfigurasi logis sumber daya perangkat keras untuk perangkat.
[in] Descriptor
Penunjuk ke struktur IO_RESOURCE_DESCRIPTOR yang menjelaskan sumber daya perangkat keras.
[in] Index
Nilai berbasis nol yang digunakan sebagai indeks ke dalam kumpulan deskriptor sumber daya yang sudah berada dalam konfigurasi logis yang ditentukan ResourceList . Untuk menambahkan deskriptor sumber daya ke akhir konfigurasi logis, tentukan WDF_INSERT_AT_END atau nilai pengembalian dari WdfIoResourceListGetCount.
Nilai kembali
WdfIoResourceListInsertDescriptor mengembalikan STATUS_SUCCESS jika operasi berhasil. Jika tidak, metode ini mungkin mengembalikan salah satu nilai berikut:
Menampilkan kode | Deskripsi |
---|---|
|
Parameter yang tidak valid ditentukan. |
|
Driver tidak diizinkan untuk menambahkan deskriptor ke konfigurasi logis. |
|
Kerangka kerja tidak dapat mengalokasikan ruang untuk menyimpan deskriptor. |
|
Nilai yang ditentukan parameter Indeks terlalu besar. |
Pemeriksaan bug sistem terjadi jika driver memasok handel objek yang tidak valid.
Keterangan
Metode WdfIoResourceListInsertDescriptor menyisipkan deskriptor sumber daya yang ditunjukkan parameter Descriptor ke dalam konfigurasi logis yang ditentukan parameter ResourceList , di depan deskriptor sumber daya yang diidentifikasi nilai Indeks .
Untuk menambahkan deskriptor sumber daya ke akhir konfigurasi logis, tentukan WDF_INSERT_AT_END atau nilai pengembalian dari WdfIoResourceListGetCount untuk nilai Indeks . Atau, gunakan metode WdfIoResourceListAppendDescriptor .
Kerangka kerja menyalin konten struktur IO_RESOURCE_DESCRIPTOR ke dalam penyimpanan internal, sehingga rutinitas driver yang memanggil WdfIoResourceListInsertDescriptor dapat mengalokasikan struktur secara lokal. Setelah driver memanggil WdfIoResourceListInsertDescriptor, driver dapat menggunakan kembali struktur IO_RESOURCE_DESCRIPTOR .
Untuk informasi selengkapnya tentang daftar persyaratan sumber daya dan konfigurasi logis, lihat Sumber Daya Perangkat Keras untuk Driver Framework-Based.
Contoh
Contoh kode berikut menginisialisasi deskriptor sumber daya dan menambahkan deskriptor ke akhir konfigurasi logis.
IO_RESOURCE_DESCRIPTOR descriptor;
RtlZeroMemory(&descriptor, sizeof(descriptor));
descriptor.Option = 0;
descriptor.Type = CmResourceTypePort;
descriptor.ShareDisposition = CmResourceShareDeviceExclusive;
descriptor.Flags = CM_RESOURCE_PORT_IO|CM_RESOURCE_PORT_16_BIT_DECODE;
descriptor.u.Port.Length = 1;
descriptor.u.Port.Alignment = 0x01;
descriptor.u.Port.MinimumAddress.QuadPart = 0;
descriptor.u.Port.MaximumAddress.QuadPart = 0xFFFF;
status = WdfIoResourceListInsertDescriptor(
logConfig,
&descriptor,
WDF_INSERT_AT_END
);
if (!NT_SUCCESS(status)) {
return status;
}
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Versi KMDF minimum | 1,0 |
Header | wdfresource.h (termasuk Wdf.h) |
Pustaka | Wdf01000.sys (lihat Penerapan Versi Pustaka Kerangka Kerja.) |
IRQL | <=DISPATCH_LEVEL |
Aturan kepatuhan DDI | 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