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