Partager via


WdfIoResourceRequirementsListGetIoResList, fonction (wdfresource.h)

[S’applique à KMDF uniquement]

La méthode WdfIoResourceRequirementsListGetIoResList retourne un handle à l’objet resource-range-list du framework qui représente une configuration logique spécifiée dans une liste des exigences de ressources spécifiée.

Syntaxe

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

Paramètres

[in] RequirementsList

Handle d’un objet resource-requirements-list d’infrastructure qui représente la liste des besoins en ressources d’un appareil.

[in] Index

Valeur de base zéro utilisée comme index dans la liste des besoins en ressources spécifiée par RequirementsList .

Valeur retournée

WdfIoResourceRequirementsListGetIoResList retourne un handle à l’objet resource-range-list du framework qui représente la configuration logique que le paramètre Index identifie, si la valeur d’index est valide. Sinon, la méthode retourne NULL.

Un bogue système case activée se produit si le pilote fournit un handle d’objet non valide.

Remarques

Pour plus d’informations sur les listes de ressources requises, consultez Ressources matérielles pour les pilotes Framework-Based.

L’exemple de code suivant recherche la liste des besoins en ressources d’un appareil pour trouver le premier descripteur de ressource qui décrit une ressource d’interruption.

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;
            }
        }
    }
...
}

Configuration requise

Condition requise Valeur
Plateforme cible Universal
Version KMDF minimale 1.0
En-tête wdfresource.h (include Wdf.h)
Bibliothèque Wdf01000.sys (consultez Gestion des versions de la bibliothèque d’infrastructure).)
IRQL <=DISPATCH_LEVEL
Règles de conformité DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Voir aussi

IO_RESOURCE_DESCRIPTOR

WdfIoResourceListGetCount

WdfIoResourceListGetDescriptor

WdfIoResourceRequirementsListGetCount