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/ .