Función WdfIoResourceRequirementsListGetIoResList (wdfresource.h)
[Solo se aplica a KMDF]
El método WdfIoResourceRequirementsListGetIoResList devuelve un identificador al objeto resource-range-list del marco que representa una configuración lógica especificada en una lista de requisitos de recursos especificada.
Sintaxis
WDFIORESLIST WdfIoResourceRequirementsListGetIoResList(
[in] WDFIORESREQLIST RequirementsList,
[in] ULONG Index
);
Parámetros
[in] RequirementsList
Identificador de un objeto resource-requirements-list de marco que representa la lista de requisitos de recursos de un dispositivo.
[in] Index
Valor de base cero que se usa como índice en la lista de requisitos de recursos que RequirementsList especifica.
Valor devuelto
WdfIoResourceRequirementsListGetIoResList devuelve un identificador al objeto resource-range-list del marco que representa la configuración lógica que identifica el parámetro Index , si el valor del índice es válido. De lo contrario, el método devuelve NULL.
Se produce una comprobación de errores del sistema si el controlador proporciona un identificador de objeto no válido.
Comentarios
Para obtener más información sobre las listas de requisitos de recursos, consulte Recursos de hardware para controladores de Framework-Based.
En el ejemplo de código siguiente se busca la lista de requisitos de recursos de un dispositivo para buscar el primer descriptor de recursos que describe un recurso de interrupción.
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;
}
}
}
...
}
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Versión mínima de KMDF | 1.0 |
Encabezado | wdfresource.h (incluya Wdf.h) |
Library | Wdf01000.sys (consulte Control de versiones de la biblioteca de marcos). |
IRQL | <=DISPATCH_LEVEL |
Reglas de cumplimiento de DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |