WdfDmaEnablerConfigureSystemProfile-Funktion (wdfdmaenabler.h)
[Gilt nur für KMDF]
Die WdfDmaEnablerConfigureSystemProfile-Methode konfiguriert die hardwarespezifischen Einstellungen für eine DMA-Aktivierung im Systemmodus und schließt die Ressourceninitialisierung ab.
Syntax
NTSTATUS WdfDmaEnablerConfigureSystemProfile(
[in] WDFDMAENABLER DmaEnabler,
[in] PWDF_DMA_SYSTEM_PROFILE_CONFIG ProfileConfig,
[in] WDF_DMA_DIRECTION ConfigDirection
);
Parameter
[in] DmaEnabler
Ein Handle für ein DMA-Enabler-Objekt.
[in] ProfileConfig
Ein Zeiger auf eine WDF_DMA_SYSTEM_PROFILE_CONFIG-Struktur . Treiber müssen diese Struktur initialisieren, indem sie WDF_DMA_SYSTEM_PROFILE_CONFIG_INIT aufrufen.
[in] ConfigDirection
Ein WDF_DMA_DIRECTION typisierter Wert, der die Richtung des DMA-Übertragungsvorgangs angibt. Wenn der WDF_DMA_PROFILE Wert für diesen Enabler nicht WdfDmaProfileSystemDuplex ist, ignoriert das Framework diesen Parameter.
Rückgabewert
WdfDmaEnablerConfigureSystemProfile gibt STATUS_SUCCESS zurück, wenn der Vorgang erfolgreich ist. Andernfalls gibt die -Methode möglicherweise einen der folgenden Werte zurück.
Rückgabecode | Beschreibung |
---|---|
|
Der Treiber hat eine DMA-Konfiguration angefordert, die vom aktuellen Betriebssystem nicht unterstützt wird. |
|
Der Treiber hat null im Parameter ProfileConfig angegeben. |
|
Der Size-Member der Struktur, auf die vom Parameter ProfileConfig verwiesen wird, ist nicht gleich der Größe der WDF_DMA_SYSTEM_PROFILE_CONFIG-Struktur . |
|
Der DmaDescriptor-Member der Struktur, auf die der ProfileConfig-Parameter verweist, ist NULL, oder der ConfigDirection-Parameter enthält einen ungültigen Wert. |
Hinweise
Vor dem Aufrufen von WdfDmaEnablerConfigureSystemProfile muss der Treiber WdfDmaEnablerCreate aufrufen, um das Enabler-Objekt zu erstellen.
Ein Treiber ruft in der Regel WdfDmaEnablerConfigureSystemProfile über seine EvtDevicePrepareHardware-Rückruffunktion auf.
Wenn Ihr Treiber beim Aufrufen von WdfDmaEnablerCreate ein Duplexprofil angegeben hat, muss der Wert des ConfigDirection-Parameters der WdfDmaEnablerConfigureSystemProfile-MethodeWdfDmaDirectionReadFromDevice lauten, um die DMA_ADAPTER-Struktur für Lesevorgänge abzurufen, und WdfDmaDirectionWriteToDevice, um die DMA_ADAPTER-Struktur für Schreibvorgänge abzurufen.
Wenn der DMA-Enabler ein Duplex-Enabler ist, muss der Treiber eine bestimmte Richtung initialisieren, bevor er sie verwenden kann.
Wenn Ihr Treiber kein Duplexprofil angegeben hat, kann der Treiber entweder WdfDmaDirectionReadFromDevice oder WdfDmaDirectionWriteToDevice angeben.
Beispiele
Das folgende Codebeispiel stammt aus der EvtDevicePrepareHardware-Rückruffunktion eines Treibers. In diesem Beispiel wird eine WDF_DMA_SYSTEM_PROFILE_CONFIG-Struktur initialisiert und WdfDmaEnablerConfigureSystemProfile aufgerufen.
WDF_DMA_SYSTEM_PROFILE_CONFIG systemDmaConfig;
PHYSICAL_ADDRESS pa;
pa.QuadPart = 0;
WDF_DMA_SYSTEM_PROFILE_CONFIG_INIT(&systemDmaConfig,
pa,
Width8Bits,
partial);
systemDmaConfig.DemandMode = true;
ntStatus = WdfDmaEnablerConfigureSystemProfile(fdoExtension->DmaEnabler,
&systemDmaConfig,
WdfDmaDirectionReadFromDevice);
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 8 |
Zielplattform | Universell |
KMDF-Mindestversion | 1.11 |
Kopfzeile | wdfdmaenabler.h (einschließen von Wdf.h) |
Bibliothek | Wdf01000.sys (siehe Versionsverwaltung der Frameworkbibliothek).) |
IRQL | PASSIVE_LEVEL |
DDI-Complianceregeln | DriverCreate(kmdf) |