Sign in to follow this  

another proxy d3d9.dll question (changes dx9.0 vs. dx9.0b/9.0c)

Recommended Posts

Hi, I am working on small proxy dll of d3d9.dll and use basic code from as a basis. The new dll is supposed to grab screenshots every 40 frames. DirectX 9.0 example works fine with 9.0a applications however 9.0b and 9.0c games dont. For example Halo Combat Evolved pops error window with error message: Sorry you need to have Directx 9.0b installed to run this game. Without my proxy dll it works fine. Farcry also capitulates. I think that d3d9.dll architechture changed since the author wrote the examples and this is why it doesnt work - however i dont know what to start with. I checked IDirect3d9 and IDirect3dDevice9 classes but they did not change. I have read also found this information: " The d3d9.dll supplied with WinXP SP2 (version 5.3.2600.2180) has an extra export called "CheckFullscreen" which gets called after "Direct3DCreate9" by some other DirectX code. The proxy d3d9.dll, doesn't have this export and thus, it claims that DirectX 9.0 is not installed. " but i dont know how to repair the code.

Share this post

Link to post
Share on other sites
Run the real d3d9.dll through depends.exe. That'll tell you what functions it exports, and therefore what functions you need to export from your proxy DLL.

My d3d9.dll exports:

Although I doubt you need to implement all of those. Another thing Halo might do is query the DLL for its version information block. There used to be a sample in the SDK that would check what DX version you have installed (with source code), but I don't know if it still exists, or if it checked the version info block and stuff...

Share this post

Link to post
Share on other sites
Thank you.
I implemented all of them. Another question is how to set description information of dll file to my project? I tried putting them into .def file, however I got error:
warning LNK4017: DESCRIPTION statement not supported for the target platform; ignored
Do you know how to do it using Microsoft Visual Studio?

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this