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)

Consulte también

IO_RESOURCE_DESCRIPTOR

WdfIoResourceListRemove