Made d3drm use wine's implementation instead of loading dll at runtime.

On Tue, Mar 17, 2015 at 11:19 PM, Aaryaman Vasishta <jem456.vasishta@gmail.com> wrote:
---
��dlls/d3drm/tests/Makefile.in |�� ��2 +-
��dlls/d3drm/tests/d3drm.c�� �� ��| 132 +++++++++++++++++++++++++++----------------
��2 files changed, 84 insertions(+), 50 deletions(-)

diff --git a/dlls/d3drm/tests/Makefile.in b/dlls/d3drm/tests/Makefile.in
index dc6e8d1..b5fdb56 100644
--- a/dlls/d3drm/tests/Makefile.in
+++ b/dlls/d3drm/tests/Makefile.in
@@ -1,5 +1,5 @@
��TESTDLL�� ��= d3drm.dll
-IMPORTS�� ��= dxguid ddraw user32 uuid
+IMPORTS�� ��= d3drm dxguid ddraw user32 uuid

��C_SRCS = \
�� �� �� �� d3drm.c \
diff --git a/dlls/d3drm/tests/d3drm.c b/dlls/d3drm/tests/d3drm.c
index f9925ae..edc451b 100644
--- a/dlls/d3drm/tests/d3drm.c
+++ b/dlls/d3drm/tests/d3drm.c
@@ -26,9 +26,6 @@

��#include "wine/test.h"

-static HMODULE d3drm_handle = 0;
-
-static HRESULT (WINAPI * pDirect3DRMCreate)(IDirect3DRM **d3drm);

��#define CHECK_REFCOUNT(obj,rc) \
�� �� ��{ \
@@ -37,28 +34,6 @@ static HRESULT (WINAPI * pDirect3DRMCreate)(IDirect3DRM **d3drm);
�� �� �� �� ��ok(count == rc_new, "Invalid refcount. Expected %d got %d\n", rc_new, count); \
�� �� ��}

-#define D3DRM_GET_PROC(func) \
-�� �� p ## func = (void*)GetProcAddress(d3drm_handle, #func); \
-�� �� if(!p ## func) { \
-�� �� �� trace("GetProcAddress(%s) failed\n", #func); \
-�� �� �� FreeLibrary(d3drm_handle); \
-�� �� �� return FALSE; \
-�� �� }
-
-static BOOL InitFunctionPtrs(void)
-{
-�� �� d3drm_handle = LoadLibraryA("d3drm.dll");
-
-�� �� if(!d3drm_handle)
-�� �� {
-�� �� �� �� skip("Could not load d3drm.dll\n");
-�� �� �� �� return FALSE;
-�� �� }
-
-�� �� D3DRM_GET_PROC(Direct3DRMCreate)
-
-�� �� return TRUE;
-}

��static int get_refcount(IUnknown *object)
��{
@@ -242,7 +217,7 @@ static void test_MeshBuilder(void)
�� �� ��D3DCOLOR color;
�� �� ��CHAR cname[64] = {0};

-�� �� hr = pDirect3DRMCreate(&d3drm);
+�� �� hr = Direct3DRMCreate(&d3drm);
�� �� ��ok(hr == D3DRM_OK, "Cannot get IDirect3DRM interface (hr = %x)\n", hr);

�� �� ��hr = IDirect3DRM_CreateMeshBuilder(d3drm, &pMeshBuilder);
@@ -538,7 +513,7 @@ static void test_MeshBuilder3(void)
�� �� ��DWORD size;
�� �� ��CHAR cname[64] = {0};

-�� �� hr = pDirect3DRMCreate(&d3drm);
+�� �� hr = Direct3DRMCreate(&d3drm);
�� �� ��ok(hr == D3DRM_OK, "Cannot get IDirect3DRM interface (hr = %x)\n", hr);

�� �� ��if (FAILED(hr = IDirect3DRM_QueryInterface(d3drm, &IID_IDirect3DRM3, (void **)&d3drm3)))
@@ -644,7 +619,7 @@ static void test_Mesh(void)
�� �� ��DWORD size;
�� �� ��CHAR cname[64] = {0};

-�� �� hr = pDirect3DRMCreate(&d3drm);
+�� �� hr = Direct3DRMCreate(&d3drm);
�� �� ��ok(hr == D3DRM_OK, "Cannot get IDirect3DRM interface (hr = %x)\n", hr);

�� �� ��hr = IDirect3DRM_CreateMesh(d3drm, &mesh);
@@ -685,7 +660,7 @@ static void test_Face(void)
�� �� ��CHAR cname[64] = {0};
�� �� ��int icount;

-�� �� hr = pDirect3DRMCreate(&d3drm);
+�� �� hr = Direct3DRMCreate(&d3drm);
�� �� ��ok(hr == D3DRM_OK, "Cannot get IDirect3DRM interface (hr = %x)\n", hr);

�� �� ��hr = IDirect3DRM_CreateFace(d3drm, &face1);
@@ -925,7 +900,7 @@ static void test_Frame(void)
�� �� ��DWORD count;
�� �� ��CHAR cname[64] = {0};

-�� �� hr = pDirect3DRMCreate(&d3drm);
+�� �� hr = Direct3DRMCreate(&d3drm);
�� �� ��ok(hr == D3DRM_OK, "Cannot get IDirect3DRM interface (hr = %x)\n", hr);

�� �� ��hr = IDirect3DRM_CreateFrame(d3drm, NULL, &pFrameC);
@@ -1257,7 +1232,7 @@ static void test_Viewport(void)
�� �� ��window = CreateWindowA("static", "d3drm_test", WS_OVERLAPPEDWINDOW, 0, 0, 300, 200, 0, 0, 0, 0);
�� �� ��GetClientRect(window, &rc);

-�� �� hr = pDirect3DRMCreate(&d3drm);
+�� �� hr = Direct3DRMCreate(&d3drm);
�� �� ��ok(hr == D3DRM_OK, "Cannot get IDirect3DRM interface (hr = %x)\n", hr);

�� �� ��hr = DirectDrawCreateClipper(0, &pClipper, NULL);
@@ -1308,7 +1283,7 @@ static void test_Light(void)
�� �� ��DWORD size;
�� �� ��CHAR cname[64] = {0};

-�� �� hr = pDirect3DRMCreate(&d3drm);
+�� �� hr = Direct3DRMCreate(&d3drm);
�� �� ��ok(hr == D3DRM_OK, "Cannot get IDirect3DRM interface (hr = %x)\n", hr);

�� �� ��hr = IDirect3DRM_CreateLightRGB(d3drm, D3DRMLIGHT_SPOT, 0.5, 0.5, 0.5, &light);
@@ -1363,7 +1338,7 @@ static void test_Material2(void)
�� �� ��DWORD size;
�� �� ��CHAR cname[64] = {0};

-�� �� hr = pDirect3DRMCreate(&d3drm);
+�� �� hr = Direct3DRMCreate(&d3drm);
�� �� ��ok(hr == D3DRM_OK, "Cannot get IDirect3DRM interface (hr = %x)\n", hr);

�� �� ��if (FAILED(hr = IDirect3DRM_QueryInterface(d3drm, &IID_IDirect3DRM3, (void **)&d3drm3)))
@@ -1447,7 +1422,7 @@ static void test_Texture(void)
�� �� ��DWORD size;
�� �� ��CHAR cname[64] = {0};

-�� �� hr = pDirect3DRMCreate(&d3drm);
+�� �� hr = Direct3DRMCreate(&d3drm);
�� �� ��ok(hr == D3DRM_OK, "Cannot get IDirect3DRM interface (hr = %x)\n", hr);

�� �� ��initimg.buffer1 = &pixel;
@@ -1488,7 +1463,7 @@ static void test_Device(void)
�� �� ��window = CreateWindowA("static", "d3drm_test", WS_OVERLAPPEDWINDOW, 0, 0, 300, 200, 0, 0, 0, 0);
�� �� ��GetClientRect(window, &rc);

-�� �� hr = pDirect3DRMCreate(&d3drm);
+�� �� hr = Direct3DRMCreate(&d3drm);
�� �� ��ok(hr == D3DRM_OK, "Cannot get IDirect3DRM interface (hr = %x)\n", hr);

�� �� ��hr = DirectDrawCreateClipper(0, &pClipper, NULL);
@@ -1551,7 +1526,7 @@ static void test_frame_transform(void)
�� �� ��IDirect3DRMFrame *frame;
�� �� ��D3DRMMATRIX4D matrix;

-�� �� hr = pDirect3DRMCreate(&d3drm);
+�� �� hr = Direct3DRMCreate(&d3drm);
�� �� ��ok(hr == D3DRM_OK, "Cannot get IDirect3DRM interface (hr = %x)\n", hr);

�� �� ��hr = IDirect3DRM_CreateFrame(d3drm, NULL, &frame);
@@ -1589,7 +1564,7 @@ static void test_d3drm_load(void)
�� �� ��D3DRMLOADMEMORY info;
�� �� ��const GUID* req_refiids[] = { &IID_IDirect3DRMMeshBuilder, &IID_IDirect3DRMFrame, &IID_IDirect3DRMMaterial };

-�� �� hr = pDirect3DRMCreate(&d3drm);
+�� �� hr = Direct3DRMCreate(&d3drm);
�� �� ��ok(hr == D3DRM_OK, "Cannot get IDirect3DRM interface (hr = %x)\n", hr);

�� �� ��info.lpMemory = data_d3drm_load;
@@ -1665,7 +1640,7 @@ static void test_frame_mesh_materials(void)
�� �� ��IDirect3DRMTexture *texture;
�� �� ��int i;

-�� �� hr = pDirect3DRMCreate(&d3drm);
+�� �� hr = Direct3DRMCreate(&d3drm);
�� �� ��ok(hr == D3DRM_OK, "Direct3DRMCreate returned %x\n", hr);

�� �� ��info.lpMemory = data_frame_mesh_materials;
@@ -1736,7 +1711,7 @@ struct qi_test
��};

��static void test_qi(const char *test_name, IUnknown *base_iface,
-�� �� �� �� �� �� �� �� �� �� REFIID refcount_iid, const struct qi_test *tests, UINT entry_count)
+�� �� �� �� REFIID refcount_iid, const struct qi_test *tests, UINT entry_count)
��{
�� �� ��ULONG refcount, expected_refcount;
�� �� ��IUnknown *iface1, *iface2;
@@ -1788,15 +1763,79 @@ static void test_d3drm_qi(void)
��{
�� �� ��static const struct qi_test tests[] =
�� �� ��{
-�� �� �� �� { &IID_IDirect3DRM3, &IID_IDirect3DRM3,�� �� �� ��S_OK, TRUE },
-�� �� �� �� { &IID_IDirect3DRM2, &IID_IDirect3DRM2,�� �� �� ��S_OK, TRUE },
-�� �� �� �� { &IID_IDirect3DRM,�� &IID_IDirect3DRM,�� �� �� �� S_OK, FALSE },
-�� �� �� �� { &IID_IUnknown,�� �� ��&IID_IDirect3DRM,�� �� �� �� S_OK, FALSE },
+�� �� �� �� { &IID_IDirect3DRM3,�� �� �� �� �� �� �� &IID_IDirect3DRM3,�� �� �� ��S_OK,�� �� �� �� �� �� �� �� �� �� �� �� �� �� ��TRUE },
+�� �� �� �� { &IID_IDirect3DRM2,�� �� �� �� �� �� �� &IID_IDirect3DRM2,�� �� �� ��S_OK,�� �� �� �� �� �� �� �� �� �� �� �� �� �� ��TRUE },
+�� �� �� �� { &IID_IDirect3DRM,�� �� �� �� �� �� �� ��&IID_IDirect3DRM,�� �� �� �� S_OK,�� �� �� �� �� �� �� �� �� �� �� �� �� �� FALSE },
+�� �� �� �� { &IID_IDirect3DRMDevice,�� �� �� �� �� NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMObject,�� �� �� �� �� NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMObject2,�� �� �� �� ��NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMDevice2,�� �� �� �� ��NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMDevice3,�� �� �� �� ��NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMViewport,�� �� �� �� NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMViewport2,�� �� �� ��NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMFrame,�� �� �� �� �� ��NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMFrame2,�� �� �� �� �� NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMFrame3,�� �� �� �� �� NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMVisual,�� �� �� �� �� NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMMesh,�� �� �� �� �� �� NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMMeshBuilder,�� �� ��NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMMeshBuilder2,�� �� NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMMeshBuilder3,�� �� NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMFace,�� �� �� �� �� �� NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMFace2,�� �� �� �� �� ��NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMLight,�� �� �� �� �� ��NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMTexture,�� �� �� �� ��NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMTexture2,�� �� �� �� NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMTexture3,�� �� �� �� NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMWrap,�� �� �� �� �� �� NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMMaterial,�� �� �� �� NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMMaterial2,�� �� �� ��NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMAnimation,�� �� �� ��NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMAnimation2,�� �� �� NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMAnimationSet,�� �� NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMAnimationSet2,�� ��NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMObjectArray,�� �� ��NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMDeviceArray,�� �� ��NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMViewportArray,�� ��NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMFrameArray,�� �� �� NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMVisualArray,�� �� ��NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMLightArray,�� �� �� NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMPickedArray,�� �� ��NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMFaceArray,�� �� �� ��NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMAnimationArray,�� NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMUserVisual,�� �� �� NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMShadow,�� �� �� �� �� NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMShadow2,�� �� �� �� ��NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMInterpolator,�� �� NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMProgressiveMesh, NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMPicked2Array,�� �� NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DRMClippedVisual,�� ��NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirectDrawClipper,�� �� �� �� ��NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirectDrawSurface7,�� �� �� �� NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirectDrawSurface4,�� �� �� �� NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirectDrawSurface3,�� �� �� �� NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirectDrawSurface2,�� �� �� �� NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirectDrawSurface,�� �� �� �� ��NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DDevice7,�� �� �� �� �� ��NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DDevice3,�� �� �� �� �� ��NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DDevice2,�� �� �� �� �� ��NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DDevice,�� �� �� �� �� �� NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3D7,�� �� �� �� �� �� �� �� ��NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3D3,�� �� �� �� �� �� �� �� ��NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3D2,�� �� �� �� �� �� �� �� ��NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3D,�� �� �� �� �� �� �� �� �� NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirectDraw7,�� �� �� �� �� �� �� ��NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirectDraw4,�� �� �� �� �� �� �� ��NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirectDraw3,�� �� �� �� �� �� �� ��NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirectDraw2,�� �� �� �� �� �� �� ��NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirectDraw,�� �� �� �� �� �� �� �� NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IDirect3DLight,�� �� �� �� �� �� ��NULL,�� �� �� �� �� �� �� �� �� ��CLASS_E_CLASSNOTAVAILABLE,�� �� �� ��FALSE },
+�� �� �� �� { &IID_IUnknown,�� �� �� �� �� �� �� �� �� ��&IID_IDirect3DRM,�� �� �� ��S_OK,�� �� �� �� �� �� �� �� �� �� �� �� �� �� FALSE },
�� �� ��};
�� �� ��HRESULT hr;
�� �� ��IDirect3DRM *d3drm;

-�� �� hr = pDirect3DRMCreate(&d3drm);
+�� �� hr = Direct3DRMCreate(&d3drm);
�� �� ��ok(hr == D3DRM_OK, "Cannot get IDirect3DRM interface (hr = %x)\n", hr);

�� �� ��test_qi("d3drm_qi", (IUnknown *)d3drm, &IID_IDirect3DRM, tests, sizeof(tests) / sizeof(*tests));
@@ -1806,9 +1845,6 @@ static void test_d3drm_qi(void)

��START_TEST(d3drm)
��{
-�� �� if (!InitFunctionPtrs())
-�� �� �� �� return;
-
�� �� ��test_MeshBuilder();
�� �� ��test_MeshBuilder3();
�� �� ��test_Mesh();
@@ -1823,6 +1859,4 @@ START_TEST(d3drm)
�� �� ��test_d3drm_load();
�� �� ��test_frame_mesh_materials();
�� �� ��test_d3drm_qi();
-
-�� �� FreeLibrary(d3drm_handle);
��}
--
1.9.3 (Apple Git-50)