PFREE_COMMON_BUFFER funzione di callback (wdm.h)
La routine FreeCommonBuffer libera un buffer comune allocato da AllocateCommonBuffer, insieme a tutte le risorse usate dal buffer.
Sintassi
PFREE_COMMON_BUFFER PfreeCommonBuffer;
void PfreeCommonBuffer(
[in] PDMA_ADAPTER DmaAdapter,
[in] ULONG Length,
[in] PHYSICAL_ADDRESS LogicalAddress,
[in] PVOID VirtualAddress,
[in] BOOLEAN CacheEnabled
)
{...}
Parametri
[in] DmaAdapter
Puntatore alla struttura DMA_ADAPTER restituita da IoGetDmaAdapter che rappresenta l'adattatore master del bus o il controller DMA.
[in] Length
Specifica il numero di byte da deallocare.
[in] LogicalAddress
Specifica l'indirizzo logico dell'intervallo di memoria allocato.
[in] VirtualAddress
Puntatore all'indirizzo virtuale corrispondente dell'intervallo di memoria allocato.
[in] CacheEnabled
Indica se la memoria allocata viene memorizzata nella cache.
Valore restituito
nessuno
Osservazioni
FreeCommonBuffer non è una routine di sistema che può essere chiamata direttamente per nome. Questa routine è chiamabile solo per puntatore dall'indirizzo restituito in una struttura di DMA_OPERATIONS . I driver ottengono l'indirizzo di questa routine chiamando IoGetDmaAdapter.
Per rilasciare un buffer comune, un driver chiama FreeCommonBuffer per annullare il mapping dei relativi indirizzi logici e virtuali. I parametri passati a FreeCommonBuffer devono corrispondere esattamente a quelli passati e restituiti da AllocateCommonBuffer. Un driver non può liberare parte di un buffer comune allocato.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile a partire da Windows 2000. |
Piattaforma di destinazione | Desktop |
Intestazione | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
IRQL | PASSIVE_LEVEL |
Regole di conformità DDI | IrqlDispatch(wdm) |