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 Context Member 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 Ausgabe, die maximale Anzahl von Kartenregistern, die der Treiber für jeden DMA-Übertragungsvorgang zuordnen kann. Der Aufrufer muss eine LONG Variable zuweisen, 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 keine Adapterstruktur zugeordnet werden kann, gibt die Routine NULL-zurück.

Bemerkungen

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

Wenn ein Treiber jedoch ein Adapterobjekt abrufen muss, während er bei IRQL-≥ DISPATCH_LEVEL ausgeführt wird, kann er dies nicht mit der IoGetDmaAdapter--Funktion tun. In diesem Fall muss der Treiber die BUS_INTERFACE_STANDARD Schnittstelle abfragen, während er sich noch bei IRQL = PASSIVE_LEVEL befindet, indem er eine IRP_MN_QUERY_INTERFACE Anforderung ausgibt.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Ab Windows 2000 verfügbar.
Zielplattform- Desktop
Header- wdm.h (include Ntddk.h, Wdm.h)
IRQL- PASSIVE_LEVEL

Siehe auch

BUS_INTERFACE_STANDARD

DEVICE_DESCRIPTION

DMA_ADAPTER

IoGetDmaAdapter-