WdfIoResourceRequirementsListGetIoResList-Funktion (wdfresource.h)

[Gilt nur für KMDF]

Die WdfIoResourceResourceRequirementsListGetIoResList-Methode gibt ein Handle an das Framework resource-range-list-Objekt zurück, das eine angegebene logische Konfiguration in einer angegebenen Ressourcenbedarfsliste darstellt.

Syntax

WDFIORESLIST WdfIoResourceRequirementsListGetIoResList(
  [in] WDFIORESREQLIST RequirementsList,
  [in] ULONG           Index
);

Parameter

[in] RequirementsList

Ein Handle für ein Framework resource-requirements-list-Objekt, das die Ressourcenbedarfsliste eines Geräts darstellt.

[in] Index

Ein nullbasierter Wert, der als Index in der Ressourcenanforderungenliste verwendet wird, die RequirementsList angibt.

Rückgabewert

WdfIoResourceRequirementsListGetIoResList gibt ein Handle an das Framework resource-range-list-Objekt zurück, das die vom Index-Parameter identifizierte logische Konfiguration darstellt, wenn der Indexwert gültig ist. Andernfalls gibt die Methode NULL zurück.

Eine Systemfehlerprüfung tritt auf, wenn der Treiber ein ungültiges Objekthandle bereitstellt.

Hinweise

Weitere Informationen zu Ressourcenanforderungenlisten finden Sie unter Hardwareressourcen für Framework-Based Treiber.

Im folgenden Codebeispiel wird die Ressourcenanforderungenliste eines Geräts durchsucht, um den ersten Ressourcendeskriptor zu finden, der eine Interruptressource beschreibt.

NTSTATUS
Example_EvtDeviceFilterRemoveResourceRequirements(
    IN WDFDEVICE Device,
    IN WDFIORESREQLIST RequirementsList
    )
{
    ULONG i, j, reqCount, resCount;
    BOOLEAN descriptorFound = FALSE;

    //
    // Obtain the number of logical configurations.
    //
    reqCount = WdfIoResourceRequirementsListGetCount(RequirementsList);

    //
    // Search each logical configuration.
    //
    for (i = 0; i < reqCount; i++) {
        WDFIORESLIST reslist;

        if (descriptorFound) {
            break;
        }
        reslist = WdfIoResourceRequirementsListGetIoResList(
                                          RequirementsList,
                                          i
                                          );

        //
        // Get the number of resource descriptors that
        // are in this logical configuration.
        //
        resCount = WdfIoResourceListGetCount(reslist);

        for (j = 0; j < resCount; j++) {
            PIO_RESOURCE_DESCRIPTOR descriptor;

            //
            // Get the next resource descriptor.
            //
            descriptor = WdfIoResourceListGetDescriptor(
                               reslist,
                               j
                               );

            //
            // Stop if this descriptor is an interrupt descriptor.
            //
            if (descriptor->Type == CmResourceTypeInterrupt) {
                descriptorFound = TRUE;
                break;
            }
        }
    }
...
}

Anforderungen

Anforderung Wert
Zielplattform Universell
KMDF-Mindestversion 1.0
Kopfzeile wdfresource.h (einschließen von Wdf.h)
Bibliothek Wdf01000.sys (siehe Versionierung der Frameworkbibliothek.)
IRQL <=DISPATCH_LEVEL
DDI-Complianceregeln DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Weitere Informationen

IO_RESOURCE_DESCRIPTOR

WdfIoResourceListGetCount

WdfIoResourceListGetDescriptor

WdfIoResourceRequirementsListGetCount