Which routine should be used?

You are the IT professional who work in an International company named Wiikigo. You are experienced in troubleshooting operating systems and applications that are not working correctly, identifying code defects and so on. You have enough knowledge on windows internals and you provide technical support for the company. For a hardware device, a Windows device driver is developed by you. A simple direct memory access (DMA) controller is used by the hardware device which does not perform virtual address translation. A 64-KB buffer needs to be allocated in Windows. A DMA transfer of 64 KB from the hardware device is accepted by the buffer. Which routine should be used?

You are the IT professional who work in an International company named Wiikigo. You are experienced in troubleshooting operating systems and applications that are not working correctly, identifying code defects and so on. You have enough knowledge on windows internals and you provide technical support for the company. For a hardware device, a Windows device driver is developed by you. A simple direct memory access (DMA) controller is used by the hardware device which does not perform virtual address translation. A 64-KB buffer needs to be allocated in Windows. A DMA transfer of 64 KB from the hardware device is accepted by the buffer. Which routine should be used?

A.
You should use MmAllocateContiguousMemory(65536, 0xFFFFFFFF)

B.
You should use AllocateHeap(655536).

C.
You should use ExAllocatePoolWithTag(PagePool, 65536, abcd)

D.
You should use ExAllocatePoolWithTag(NonPagePool, 65536, abcd)



Leave a Reply 0

Your email address will not be published. Required fields are marked *