Freigeben über


WdfIoResourceListRemoveByDescriptor-Funktion (wdfresource.h)

[Gilt nur für KMDF]

Die WdfIoResourceListRemoveByDescriptor Methode entfernt einen Ressourcendeskriptor aus der logischen Konfiguration einer Ressourcenanforderungsliste.

Syntax

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

Parameter

[in] ResourceList

Ein Handle zu einem Framework-Ressourcenbereichslistenobjekt, das eine logische Konfiguration von Hardwareressourcen für ein Gerät darstellt.

[in] Descriptor

Ein Zeiger auf eine IO_RESOURCE_DESCRIPTOR Struktur, die eine Hardwareressource beschreibt.

Rückgabewert

Nichts

Bemerkungen

Wenn der Treiber ein ungültiges Objekthandle bereitstellt, tritt eine Fehlerüberprüfung auf.

Die WdfIoResourceListRemoveByDescriptor- Methode entfernt den Ressourcendeskriptor, der dem Descriptor Parameter entspricht. Um eine Übereinstimmung zu finden, vergleicht die Methode den angegebenen Ressourcendeskriptor mit den Ressourcendeskriptoren in der logischen Konfiguration, Byte für Byte.

Wenn WdfIoResourceListRemoveByDescriptor den Ressourcendeskriptor entfernt, der den Indexwert naufweist, ändert sich der Indexwert des nächsten Ressourcendeskriptors von n+1 zu n.

Weitere Informationen zu Ressourcenanforderungenlisten und logischen Konfigurationen finden Sie unter Hardwareressourcen für Framework-Based Drivers.

Beispiele

Im folgenden Codebeispiel wird eine logische Konfiguration für einen Ressourcendeskriptor durchsucht, der eine angegebene Portadresse enthält, und dieser Ressourcendeskriptor wird entfernt.

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

Anforderungen

Anforderung Wert
Zielplattform- Universal
Minimale KMDF-Version 1.0
Header- wdfresource.h (include Wdf.h)
Library Wdf01000.sys (siehe Framework-Bibliotheksversionsverwaltung.)
IRQL- <=DISPATCH_LEVEL
DDI-Complianceregeln DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Siehe auch

IO_RESOURCE_DESCRIPTOR

WdfIoResourceListRemove-