WdfIoResourceRequirementsListGetIoResList-Funktion (wdfresource.h)
[Gilt nur für KMDF]
Die WdfIoResourceResourceRequirementsListGetIoResList-Methode gibt ein Handle an das Framework resource-range-list-Objekt zurück, das eine angegebene logische Konfiguration in einer angegebenen Ressourcenbedarfsliste darstellt.
Syntax
WDFIORESLIST WdfIoResourceRequirementsListGetIoResList(
[in] WDFIORESREQLIST RequirementsList,
[in] ULONG Index
);
Parameter
[in] RequirementsList
Ein Handle für ein Framework resource-requirements-list-Objekt, das die Ressourcenbedarfsliste eines Geräts darstellt.
[in] Index
Ein nullbasierter Wert, der als Index in der Ressourcenanforderungenliste verwendet wird, die RequirementsList angibt.
Rückgabewert
WdfIoResourceRequirementsListGetIoResList gibt ein Handle an das Framework resource-range-list-Objekt zurück, das die vom Index-Parameter identifizierte logische Konfiguration darstellt, wenn der Indexwert gültig ist. Andernfalls gibt die Methode NULL zurück.
Eine Systemfehlerprüfung tritt auf, wenn der Treiber ein ungültiges Objekthandle bereitstellt.
Hinweise
Weitere Informationen zu Ressourcenanforderungenlisten finden Sie unter Hardwareressourcen für Framework-Based Treiber.
Im folgenden Codebeispiel wird die Ressourcenanforderungenliste eines Geräts durchsucht, um den ersten Ressourcendeskriptor zu finden, der eine Interruptressource beschreibt.
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 an interrupt descriptor.
//
if (descriptor->Type == CmResourceTypeInterrupt) {
descriptorFound = TRUE;
break;
}
}
}
...
}
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
KMDF-Mindestversion | 1.0 |
Kopfzeile | wdfresource.h (einschließen von Wdf.h) |
Bibliothek | Wdf01000.sys (siehe Versionierung der Frameworkbibliothek.) |
IRQL | <=DISPATCH_LEVEL |
DDI-Complianceregeln | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |