WdfIoResourceRequirementsListInsertIoResList-Funktion (wdfresource.h)

[Gilt nur für KMDF]

Die WdfIoResourceResourceRequirementsListInsertIoResList-Methode fügt eine logische Konfiguration in eine Ressourcenanforderungsliste ein.

Syntax

NTSTATUS WdfIoResourceRequirementsListInsertIoResList(
  [in] WDFIORESREQLIST RequirementsList,
  [in] WDFIORESLIST    IoResList,
  [in] ULONG           Index
);

Parameter

[in] RequirementsList

Ein Handle für ein Framework resource-requirements-list-Objekt, das die Ressourcenanforderungsliste eines Geräts darstellt.

[in] IoResList

Ein Handle für ein Framework resource-range-list-Objekt, das eine logische Konfiguration von Hardwareressourcen für ein Gerät darstellt.

[in] Index

Ein nullbasierter Wert, der als Index für den Satz logischer Konfigurationen verwendet wird, die bereits in der Ressourcenanforderungsliste enthalten sind, die RequirementsList angibt. Um am Ende der Liste eine Konfiguration hinzuzufügen, geben Sie WDF_INSERT_AT_END oder den Rückgabewert aus WdfIoResourceRequirementsListGetCount an.

Rückgabewert

WdfIoResourceRequirementsListInsertIoResList gibt STATUS_SUCCESS zurück, wenn der Vorgang erfolgreich ist. Andernfalls gibt diese Methode möglicherweise einen der folgenden Werte zurück:

Rückgabecode Beschreibung
STATUS_INVALID_PARAMETER
Ein ungültiger Parameter, wie angegeben.
STATUS_INVALID_DEVICE_REQUEST
Das angegebene resource-requirements-list-Objekt besitzt nicht das angegebene resource-range-list-Objekt.
STATUS_INSUFFICIENT_RESOURCES
Das Framework konnte keinen Speicherplatz zum Speichern des resource-range-list-Objekts zuweisen.
STATUS_ARRAY_BOUNDS_EXCEEDED
Der angegebene Wert für den Index-Parameter war zu groß.
 

Eine Systemfehlerüberprüfung tritt auf, wenn der Treiber ein ungültiges Objekthandle bereitstellt.

Hinweise

Die WdfIoResourceRequirementsListInsertIoResList-Methode fügt die logische Konfiguration, die der IoResList-Parameter angibt, in die Ressourcenanforderungsliste ein, die der RequirementsList-Parameter vor der logischen Konfiguration angibt, die der Index-Wert identifiziert.

Um am Ende einer Ressourcenanforderungsliste eine logische Konfiguration hinzuzufügen, verwenden Sie WDF_INSERT_AT_END oder den Rückgabewert aus WdfIoResourceRequirementsListGetCount als Indexwert . Alternativ können Sie die WdfIoResourceRequirementsListAppendIoResList-Methode verwenden.

Weitere Informationen zu Ressourcenanforderungenlisten finden Sie unter Hardwareressourcen für Framework-Based Treiber.

Beispiele

Das folgende Codebeispiel zeigt, wie eine EvtDeviceResourceResourceRequirementsQuery-Rückruffunktion zwei leere logische Konfigurationen erstellen und einer Liste der Ressourcenanforderungen hinzufügen kann.

NTSTATUS
Example_EvtDeviceResourceRequirementsQuery(
    IN WDFDEVICE Device,
    IN WDFIORESREQLIST RequirementsList
    )
{
    NTSTATUS  status;
    WDFIORESLIST  logConfig1;
    WDFIORESLIST  logConfig2;

    status = WdfIoResourceListCreate(
                                     RequirementsList,
                                     WDF_NO_OBJECT_ATTRIBUTES,
                                     &logConfig1
                                     );
    if (!NT_SUCCESS(status)) {
        return status;
    }

    status = WdfIoResourceRequirementsListAppendIoResList(
                                             RequirementsList,
                                             logConfig1
                                             );
    if (!NT_SUCCESS(status)) {
        return status;
    }

    status = WdfIoResourceListCreate(
                                     RequirementsList,
                                     WDF_NO_OBJECT_ATTRIBUTES,
                                     &logConfig2
                                     );
    if (!NT_SUCCESS(status)) {
        return status;
    }
    status = WdfIoResourceRequirementsListInsertIoResList(
                                             RequirementsList,
                                             logConfig2,
                                             WDF_INSERT_AT_END
                                             );
    if (!NT_SUCCESS(status)) {
        return status;
    }
...
}

Anforderungen

Anforderung Wert
Zielplattform Universell
KMDF-Mindestversion 1.0
Kopfzeile wdfresource.h (include Wdf.h)
Bibliothek Wdf01000.sys (siehe Versionsverwaltung der Frameworkbibliothek).)
IRQL <=DISPATCH_LEVEL
DDI-Complianceregeln DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Weitere Informationen

WdfIoResourceListErstellen

WdfIoResourceRequirementsListAppendIoResList