PFREE_COMMON_BUFFER Rückruffunktion (wdm.h)
Die FreeCommonBuffer Routine gibt einen gemeinsamen Puffer frei, der von AllocateCommonBufferzugeordnet wird, zusammen mit allen Ressourcen, die der Puffer verwendet.
PFREE_COMMON_BUFFER PfreeCommonBuffer;
void PfreeCommonBuffer(
[in] PDMA_ADAPTER DmaAdapter,
[in] ULONG Length,
[in] PHYSICAL_ADDRESS LogicalAddress,
[in] PVOID VirtualAddress,
[in] BOOLEAN CacheEnabled
)
{...}
[in] DmaAdapter
Zeiger auf die DMA_ADAPTER Struktur, die von IoGetDmaAdapter zurückgegeben wird, die den Busmasteradapter oder DMA-Controller darstellt.
[in] Length
Gibt die Anzahl der Bytes an, die verwechselt werden sollen.
[in] LogicalAddress
Gibt die logische Adresse des zugeordneten Speicherbereichs an.
[in] VirtualAddress
Zeigen Sie auf die entsprechende virtuelle Adresse des zugewiesenen Speicherbereichs.
[in] CacheEnabled
Gibt an, ob der zugeordnete Arbeitsspeicher zwischengespeichert wird.
Nichts
FreeCommonBuffer ist keine Systemroutine, die direkt nach Namen aufgerufen werden kann. Diese Routine kann nur durch Zeiger von der in einer DMA_OPERATIONS Struktur zurückgegebenen Adresse aufgerufen werden. Treiber rufen die Adresse dieser Routine ab, indem sie IoGetDmaAdapteraufruft.
Um einen allgemeinen 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 den parametern übereinstimmen, die an AllocateCommonBufferübergeben und zurückgegeben werden. Ein Treiber kann keinen Teil eines zugeordneten gemeinsamen Puffers freigeben.
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Ab Windows 2000 verfügbar. |
Zielplattform- | Desktop |
Header- | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
IRQL- | PASSIVE_LEVEL |
DDI-Complianceregeln | IrqlDispatch(wdm) |