Question about DDK mirror driver sample: how to tell which ATI driver has the drvenablePDEV function

Discussion in 'Windows Vista Drivers' started by lucy, Aug 24, 2004.

  1. lucy

    lucy Guest

    Hi all,

    I am trying to add some lines to the MSDDK mirror driver sample in enable.c.

    I want to add the lines that call the original ATI driver's DrvEnablePDEV in
    the mirror driver DrvEnablePDEV function.

    Now for some ATI display driver, I can check the hardware device manager to
    see there is only one ATI "DLL" file, so I can know that I will use
    EngLoadImage in the mirror driver's DrvEnablePDEV function to call the
    original ATI one.

    But when I run it on another PC and try to use

    EngLoadImage("ATIXXX.DLL")

    I found in the hardware device manager there are 10s of ATIXXX.dll files,
    how do I know which one is the correct one to load in order to find the
    original DrvEnablePDEV?

    I have tried dumpbin.exe in VC\BIN\ directory,

    I did the following:

    dumpbin /exports ati*.dll

    But I did see no "DrvEnablePDEV at all.

    What's the problem? Which one of the following files contains the
    DrvEnablePDEV?

    Thanks a lot,

    -Lucy

    -----------------------------------------------

    08/03/2004 09:18 PM 233,472 ati2cqag.dll
    08/03/2004 09:37 PM 208,896 ati2dvag.dll
    08/03/2004 09:35 PM 30,720 ati2edxx.dll
    08/03/2004 09:35 PM 86,016 ati2evxx.dll
    05/25/2004 09:02 PM 870,784 ati3d1ag.dll
    05/25/2004 09:06 PM 1,057,760 ati3d2ag.dll
    08/03/2004 09:34 PM 2,177,184 ati3duag.dll
    08/03/2004 09:34 PM 81,920 ATIDDC.DLL
    08/03/2004 10:12 PM 135,168 ATIDEMGR.dll
    08/03/2004 10:25 PM 294,912 atiiiexx.dll
    08/03/2004 09:55 PM 6,451,200 atioglxx.dll
    08/03/2004 09:35 PM 118,784 atipdlxx.dll
    08/03/2004 09:20 PM 17,408 atitvo32.dll
    11/09/2001 09:01 AM 24,064 ativcoxx.dll
    08/03/2004 09:23 PM 484,128 ativvaxx.dll
     
    lucy, Aug 24, 2004
    #1
    1. Advertisements

  2. lucy

    lucy Guest


    Very strange! There is no DrvEnablePDEV in the ATI drivers? I tried every
    means and did not find the DLL that contains the DrvEnablePDEV...
     
    lucy, Aug 24, 2004
    #2
    1. Advertisements

  3. lucy

    vipin Guest

    DrvEnablePdev isn't the driver dll exported function, function pointer is
    filled in the DRVENABLEDATA parameter
    when DrvEnableDriver is called.

    thanks
    vipin
     
    vipin, Aug 24, 2004
    #3
  4. lucy

    Calvin Guan Guest

    Vipin is right.

    Lucy, the Display driver you are looking for is ati2dvag.dll.

    good luck,
    Calvin
     
    Calvin Guan, Aug 24, 2004
    #4
  5. lucy

    lucy Guest

    Thank you guys so much, Calvin and Vipin...

    Is there any way that I can find this DLL file out by programming, since I
    am now just programming on one PC but it needs to be able to work on various
    of PCs...

    Thank you so much!

    -Lucy
     
    lucy, Aug 24, 2004
    #5
  6. lucy

    Calvin Guan Guest

    The name of the master display driver is specified in miniports INF file and
    stored in miniport driver's class registry key(aka Software Key, or driver
    key).
    You will have to use SetupAPI to get it.

    My system indicates:
    \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{DISPLAY ADAPTER
    CLASS GUID}\0000\Settings\InstalledDisplayDrivers is ati2dvag.dll. D3d along
    with other drivers and DLLs are loaded by the 2D driver at runtime.


    -
    Calvin Guan Software Engineer
    ATI Technologies Inc. www.ati.com
     
    Calvin Guan, Aug 24, 2004
    #6
  7. lucy

    lucy Guest


    Thank you very much Calvin. I followed your idea and looked into the
    registry,

    I don't know what is the {DISPLAY ADAPTER CLASS GUID} of my ATI card, so how
    can I get this GUID?

    Then I did a search on InstalledDisplayDrivers and found a bunch of ATI and
    other strange .DLLs in my system... so there is no unique solution to this
    either. I was hoping that under the situation that I don't know the GUID of
    the users' adaptor card, I can find a unique InstalledDisplayDrivers on
    their systems...

    So now the key is how to get {DISPLAY ADAPTER CLASS GUID} of users'
    currently-using display card?

    Any more thoughts on this? Thank you so much!
     
    lucy, Aug 24, 2004
    #7
  8. lucy

    Calvin Guan Guest

    IIRC, the adapter class GUID is defined by MSFT. It's same for all vendors.
    It should be {4D36E969-E325-11CE-BFC1-08002BE10318}
    You will need to pass this class GUID to SetupDiXxx to enumerate all devices
    under the class.

    Good luck,
    Calvin
    -
    Calvin Guan Software Engineer
    ATI Technologies Inc. www.ati.com
     
    Calvin Guan, Aug 24, 2004
    #8
  9. lucy

    vipin Guest

    lucy is walking a tight rope. Imagine the situation of display driver
    crashing.
    WHQL and stuff like that would start figuring and customers(ofcourse other
    than lucy) would ask for signed drivers,even if it is a filter driver.
     
    vipin, Aug 25, 2004
    #9
    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.