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) |