Fungsi WdfIoResourceRequirementsListInsertIoResList (wdfresource.h)

[Berlaku untuk KMDF saja]

Metode WdfIoResourceRequirementsListInsertIoResList menyisipkan konfigurasi logis ke dalam daftar persyaratan sumber daya.

Sintaks

NTSTATUS WdfIoResourceRequirementsListInsertIoResList(
  [in] WDFIORESREQLIST RequirementsList,
  [in] WDFIORESLIST    IoResList,
  [in] ULONG           Index
);

Parameter

[in] RequirementsList

Handel ke objek daftar persyaratan sumber daya kerangka kerja yang mewakili daftar persyaratan sumber daya perangkat.

[in] IoResList

Handel ke objek daftar rentang sumber daya kerangka kerja yang mewakili konfigurasi logis sumber daya perangkat keras untuk perangkat.

[in] Index

Nilai berbasis nol yang digunakan sebagai indeks ke dalam kumpulan konfigurasi logis yang sudah ada dalam daftar persyaratan sumber daya yang ditentukan RequirementsList . Untuk menambahkan konfigurasi ke akhir daftar, tentukan WDF_INSERT_AT_END atau nilai pengembalian dari WdfIoResourceRequirementsListGetCount.

Nilai kembali

WdfIoResourceRequirementsListInsertIoResList mengembalikan STATUS_SUCCESS jika operasi berhasil. Jika tidak, metode ini mungkin mengembalikan salah satu nilai berikut:

Menampilkan kode Deskripsi
STATUS_INVALID_PARAMETER
Parameter yang tidak valid seperti yang ditentukan.
STATUS_INVALID_DEVICE_REQUEST
Objek resource-requirements-list yang ditentukan tidak memiliki objek resource-range-list yang ditentukan.
STATUS_INSUFFICIENT_RESOURCES
Kerangka kerja tidak dapat mengalokasikan ruang untuk menyimpan objek daftar rentang sumber daya.
STATUS_ARRAY_BOUNDS_EXCEEDED
Nilai yang ditentukan untuk parameter Indeks terlalu besar.
 

Pemeriksaan bug sistem terjadi jika driver memasok handel objek yang tidak valid.

Keterangan

Metode WdfIoResourceRequirementsListInsertIoResList menyisipkan konfigurasi logis yang ditentukan parameter IoResList ke dalam daftar persyaratan sumber daya yang ditentukan parameter RequirementsList , di depan konfigurasi logis yang diidentifikasi nilai Indeks .

Untuk menambahkan konfigurasi logis ke akhir daftar persyaratan sumber daya, gunakan WDF_INSERT_AT_END atau nilai pengembalian dari WdfIoResourceRequirementsListGetCount sebagai nilai Indeks . Atau, gunakan metode WdfIoResourceRequirementsListAppendIoResList .

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

Contoh

Contoh kode berikut menunjukkan bagaimana fungsi panggilan balik EvtDeviceResourceRequirementsQuery dapat membuat dua konfigurasi logis kosong dan menambahkannya ke daftar persyaratan sumber daya.

NTSTATUS
Example_EvtDeviceResourceRequirementsQuery(
    IN WDFDEVICE Device,
    IN WDFIORESREQLIST RequirementsList
    )
{
    NTSTATUS  status;
    WDFIORESLIST  logConfig1;
    WDFIORESLIST  logConfig2;

    status = WdfIoResourceListCreate(
                                     RequirementsList,
                                     WDF_NO_OBJECT_ATTRIBUTES,
                                     &logConfig1
                                     );
    if (!NT_SUCCESS(status)) {
        return status;
    }

    status = WdfIoResourceRequirementsListAppendIoResList(
                                             RequirementsList,
                                             logConfig1
                                             );
    if (!NT_SUCCESS(status)) {
        return status;
    }

    status = WdfIoResourceListCreate(
                                     RequirementsList,
                                     WDF_NO_OBJECT_ATTRIBUTES,
                                     &logConfig2
                                     );
    if (!NT_SUCCESS(status)) {
        return status;
    }
    status = WdfIoResourceRequirementsListInsertIoResList(
                                             RequirementsList,
                                             logConfig2,
                                             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

WdfIoResourceListCreate

WdfIoResourceRequirementsListAppendIoResList