Freigeben über


GET_DMA_ADAPTER Rückruffunktion (wdm.h)

Die GetDmaAdapter-Routine gibt eine DMA_ADAPTER-Struktur für das Zielgerät zurück.

Syntax

GET_DMA_ADAPTER GetDmaAdapter;

_DMA_ADAPTER * GetDmaAdapter(
  [in]  PVOID Context,
  [in]  _DEVICE_DESCRIPTION *DeviceDescriptor,
  [out] PULONG NumberOfMapRegisters
)
{...}

Parameter

[in] Context

Ein Zeiger auf schnittstellenspezifische Kontextinformationen. Der Aufrufer übergibt den Wert, der als Kontextelement der BUS_INTERFACE_STANDARD-Struktur für die Schnittstelle übergeben wird.

[in] DeviceDescriptor

Ein Zeiger auf eine DEVICE_DESCRIPTION Struktur, die die Attribute des physischen Geräts beschreibt.

[out] NumberOfMapRegisters

Ein Zeiger auf die maximale Anzahl von Zuordnungsregistern, die der Treiber für jeden DMA-Übertragungsvorgang zuordnen kann. Der Aufrufer muss eine LONG-Variable zuordnen, um diese Daten zu empfangen.

Rückgabewert

Die GetDmaAdapter-Routine gibt bei erfolgreicher Ausführung einen Zeiger auf eine DMA_ADAPTER-Struktur zurück. Wenn eine Adapterstruktur nicht zugeordnet werden kann, gibt die Routine NULL zurück.

Hinweise

Wenn der Treiber unter IRQL = PASSIVE_LEVEL ausgeführt wird, sollte er das DMA-Adapterobjekt eines Geräts durch Aufrufen der IoGetDmaAdapter-Funktion abrufen. IoGetDmaAdapter erkennt, ob der Bustreiber die BUS_INTERFACE_STANDARD-Schnittstelle unterstützt. Wenn dies der Fall ist, ruft IoGetDmaAdapter die Routine auf, auf die der GetDmaAdapter-Member dieser Schnittstelle verweist, um das Adapterobjekt abzurufen. Andernfalls ruft IoGetDmaAdapter eine entsprechende Legacyroutine auf.

Wenn ein Treiber jedoch während der Ausführung am IRQL-≥ DISPATCH_LEVEL ein Adapterobjekt abrufen muss, kann er dies nicht mit der IoGetDmaAdapter-Funktion tun. In diesem Fall muss der Treiber die BUS_INTERFACE_STANDARD-Schnittstelle abfragen, während er noch irQL = PASSIVE_LEVEL ist, indem er eine IRP_MN_QUERY_INTERFACE-Anforderung ausgibt.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows 2000.
Zielplattform Desktop
Kopfzeile wdm.h (include Ntddk.h, Wdm.h)
IRQL PASSIVE_LEVEL

Weitere Informationen

BUS_INTERFACE_STANDARD

DEVICE_DESCRIPTION

DMA_ADAPTER

IoGetDmaAdapter