Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[Gilt nur für KMDF]
Die WdfIoResourceRequirementsListRemoveByIoResList-methode entfernt eine logische Konfiguration aus einer Ressourcenanforderungsliste.
Syntax
VOID WdfIoResourceRequirementsListRemoveByIoResList(
[in] WDFIORESREQLIST RequirementsList,
[in] WDFIORESLIST IoResList
);
Parameter
[in] RequirementsList
Ein Handle für ein Framework-Ressourcenanforderungen-Listenobjekt, das die Ressourcenanforderungensliste eines Geräts darstellt.
[in] IoResList
Ein Handle zu einem Framework-Ressourcenbereichslistenobjekt, das die logische Konfiguration darstellt, die aus der Liste der Ressourcenanforderungen entfernt werden soll, die RequirementsList- angibt.
Rückgabewert
Nichts
Bemerkungen
Wenn der Treiber ein ungültiges Objekthandle bereitstellt, tritt eine Fehlerüberprüfung auf.
Die WdfIoResourceRequirementsListRemoveByIoResList Methode entfernt die logische Konfiguration, die dem Handle zugeordnet ist, den der IoResList--Parameter angibt.
Wenn WdfIoResourceRequirementsListRemoveByIoResList die logische Konfiguration entfernt, die den Indexwert naufweist, ändert sich der Indexwert der nächsten logischen Konfiguration von n+1 zu n.
Weitere Informationen zu Ressourcenanforderungenslisten finden Sie unter Hardwareressourcen für Framework-Based Drivers.
Beispiele
Im folgenden Codebeispiel werden die logischen Konfigurationen in der Ressourcenanforderungensliste eines Geräts durchsucht, um eine Konfiguration zu suchen, die eine bestimmte Portadresse enthält. Wenn das Beispiel diese Konfiguration findet, wird die Konfiguration entfernt.
NTSTATUS
Example_EvtDeviceFilterRemoveResourceRequirements(
IN WDFDEVICE Device,
IN WDFIORESREQLIST RequirementsList
)
{
ULONG i, j, reqCount, resCount;
BOOLEAN descriptorFound = FALSE;
//
// Obtain the number of logical configurations.
//
reqCount = WdfIoResourceRequirementsListGetCount(RequirementsList);
//
// Search each logical configuration.
//
for (i = 0; i < reqCount; i++) {
WDFIORESLIST reslist;
if (descriptorFound) {
break;
}
reslist = WdfIoResourceRequirementsListGetIoResList(RequirementsList, i);
//
// 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.
//
if (descriptor->Type == CmResourceTypePort) {
if ((descriptor->u.Port.MinimumAddress) == PORT_RANGE_A) {
WdfIoResourceRequirementsListRemoveByIoResList(
RequirementsList,
reslist
);
descriptorFound = TRUE;
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
WdfIoResourceListGetDescriptor-
WdfIoResourceRequirementsListGetCount