PFREE_ADAPTER_CHANNEL Rückruffunktion (wdm.h)

Die FreeAdapterChannel-Routine gibt den DMA-Controller des Systems frei, wenn ein Treiber alle DMA-Vorgänge abgeschlossen hat, die zum Erfüllen des aktuellen IRP erforderlich sind.

Syntax

PFREE_ADAPTER_CHANNEL PfreeAdapterChannel;

void PfreeAdapterChannel(
  [in] PDMA_ADAPTER DmaAdapter
)
{...}

Parameter

[in] DmaAdapter

Zeiger auf die DMA_ADAPTER-Struktur, die von IoGetDmaAdapter zurückgegeben wird und den Bus-master-Adapter oder DMA-Controller darstellt.

Rückgabewert

Keine

Bemerkungen

FreeAdapterChannel ist keine Systemroutine, die direkt nach Namen aufgerufen werden kann. Diese Routine kann nur durch den 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.

Nachdem ein Treiber alle Daten übertragen und FlushAdapterBuffers aufgerufen hat, ruft er FreeAdapterChannel auf, um den DMA-Systemcontroller freizugeben, der zuvor mit einem Aufruf von AllocateAdapterChannel zugeordnet wurde.

FreeAdapterChannel gibt alle Kartenregister frei, die durch einen früheren Aufruf von AllocateAdapterChannel zugeordnet wurden. Ein Treiber ruft diese Routine nur auf, wenn seine AdapterControl-RoutineKeepObject zurückgibt.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows 2000.
Zielplattform Desktop
Header wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h)
IRQL DISPATCH_LEVEL
DDI-Complianceregeln IrqlDispatch(storport), IrqlDispatch(storport), IrqlDispatch(wdm)

Weitere Informationen

AllocateAdapterChannel

DMA_ADAPTER

DMA_OPERATIONS

FlushAdapterBuffers

FreeMapRegisters

IoGetDmaAdapter

MapTransfer