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 |
---|---|
|
Ein ungültiger Parameter wurde angegeben. |
|
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. |
|
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) |