Tech Support > Microsoft Windows > Drivers > Question about DDK mirror driver sample: how to tell which ATI driver has the drvenablePDEV function?
Question about DDK mirror driver sample: how to tell which ATI driver has the drvenablePDEV function?
Posted by lucy on August 24th, 2004


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



Posted by lucy on August 24th, 2004



"lucy" <losemind@yahoo.com> wrote in message
news:ON$s76ZiEHA.1376@TK2MSFTNGP11.phx.gbl...

Very strange! There is no DrvEnablePDEV in the ATI drivers? I tried every
means and did not find the DLL that contains the DrvEnablePDEV...



Posted by vipin on August 24th, 2004


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

thanks
vipin

"lucy" <losemind@yahoo.com> wrote in message
news:#7es5kaiEHA.2848@TK2MSFTNGP10.phx.gbl...


Posted by Calvin Guan on August 24th, 2004


Vipin is right.

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

good luck,
Calvin

"vipin" <vipin@nospam.com> wrote in message
news:%230rjaFbiEHA.712@TK2MSFTNGP09.phx.gbl...


Posted by lucy on August 24th, 2004



"Calvin Guan" <calvinguanNOSPAMS@sympatico.ca> wrote in message
news:eTG7zldiEHA.2664@TK2MSFTNGP11.phx.gbl...
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



Posted by Calvin Guan on August 24th, 2004


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\Contr ol\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
"lucy" <losemind@yahoo.com> wrote in message
news:OjMhMZfiEHA.396@TK2MSFTNGP12.phx.gbl...


Posted by lucy on August 24th, 2004



"Calvin Guan" <cguan@pleasenospam.ati.com> wrote in message
news:%23BWhdPgiEHA.3664@TK2MSFTNGP12.phx.gbl...

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!



Posted by Calvin Guan on August 24th, 2004


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
"lucy" <losemind@yahoo.com> wrote in message
news:eTu0jugiEHA.3288@TK2MSFTNGP10.phx.gbl...


Posted by vipin on August 25th, 2004


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.

"Calvin Guan" <cguan@pleasenospam.ati.com> wrote in message
news:OPdTp9giEHA.384@TK2MSFTNGP10.phx.gbl...


Posted by Jonas Wetz on August 17th, 2006


lucy schrieb:
devices. You will have to look up the returned DISPLAY_DEVICE structure
then for a string called "DeviceKey". It contains your specific GUID.

Hope this helps a little!

Regards,

Jonas