PFREE_MAP_REGISTERS función de devolución de llamada (wdm.h)
La rutina FreeMapRegisters libera un conjunto de registros de mapa que se guardaron desde una llamada a AllocateAdapterChannel.
Sintaxis
PFREE_MAP_REGISTERS PfreeMapRegisters;
void PfreeMapRegisters(
[in] PDMA_ADAPTER DmaAdapter,
[in] PVOID MapRegisterBase,
[in] ULONG NumberOfMapRegisters
)
{...}
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] MapRegisterBase
Especifica los registros de asignación asignados para la operación DMA. El sistema pasa este valor a la rutina AdapterControl del controlador.
[in] NumberOfMapRegisters
Especifica el número de registros de mapa que se van a liberar. Este valor debe coincidir con el número especificado en una llamada anterior a AllocateAdapterChannel.
Valor devuelto
None
Observaciones
FreeMapRegisters no es una rutina del sistema a la que se puede llamar directamente por 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.
Cuando el controlador de un dispositivo bus-master ha completado la solicitud de transferencia DMA basada en paquetes actual, llama a FreeMapRegisters para liberar los registros de mapa asignados previamente por una llamada a AllocateAdapterChannel y retenido porque su rutina AdapterControl devolvió DeallocateObjectKeepRegisters. El controlador debe llamar a FreeMapRegisters después de llamar a FlushAdapterBuffers.
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 | DISPATCH_LEVEL |
Reglas de cumplimiento de DDI | IrqlDispatch(storport), IrqlDispatch(storport), IrqlDispatch(wdm) |