Fungsi WdfCmResourceListInsertDescriptor (wdfresource.h)
[Hanya berlaku untuk KMDF]
Metode WdfCmResourceListInsertDescriptor menyisipkan deskriptor sumber daya ke dalam daftar sumber daya tertentu.
Sintaks
NTSTATUS WdfCmResourceListInsertDescriptor(
[in] WDFCMRESLIST List,
[in] PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor,
[in] ULONG Index
);
Parameter
[in] List
Handel ke objek daftar sumber daya kerangka kerja yang mewakili daftar sumber daya perangkat keras untuk perangkat.
[in] Descriptor
Penunjuk ke struktur CM_PARTIAL_RESOURCE_DESCRIPTOR yang menjelaskan sumber daya perangkat keras.
[in] Index
Nilai berbasis nol yang digunakan sebagai indeks ke dalam konfigurasi logis yang ditentukan Daftar . Untuk menambahkan deskriptor sumber daya ke akhir daftar sumber daya, tentukan WDF_INSERT_AT_END atau nilai yang dikembalikan dari WdfCmResourceListGetCount.
Nilai kembali
WdfCmResourceListInsertDescriptor 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 yang ditentukan parameter Daftar . Misalnya, driver tidak dapat mengubah konfigurasi logis yang diterima fungsi panggilan balik EvtDevicePrepareHardware atau EvtDeviceReleaseHardware . |
|
Kerangka kerja tidak dapat mengalokasikan ruang untuk menyimpan deskriptor yang ditunjuk oleh parameter Deskriptor . |
|
Nilai yang ditentukan parameter Indeks terlalu besar. |
Pemeriksaan bug sistem terjadi jika driver memasok handel objek yang tidak valid.
Keterangan
Metode WdfCmResourceListInsertDescriptor menyisipkan deskriptor sumber daya yang ditentukan Deskriptor ke dalam daftar sumber daya yang ditentukan Daftar , di depan deskriptor sumber daya yang diidentifikasi nilai Indeks .
Untuk menambahkan deskriptor sumber daya ke akhir daftar sumber daya, tentukan WDF_INSERT_AT_END atau nilai yang dikembalikan dari WdfCmResourceListGetCount sebagai nilai Indeks . Atau, gunakan metode WdfCmResourceListAppendDescriptor .
Kerangka kerja menyalin konten struktur CM_PARTIAL_RESOURCE_DESCRIPTOR ke penyimpanan internal, sehingga rutinitas driver yang memanggil WdfCmResourceListInsertDescriptor dapat mengalokasikan struktur secara lokal. Setelah driver memanggil WdfCmResourceListInsertDescriptor, driver dapat menggunakan kembali struktur CM_PARTIAL_RESOURCE_DESCRIPTOR.
Untuk informasi selengkapnya tentang daftar sumber daya, lihat Sumber Daya Perangkat Keras untuk Driver Framework-Based.
Contoh
Contoh kode berikut menambahkan deskriptor sumber daya ke akhir daftar sumber daya yang diterima fungsi panggilan balik EvtDeviceResourcesQuery .
NTSTATUS
PdoEvtDeviceResourcesQuery(
IN WDFDEVICE Device,
IN WDFCMRESLIST Resources
)
{
CM_PARTIAL_RESOURCE_DESCRIPTOR newDescriptor;
...
newDescriptor.Type = CmResourceTypePort;
newDescriptor.ShareDisposition = CmResourceShareDeviceExclusive;
newDescriptor.Flags = CM_RESOURCE_PORT_IO|CM_RESOURCE_PORT_16_BIT_DECODE;
newDescriptor.u.Port.Length = 1;
newDescriptor.u.Port.Start = 0;
status = WdfCmResourceListInsertDescriptor(
Resources,
&newDescriptor,
WDF_INSERT_AT_END
);
...
}
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