Auf Englisch lesen

Freigeben über


PCONFIGURE_ADAPTER_CHANNEL Rückruffunktion (wdm.h)

Die ConfigureAdapterChannel Routine ruft eine benutzerdefinierte Funktion auf, die vom DMA-Controller implementiert wird, der durch ein Adapterobjekt dargestellt wird.

Syntax

C++
PCONFIGURE_ADAPTER_CHANNEL PconfigureAdapterChannel;

NTSTATUS PconfigureAdapterChannel(
  [in] PDMA_ADAPTER DmaAdapter,
  [in] ULONG FunctionNumber,
  [in] PVOID Context
)
{...}

Parameter

[in] DmaAdapter

Ein Zeiger auf eine DMA_ADAPTER Struktur. Diese Struktur ist das Adapterobjekt, das den DMA-Kanal des Treibers darstellt. Der Aufrufer hat diesen Zeiger aus einem vorherigen Aufruf an die IoGetDmaAdapter Routine abgerufen.

[in] FunctionNumber

Die Nummer der auszuwählenden benutzerdefinierten Funktion. Weitere Informationen finden Sie im Abschnitt "Hinweise".

[in] Context

Ein Zeiger auf die Konfigurationsparameter für die benutzerdefinierte Funktion, die durch FunctionNumberangegeben wird. Die Funktion wird vom DMA-Controller implementiert und kann über das Adapterobjekt von einem Gerätetreiber aufgerufen werden. Der DMA-Controller und der Gerätetreiber müssen sich auf die Bedeutung dieser Konfigurationsparameter einigen. Die Daten, auf die Context verweist, sind nicht transparent auf das Betriebssystem.

Rückgabewert

ConfigureAdapterChannel gibt STATUS_SUCCESS zurück, wenn der Aufruf erfolgreich ist. Mögliche Fehlerrücklaufwerte sind der folgende Statuscode.

Rückgabewert Beschreibung
STATUS_NOT_IMPLEMENTED
Die DMA-Erweiterung implementiert die durch FunctionNumberangegebene Funktion nicht.

Bemerkungen

ConfigureAdapterChannel ist keine Systemroutine, die direkt anhand des Namens aufgerufen werden kann. Diese Routine kann nur durch Zeiger von der in einer DMA_OPERATIONS Struktur zurückgegebenen Adresse aufgerufen werden. Treiber rufen die Adresse dieser Routine ab, indem sie IoGetDmaAdapter- mit dem Version Member des DeviceDescription-Parameters aufrufen, der auf DEVICE_DESCRIPTION_VERSION3 festgelegt ist. Wenn IoGetDmaAdapterNULL-zurückgibt, ist die Routine auf Ihrer Plattform nicht verfügbar.

Verwenden Sie ConfigureAdapterChannel- nur für System-DMA-Adapter. Verwenden Sie diese Routine nicht für einen Busmasteradapter.

Ein bestimmter System-DMA-Controller verfügt möglicherweise über spezielle Hardwarefeatures, auf die Gerätetreiber über eine Reihe von benutzerdefinierten Funktionen zugreifen können. Ein Controller kann mehrere benutzerdefinierte Funktionen implementieren, in diesem Fall wird jede Funktion durch eine andere Funktionsnummer identifiziert. Diese Funktionen abstrahieren die DMA-Hardwarefeatures, sodass dieselben Funktionen auf verschiedenen Hardwareplattformen unterstützt werden können.

In der Regel legt eine benutzerdefinierte Funktion Zustandsinformationen im DMA-Controller fest, um Hardwarefeatures für die Verwendung in nachfolgenden DMA-Übertragungen zu konfigurieren.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar ab Windows 8.
Zielplattform- Desktop
Header- wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
IRQL- <= DISPATCH_LEVEL

Siehe auch

DMA_ADAPTER

DMA_OPERATIONS

IoGetDmaAdapter-