Función WdfIoResourceListRemoveByDescriptor (wdfresource.h)
[Solo se aplica a KMDF]
El método WdfIoResourceListRemoveByDescriptor quita un descriptor de recursos de la configuración lógica de una lista de requisitos de recursos.
Sintaxis
void WdfIoResourceListRemoveByDescriptor(
[in] WDFIORESLIST ResourceList,
[in] PIO_RESOURCE_DESCRIPTOR Descriptor
);
Parámetros
[in] ResourceList
Identificador de un objeto de lista de intervalos de recursos de marco que representa una configuración lógica de recursos de hardware para un dispositivo.
[in] Descriptor
Puntero a una estructura de IO_RESOURCE_DESCRIPTOR que describe un recurso de hardware.
Valor devuelto
None
Observaciones
Se produce una comprobación de errores si el controlador proporciona un identificador de objeto no válido.
El método WdfIoResourceListRemoveByDescriptor quita el descriptor de recursos que coincide con el parámetro Descriptor . Para buscar una coincidencia, el método compara el descriptor de recursos especificado con los descriptores de recursos de la configuración lógica, byte para byte.
Cuando WdfIoResourceListRemoveByDescriptor quita el descriptor de recursos que tiene el valor de índice n, el valor de índice del descriptor de recursos siguiente cambia de n+1 a n.
Para obtener más información sobre las listas de requisitos de recursos y las configuraciones lógicas, consulte Recursos de hardware para controladores de Framework-Based.
Ejemplos
En el ejemplo de código siguiente se busca una configuración lógica para un descriptor de recursos que contiene una dirección de puerto especificada y se quita ese descriptor de recursos.
IO_RESOURCE_DESCRIPTOR descriptor;
ULONG resCount, j;
//
// 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 the port descriptor that
// we're looking for, and remove the descriptor.
//
if (descriptor->Type == CmResourceTypePort) {
if ((descriptor->u.port.MinimumAddress) == PORT_RANGE_A) {
WdfIoResourceListRemoveByDescriptor(
Reslist,
descriptor
);
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) |