Windows 7 Driver doesn't get system code (IOCTL)

Discussion in 'Programming and Scripting' started by smithana, Jun 24, 2011.

  1. smithana

    smithana New Member

    Joined:
    Jun 24, 2011
    Messages:
    4
    Likes Received:
    0
    Hi,
    I'm newbie, so it's maybe stupid question)

    So, I've got raid controller, wdf driver and application. It worked on Windows XP and Server 2003.
    On Windows 7 it doesn't work(.
    System function (like ::DeviceIoControl) began to return FALSE.
    I think that this function work with DIRECT I/O. The last version is 4.4, it doesn't work with Vista, so 7 I think too, am I right? If yes, then tell me please how can I send system code to driver?

    p.s.
    Also I got the mistake code by ::GetLastError().


    if(dw = GetLastError()){ printf("%d -857\n", dw); getch();


    So I can see in Console Application 317-857.
    Can it be ERROR_MR_MID_NOT_FOUND? Is it because of Windows 7, too?
    Thanks)
     
  2. smithana

    smithana New Member

    Joined:
    Jun 24, 2011
    Messages:
    4
    Likes Received:
    0
    Realized that I was on the wrong way of solution the problem.
    It's not because of Direct I/O.

    In application I've got line, that shows me info about raid controller.
    It's raid's number, pci slot, firmware and so on. It shows me right only first - raid's number. Everything else it shows wrong, like - ? or unknown.

    So I think that the first time I call OpenDevice() to read raid's number, OS allows me to open device. Then I call CloseDevice().
    Every time else when I try to open device to read something, OS doesn't allow access to me.
    Can you explain me why, and how make OS allow access for many times?

    Thnx
     

Share This Page

Loading...