Freigeben über


WdfCmResourceListAppendDescriptor-Funktion (wdfresource.h)

[Gilt nur für KMDF]

Die WdfCmResourceListAppendDescriptor-Methode fügt am Ende einer angegebenen Ressourcenliste einen Ressourcendeskriptor hinzu.

Syntax

NTSTATUS WdfCmResourceListAppendDescriptor(
  [in] WDFCMRESLIST                    List,
  [in] PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor
);

Parameter

[in] List

Ein Handle für ein Framework resource-list-Objekt, das eine Liste der Hardwareressourcen für ein Gerät darstellt.

[in] Descriptor

Ein Zeiger auf eine CM_PARTIAL_RESOURCE_DESCRIPTOR Struktur, die eine Hardwareressource beschreibt.

Rückgabewert

WdfCmResourceListAppendDescriptor 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 wurde angegeben.
STATUS_ACCESS_DENIED
Der Treiber durfte der logischen Konfiguration, die vom List-Parameter angegeben wurde, keine Deskriptoren hinzufügen. Beispielsweise konnte der Treiber die logische Konfiguration nicht ändern, die seine Rückruffunktion EvtDevicePrepareHardware oder EvtDeviceReleaseHardware empfangen hat.
STATUS_INSUFFICIENT_RESOURCES
Das Framework konnte keinen Speicherplatz zum Speichern des Deskriptors zuweisen, den der Descriptor-Parameter angegeben hat.
 

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

Hinweise

Das Framework kopiert den Inhalt der CM_PARTIAL_RESOURCE_DESCRIPTOR-Struktur in den internen Speicher, sodass die Treiberroutine, die WdfCmResourceListAppendDescriptor aufruft, die Struktur lokal zuordnen kann. Nachdem der Treiber WdfCmResourceListAppendDescriptor aufgerufen hat, kann er die CM_PARTIAL_RESOURCE_DESCRIPTOR-Struktur wiederverwenden.

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

Beispiele

Im folgenden Codebeispiel wird am Ende der Ressourcenliste ein Ressourcendeskriptor hinzugefügt, den eine EvtDeviceResourcesQuery-Rückruffunktion empfängt .

NTSTATUS
PdoEvtDeviceResourcesQuery(
    IN WDFDEVICE  Device,
    IN WDFCMRESLIST  Resources
    )
{
    CM_PARTIAL_RESOURCE_DESCRIPTOR newDescriptor;
...
    newDescriptor.Type = CmResourceTypePort;
    newDescriptor.ShareDisposition = CmResourceShareDeviceExclusive;
    newDescriptor.Flags = CM_RESOURCE_PORT_IO|CM_RESOURCE_PORT_16_BIT_DECODE;
    newDescriptor.u.Port.Length = 1;
    newDescriptor.u.Port.Start = 0;

    status = WdfCmResourceListAppendDescriptor(
                                               Resources,
                                               &newDescriptor
                                               );
...

}

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

CM_PARTIAL_RESOURCE_DESCRIPTOR

EvtDevicePrepareHardware

EvtDeviceReleaseHardware

EvtDeviceResourcesQuery

WdfCmResourceListInsertDescriptor