PFREE_COMMON_BUFFER función de devolución de llamada (wdm.h)
La rutina FreeCommonBuffer libera un búfer común asignado por AllocateCommonBuffer, junto con todos los recursos que usa el búfer.
Sintaxis
PFREE_COMMON_BUFFER PfreeCommonBuffer;
void PfreeCommonBuffer(
[in] PDMA_ADAPTER DmaAdapter,
[in] ULONG Length,
[in] PHYSICAL_ADDRESS LogicalAddress,
[in] PVOID VirtualAddress,
[in] BOOLEAN CacheEnabled
)
{...}
Parámetros
[in] DmaAdapter
Puntero a la estructura DMA_ADAPTER devuelta por IoGetDmaAdapter que representa el adaptador de bus-master o el controlador DMA.
[in] Length
Especifica el número de bytes que se van a desasignar.
[in] LogicalAddress
Especifica la dirección lógica del intervalo de memoria asignado.
[in] VirtualAddress
Puntero a la dirección virtual correspondiente del intervalo de memoria asignado.
[in] CacheEnabled
Indica si la memoria asignada está almacenada en caché.
Valor devuelto
None
Observaciones
FreeCommonBuffer no es una rutina del sistema a la que se puede llamar directamente por su nombre. Esta rutina solo es invocable por puntero de la dirección devuelta en una estructura de DMA_OPERATIONS . Los controladores obtienen la dirección de esta rutina mediante una llamada a IoGetDmaAdapter.
Para liberar un búfer común, un controlador llama a FreeCommonBuffer para desasignación de sus direcciones lógicas y virtuales. Los parámetros pasados a FreeCommonBuffer deben coincidir exactamente con los pasados y devueltos desde AllocateCommonBuffer. Un controlador no puede liberar parte de un búfer común asignado.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible a partir de Windows 2000. |
Plataforma de destino | Escritorio |
Encabezado | wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h) |
IRQL | PASSIVE_LEVEL |
Reglas de cumplimiento de DDI | IrqlDispatch(wdm) |