Freigeben über


WdfIoResourceRequirementsListInsertIoResList-Funktion (wdfresource.h)

[Gilt nur für KMDF]

Die WdfIoResourceRequirementsListInsertIoResList Methode fügt eine logische Konfiguration in eine Ressourcenanforderungensliste ein.

Syntax

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

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 eine logische Konfiguration von Hardwareressourcen für ein Gerät darstellt.

[in] Index

Ein nullbasierter Wert, der als Index in den Satz logischer Konfigurationen verwendet wird, die sich bereits in der Liste der Ressourcenanforderungen befinden, die RequirementsList- angibt. Um eine Konfiguration am Ende der Liste hinzuzufügen, geben Sie WDF_INSERT_AT_END oder den Rückgabewert aus WdfIoResourceRequirementsListGetCountan.

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 Ressourcenanforderungen-Listenobjekt besitzt nicht das angegebene Ressourcenbereichslistenobjekt.
STATUS_INSUFFICIENT_RESOURCES
Das Framework konnte keinen Speicherplatz zuordnen, um das Ressourcenbereichslistenobjekt zu speichern.
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.

Bemerkungen

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

Verwenden Sie WDF_INSERT_AT_END oder den Rückgabewert von WdfIoResourceRequirementsListGetCount als Index--Wert, um eine logische Konfiguration am Ende einer Ressourcenanforderungsliste hinzuzufügen. Alternativ können Sie die WdfIoResourceRequirementsListAppendIoResList-Methode verwenden.

Weitere Informationen zu Ressourcenanforderungenslisten finden Sie unter Hardwareressourcen für Framework-Based Drivers.

Beispiele

Das folgende Codebeispiel zeigt, wie eine EvtDeviceResourceRequirementsQuery Rückruffunktion zwei leere logische Konfigurationen erstellen und sie einer Ressourcenanforderungenliste 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- 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

WdfIoResourceListCreate

WdfIoResourceRequirementsListAppendIoResList