Stefan Dösinger : d3d9: Document a Microsoft header bug.

Alexandre Julliard julliard at winehq.org
Fri Nov 28 07:16:39 CST 2008


Module: wine
Branch: master
Commit: a1c460f8ae5080e03ed2ab16fd7e5b21d9850c38
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=a1c460f8ae5080e03ed2ab16fd7e5b21d9850c38

Author: Stefan Dösinger <stefan at codeweavers.com>
Date:   Fri Nov 21 17:41:27 2008 +0100

d3d9: Document a Microsoft header bug.

---

 include/d3d9.h |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/include/d3d9.h b/include/d3d9.h
index 11f1cd3..dfd2acc 100644
--- a/include/d3d9.h
+++ b/include/d3d9.h
@@ -241,7 +241,15 @@ DECLARE_INTERFACE_(IDirect3D9Ex,IDirect3D9)
     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
     STDMETHOD_(ULONG,Release)(THIS) PURE;
     /*** IDirect3D9 methods ***/
+
+    /* Note: Microsoft's d3d9.h does not declare IDirect3D9Ex::RegisterSoftwareDevice . This would mean that
+     * the offsets of the other methods in the Vtable change too. This is wrong. In Microsoft's
+     * d3d9.dll, the offsets for the other functions are still compatible with IDirect3D9.
+     * This is probably because even in MS's header IDirect3D9Ex inherits from IDirect3D9, which makes the
+     * C++ inferface compatible, and nobody uses the C interface in Windows world.
+     */
     STDMETHOD(RegisterSoftwareDevice)(THIS_ void* pInitializeFunction) PURE;
+
     STDMETHOD_(UINT, GetAdapterCount)(THIS) PURE;
     STDMETHOD(GetAdapterIdentifier)(THIS_ UINT Adapter, DWORD Flags, D3DADAPTER_IDENTIFIER9* pIdentifier) PURE;
     STDMETHOD_(UINT, GetAdapterModeCount)(THIS_ UINT Adapter, D3DFORMAT Format) PURE;




More information about the wine-cvs mailing list