Known issues porting an NT PCI driver to W2K?

Hi all,

I’m trying to port an existing, functional NT4 driver for a PCI device to
W2K. I am curious as to any issues anyone had encountered pertaining to
this process. I am aware of the HalAssignSlotResources problem (I am
actually using IoReportResourceUsage, but I tried passing it a DeviceObject
to no avail). Anyway, are there any other caveats?

Thanks a lot for your help.

Dimitry


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

>I’m trying to port an existing, functional NT4 driver for a PCI device to

W2K. I am curious as to any issues anyone had encountered pertaining to
this process. I am aware of the HalAssignSlotResources problem (I am
actually using IoReportResourceUsage, but I tried passing it a DeviceObject
to no avail). Anyway, are there any other caveats?

Assuming we’re talking WDM drivers, and not some driver with a miniport
framework (like NDIS or scsi)…

Other than the way W2K and NT 4 drivers initialize, create device objects,
assign resources, detect devices, and terminate, they are mostly the same.
Last time I tried "porting’ a simple NT 4 driver to W2K it was obvious the
OS interface “stuff” was a LOT larger than the actual code to handle I/O
requests. W2K drivers are supposed to handle things like power IRP’s, which
imply things like you have to be able to suspend processing a queue of I/O
requests, and then pick back up after resources are rebalanced or power is
restored.

For a complex device, you can certainly reuse a bunch of your core I/O
processing code. My current belief is it’s inappropriate to “port” a NT 4
driver to W2K, although you can make a “legacy” driver that will run on W2K.

I’m sure other people have different opinions on this. It’s usually better
to inform project management about problems early, and if the expectation
is a little “porting” work will transform a NT 4 driver into a fully
correct W2K driver I suggest giving them the bad news now. Another question
is how stupid will your device look 18 months from now when measured
against devices with drivers done right.

  • Jan

You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com