porting ISA non-PnP driver from NT to XP WDM model

Discussion in 'Windows Vista Drivers' started by Lee Hamel, Nov 4, 2003.

  1. Lee Hamel

    Lee Hamel Guest

    I have an ISA non-PnP card and the driver code for NT4 for a device
    that my company manufactured. We want to move to XP, so I have taken
    several steps in my attempt to port the code to the WDM PnP model.
    First off, I have the latest Windows DDK, as well as Walter Oney's
    "Programming the Microsoft Windows Driver Model" 2nd Edition book,
    which covers all Windows versions through XP.

    In the BIOS, I set IRQ 10 and DMA 5 to be ISA, since this is what my
    card is jumpered for. I created an INF file with a LogConfig section
    specifying these resources, as well as the IO range 750-75F. I'm
    using WinDbg to debug the code via the serial port so I can see the
    driver's debug output strings. I started with the Toaster sample from
    the DDK, have modified it a bit, and the StartDevice routine does
    indeed request IRQ 10, DMA 5, and IO 750-75F. My problem is calling
    IoConnectInterrupt() in StartDevice after the resource list is
    processed. No matter what I specify for mode, sharing, affinity, etc.
    I always get a return value of C000000D, which is
    STATUS_INVALID_PARAMETER. I tried all permutations and get the same
    result every time.

    Could the problem lie in the INF file? Under the Version section, I
    specified Class=System. Can Class= or ClassGuid= have an adverse
    affect on the driver, or is this just for where the Device Manager
    stores the device branch? I've used Google a lot to find any info on
    ISA non-PnP devices, but haven't had much luck. Does anyone have info
    on what I need to do for my situation?
    Lee Hamel, Nov 4, 2003
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.