Auto-register d3dxof?

Francois Gouget fgouget at
Sun Sep 25 17:42:13 CDT 2005

On Windows, installing DirectX creates the following registry keys:

@="DirectX File"


  * on Windows d3dxof.dll does not export Dll(Un)RegisterServer()
  * I could not find any other dll that creates this registry key when 
  * if this key is removed, then when reinstalling DirectX complains 
about that but does not recreate it
  * dxdiag notices when this key is deleted

So I don't know how this key is supposed to get created. Maybe it gets 
directly created by the DirectX installer?

Do we have to follow Windows to the letter there? Is it so bad if in 
Wine d3dxof.dll is a self-registering dll? We already have the necessary 
Dll(Un)RegisterServer() functions, and even the required line in 
tools/wine.inf. All that's missing is exporting the functions in 


  * dlls/d3dxof/d3dxof.spec

    Francois Gouget <fgouget at>
    Export the Dll(Un)RegisterServer() functions to make d3dxof.dll a 
self-registering dll.
    This creates the missing CLSID\{4516EC43-8F20-11D0-9B6D-0000C0781BC3} 
registry key.

Francois Gouget         fgouget at
                RFC 2549:
                 IP over Avian Carriers with Quality of Service
-------------- next part --------------
Index: dlls/d3dxof/d3dxof.spec
RCS file: /var/cvs/wine/dlls/d3dxof/d3dxof.spec,v
retrieving revision 1.2
diff -u -p -r1.2 d3dxof.spec
--- dlls/d3dxof/d3dxof.spec	8 Aug 2005 17:35:29 -0000	1.2
+++ dlls/d3dxof/d3dxof.spec	25 Sep 2005 10:43:06 -0000
@@ -1,3 +1,5 @@
 @ stdcall DirectXFileCreate(ptr)
 @ stdcall -private DllCanUnloadNow()
 @ stdcall -private DllGetClassObject(ptr ptr ptr)
+@ stdcall -private DllRegisterServer()
+@ stdcall -private DllUnregisterServer()

More information about the wine-patches mailing list