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 zu einem Framework-Ressourcenlistenobjekt, 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 |
---|---|
|
Es wurde ein ungültiger Parameter angegeben. |
|
Der Treiber konnte der logischen Konfiguration, die der angegebene parameter List angegeben hat, keine Deskriptoren hinzufügen. Beispielsweise konnte der Treiber die logische Konfiguration nicht ändern, die seine EvtDevicePrepareHardware oder EvtDeviceReleaseHardware empfangene Rückruffunktion erhalten hat. |
|
Das Framework konnte keinen Speicherplatz zuordnen, um den Deskriptor zu speichern, den der Deskriptor Parameter angegeben hat. |
Eine Systemfehlerüberprüfung tritt auf, wenn der Treiber ein ungültiges Objekthandle bereitstellt.
Bemerkungen
Das Framework kopiert den Inhalt der CM_PARTIAL_RESOURCE_DESCRIPTOR Struktur in den internen Speicher, sodass die Treiberroutine, die WdfCmResourceListAppendDescriptor aufruft, 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 Drivers.
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- | 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) |