what happens when the following code runs on a 32 bit OS? ordo I have to
change attribute to WdfDmaProfilePacket when I see a 32 bit OS...

WDF_DMA_ENABLER_CONFIG_INIT( &dmaConfig, WdfDmaProfilePacket64,
pDevExt->ui32MaximumTransferLength );

status = WdfDmaEnablerCreate( pDevExt->Device, &dmaConfig,
WDF_NO_OBJECT_ATTRIBUTES, &pDevExt->DmaEnabler );

Re: DMA question by Eliyas

Eliyas
Tue Aug 08 13:25:27 CDT 2006

No, you don't have to. WdfDmaProfilePacket64 is an attribute of your
hardware - not the system. The system knows whether it's running on 32bit or
64bit OS. By using that profile, you are informing the OS that your hardware
can do DMA transfer from memory address upto 64bit wide. If your hardware is
capable of doing DMA transfer only within the 4GB region then you should
WdfDmaProfilePacket.

--
-Eliyas
This posting is provided "AS IS" with no warranties, and confers no rights.
http://www.microsoft.com/whdc/driver/tips/default.mspx



Re: DMA question by Ashok

Ashok
Wed Aug 09 22:02:46 CDT 2006

Just wondering if it is a 64 bit capable PCI Express card plugged into a
Windows XP PC, how the PCI gets translated to PCIe, and if the addressing of
memory is limited because of that.

Ashok

"Eliyas Yakub [MSFT]" <eliyasy@online.microsoft.com> wrote in message
news:%23UyTGgxuGHA.4888@TK2MSFTNGP05.phx.gbl...
> No, you don't have to. WdfDmaProfilePacket64 is an attribute of your
> hardware - not the system. The system knows whether it's running on 32bit
> or 64bit OS. By using that profile, you are informing the OS that your
> hardware can do DMA transfer from memory address upto 64bit wide. If your
> hardware is capable of doing DMA transfer only within the 4GB region then
> you should WdfDmaProfilePacket.
>
> --
> -Eliyas
> This posting is provided "AS IS" with no warranties, and confers no
> rights.
> http://www.microsoft.com/whdc/driver/tips/default.mspx
>
>