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

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-Systemkanal des Treibers darstellt. Der Aufrufer hat diesen Zeiger aus einem vorherigen Aufruf der IoGetDmaAdapter-Routine abgerufen.

[in] FunctionNumber

Die Anzahl der auszuwählenden benutzerdefinierten Funktion. Weitere Informationen finden Sie im Abschnitt mit Hinweisen.

[in] Context

Ein Zeiger auf die Konfigurationsparameter für die benutzerdefinierte Funktion, die durch FunctionNumber angegeben 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 über die Bedeutung dieser Konfigurationsparameter einig sein. Die Daten, auf die Context verweist, sind für das Betriebssystem undurchsichtig.

Rückgabewert

ConfigureAdapterChannel gibt STATUS_SUCCESS zurück, wenn der Aufruf erfolgreich ist. Mögliche Fehlerrückgabewerte umfassen den folgenden status Code.

Rückgabewert BESCHREIBUNG
STATUS_NOT_IMPLEMENTED
Die DMA-Erweiterung implementiert die durch FunctionNumber angegebene Funktion nicht.

Hinweise

ConfigureAdapterChannel ist keine Systemroutine, die direkt mit dem Namen aufgerufen werden kann. Diese Routine kann nur durch zeiger von der Adresse aufgerufen werden, die in einer DMA_OPERATIONS-Struktur zurückgegeben wird.Treiber erhalten die Adresse dieser Routine, indem Sie IoGetDmaAdapter aufrufen, wobei das Versionselement des DeviceDescription-Parameters 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 Bus-master-Adapter.

Ein bestimmter System-DMA-Controller kann über spezielle Hardwarefeatures verfügen, auf die Gerätetreiber über eine Reihe von benutzerdefinierten Funktionen zugreifen können. Ein Controller kann mehr als eine benutzerdefinierte Funktion 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 nachfolgende DMA-Übertragungen zu konfigurieren.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows 8.
Zielplattform Desktop
Header wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h)
IRQL <= DISPATCH_LEVEL

Weitere Informationen

DMA_ADAPTER

DMA_OPERATIONS

IoGetDmaAdapter