[PATCH] D3D9: Document a Microsoft header bug=0A=

Stefan Doesinger stefan at codeweavers.com
Fri Nov 21 17:41:27 CST 2008


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

------=_NextPart_000_0015_01C9502F.C576C4F0--




More information about the wine-patches mailing list