Storage Requirements for AdapterControl Routines
If it has an AdapterControl routine, a driver must provide resident storage for the following:
Context information to be used in its DMA operations
An adapter object pointer returned by IoGetDmaAdapter
A ULONG-type variable to hold the system-determined maximum NumberOfMapRegisters available for any given DMA transfer request
The driver can provide the necessary storage in a device extension, in a controller extension, or in nonpaged pool allocated by the driver.