Condividi tramite


Funzione WdfIoResourceRequirementsListGetIoResList (wdfresource.h)

[Si applica solo a KMDF]

Il metodo WdfIoResourceRequirementsListGetIoResList restituisce un handle all'oggetto framework resource-range-list che rappresenta una configurazione logica specificata in un elenco di requisiti delle risorse specificato.

Sintassi

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

Parametri

[in] RequirementsList

Handle per un oggetto framework resource-requirements-list che rappresenta l'elenco dei requisiti delle risorse di un dispositivo.

[in] Index

Valore in base zero usato come indice nell'elenco dei requisiti delle risorse specificato da RequirementsList .

Valore restituito

WdfIoResourceRequirementsListGetIoResList restituisce un handle all'oggetto framework resource-range-list che rappresenta la configurazione logica identificata dal parametro Index , se il valore di indice è valido. In caso contrario, il metodo restituisce NULL.

Un controllo dei bug di sistema si verifica se il driver fornisce un handle di oggetto non valido.

Commenti

Per altre informazioni sugli elenchi dei requisiti delle risorse, vedere Risorse hardware per i driver Framework-Based.

Nell'esempio di codice seguente viene eseguita una ricerca nell'elenco dei requisiti delle risorse di un dispositivo per trovare il primo descrittore di risorsa che descrive una risorsa di interruzione.

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

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Versione KMDF minima 1.0
Intestazione wdfresource.h (include Wdf.h)
Libreria Wdf01000.sys (vedere Controllo delle versioni della libreria framework).
IRQL <=DISPATCH_LEVEL
Regole di conformità DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Vedi anche

IO_RESOURCE_DESCRIPTOR

WdfIoResourceListGetCount

WdfIoResourceListGetDescriptor

WdfIoResourceRequirementsListGetCount