Funzione WdfIoResourceListRemoveByDescriptor (wdfresource.h)

[Si applica solo a KMDF]

Il metodo WdfIoResourceListRemoveByDescriptor rimuove un descrittore di risorse dalla configurazione logica di un elenco dei requisiti di risorsa.

Sintassi

void WdfIoResourceListRemoveByDescriptor(
  [in] WDFIORESLIST            ResourceList,
  [in] PIO_RESOURCE_DESCRIPTOR Descriptor
);

Parametri

[in] ResourceList

Handle a un oggetto framework resource-range-list che rappresenta una configurazione logica delle risorse hardware per un dispositivo.

[in] Descriptor

Puntatore a una struttura IO_RESOURCE_DESCRIPTOR che descrive una risorsa hardware.

Valore restituito

nessuno

Osservazioni

Un controllo di bug si verifica se il driver fornisce un handle di oggetti non valido.

Il metodo WdfIoResourceListRemoveByDescriptor rimuove il descrittore di risorse corrispondente al parametro Descriptor . Per trovare una corrispondenza, il metodo confronta il descrittore di risorse specificato con i descrittori di risorse nella configurazione logica, byte per byte.

Quando WdfIoResourceListRemoveByDescriptor rimuove il descrittore di risorse con il valore di indice n, il valore di indice del descrittore di risorsa successivo cambia da n+1 a n.

Per altre informazioni sugli elenchi di requisiti delle risorse e sulle configurazioni logiche, vedere Risorse hardware per i driver di Framework-Based.

Esempio

L'esempio di codice seguente cerca una configurazione logica per un descrittore di risorse contenente un indirizzo di porta specificato e rimuove tale descrittore di risorsa.

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

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Versione KMDF minima 1.0
Intestazione wdfresource.h (includere Wdf.h)
Libreria Wdf01000.sys (vedere Framework Library Versioning).
IRQL <=DISPATCH_LEVEL
Regole di conformità DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Vedi anche

IO_RESOURCE_DESCRIPTOR

WdfIoResourceListRemove