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) |