Freigeben über


PFREE_COMMON_BUFFER Rückruffunktion (wdm.h)

Die FreeCommonBuffer-Routine gibt einen gemeinsamen Puffer frei, der von AllocateCommonBuffer zugewiesen ist, zusammen mit allen Ressourcen, die der Puffer verwendet.

Syntax

PFREE_COMMON_BUFFER PfreeCommonBuffer;

void PfreeCommonBuffer(
  [in] PDMA_ADAPTER DmaAdapter,
  [in] ULONG Length,
  [in] PHYSICAL_ADDRESS LogicalAddress,
  [in] PVOID VirtualAddress,
  [in] BOOLEAN CacheEnabled
)
{...}

Parameter

[in] DmaAdapter

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

[in] Length

Gibt die Anzahl der Zu verarbeitenden Bytes an.

[in] LogicalAddress

Gibt die logische Adresse des zugeordneten Speicherbereichs an.

[in] VirtualAddress

Zeiger auf die entsprechende virtuelle Adresse des zugeordneten Speicherbereichs.

[in] CacheEnabled

Gibt an, ob der zugewiesene Arbeitsspeicher zwischengespeichert wird.

Rückgabewert

Keine

Bemerkungen

FreeCommonBuffer 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.

Um einen gemeinsamen Puffer freizugeben, ruft ein Treiber FreeCommonBuffer auf, um die Zuordnung seiner logischen und virtuellen Adressen aufzuheben. Die an FreeCommonBuffer übergebenen Parameter müssen genau mit denen übereinstimmen, die an AllocateCommonBuffer übergeben und zurückgegeben werden. Ein Treiber kann einen Teil eines zugeordneten gemeinsamen Puffers nicht freigeben.

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 PASSIVE_LEVEL
DDI-Complianceregeln IrqlDispatch(wdm)

Weitere Informationen

AllocateCommonBuffer

DMA_ADAPTER

DMA_OPERATIONS

IoGetDmaAdapter