Eric Kohl wrote:
"Filip Navara" xnavara@volny.cz wrote:
No. In fact it was registry handle till NDIS4 and since NDIS5 it's a structure. I have this part partly rewritten in my tree.
Ah, I see!
In fact I forgot to tell that this structure actually contains the pointer to the DeviceObject you were talking about. I'm currently using it just to get access to NDIS_MINIPORT_BLOCK which is located in the DeviceExtension...
Incidentally I have NdisMQueryAdapterResource implemented in my local tree. It gets the resources from the AllocatedResources field in the NDIS_MINIPORT_BLOCK structure which is itself filled in the IRP_MN_START_DEVICE dispatch code. There are two problems with this:
- The PnP resource assigning in kernel isn't implemented yet (only the
untraslated boot configuration is reported to device now, but it might be enough for this case) We need to assign the resources to each device based on the resource requirements (see IRP_MN_QUERY_RESOURCE_REQUIREMENTS, IRP_MN_FILTER_RESOURCE_REQUIREMENTS and _DEVICE_NODE) and then translate them to bus neutral form. (I've written the translation code, but I seriously doubt it's correct.)
Yep! That's where I got stuck because the hardware I have needed more work on other places. Could you commit your experimental code? Maybe it is a usable foundation.
Not yet, maybe in three days or so. I'm currently heavily lifting the NDIS code to get it working the right way again (I messed up few things while moving the stuff to PnP handlers) and in the same time I'm creating "hacks" and fixes on the needed kernel PnP parts.
Btw, I am removing variables like HardwareId from DEVICE_NODE (everything below the '/* Not NT's */' comment) and store it in the registry instead. IoGetDeviceProperty will read them from the registry.
Great! I thought about doing that too :-) I have made some changes to the _DEVICE_NODE structure too, but it shouldn't be hard to sync.
An RTL8193 is enumerated properly on one of my machines but it freezes on the other one.
Ok. So far I had only the report from Gerard who told that it wasn't enumerated. Now I've got access to a computer lab with 10 PCs with RTL8193 so I might give it a try myself...
Regards, Filip