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) |