_DMA_ADAPTER in ntddk.h

Hello Gurus,

I need to use _DMA_ADAPTER from ntddk.h in my driver for DMA operation. The
driver is for NT5 and upward, non WDM. When I do 32 bit compilation I always
get error from compiler having problem referencing DmaOperations from
PADAPTER_OBJECT. After digging through ntddk.h I find that PADAPTER_OBJECT
will only get _DMA_ADAPTER when USE_DMA_MACROS is defined and that gets
defined only for 64 bit compilation. Is not this a bug with ntddk.h? Or am I
missing something?
For your perusal I’m attaching snippet from ntddk.h. One note is that if I
use wdm.h then no complain from compiler but I don’t want to use wdm.h since
I’m not targeting to make the driver WDM.

Thanks,
Hakim

#if defined(_WIN64)

//
// Use __inline DMA macros (hal.h)
//
#ifndef USE_DMA_MACROS
#define USE_DMA_MACROS
#endif

//
// Only PnP drivers!
//
#ifndef NO_LEGACY_DRIVERS
#define NO_LEGACY_DRIVERS
#endif

#endif // _WIN64

#if defined(USE_DMA_MACROS) && (defined(NTDDK) || defined(NTDRIVER) ||
defined(NTOSP))

// begin_wdm
//
// Define object type specific fields of various objects used by the I/O
system
//

typedef struct _DMA_ADAPTER *PADAPTER_OBJECT;

// end_wdm
#else

//
// Define object type specific fields of various objects used by the I/O
system
//

typedef struct _ADAPTER_OBJECT *PADAPTER_OBJECT; // ntndis

#endif // USE_DMA_MACROS && (NTDDK || NTDRIVER || NTOSP)