NdisMInitializeScatterGatherDma problem under AMD64 Win2k3

Hi,

I’m developing an NDIS miniport driver with a virtual NIC in it’s upper
layer.

The driver uses a private lower level interface to initiate bus mastering
requests to a proprietary communication card.

The driver works fine under Windows 2k and Windows 2k3 32 bit.

But under Win2k3 AMD64 (evaluation build code 3790) the function
NdisMInitializeScatterGatherDma returns NDIS_STATUS_RESOURCES.

I’ve tried to pass both TRUE and FALSE to the Dma64BitAddresses, and
MaximumPhysicalMapping is small (2000 bytes).

Now for the strange part:

The original installation inf file looks like:

?.
[Models]
%*IBMP.devicedesc%=*ibmp.ndi, *NMIBMP

[*ibmp.ndi.NT]
Characteristics = 0x81
?

If I change the inf file and install my driver as a driver of other
existing PCI card (e.g.: Intel Ethernet card) by doing this:

?
[Models]
%*IBMP.devicedesc%=*ibmp.ndi, PCI\VEN_8086&DEV_1229

[*ibmp.ndi.NT]
Characteristics = 0x84
BusType = 5
?

And change NOTHING in my driver code, the function
NdisMInitializeScatterGatherDma returns NDIS_STATUS_SUCCESS.

It’s look like a bug in Windows. Can anyone confirm / suggest a workaround ?

I didn’t check and I don’t want to fall back to the
NdisMAllocateMapRegisters option.

Thanks,
Guy


mail2web - Check your email from the web at
http://mail2web.com/ .