[PATCH 2/2] d3drm: Partially Implement IDirect3DRM*::LoadTexture(v2).

Aaryaman Vasishta jem456.vasishta at gmail.com
Sat Mar 26 13:12:08 CDT 2016


Some notes:

I played around with IDirect3DRM::CreateObject a bit, and it also returns
REGDB_E_CLASSNOTREG if the proper CLSID is not set. Another interesting
note is that passing the same CLSID that worked for CreateObject to
CoCreateInstance makes it fail. The SDK setup does in fact add the CLSID's
to the registry - it seems that the setup reads d3drm.inf, creates a couple
.reg files and runs that to create the registry entries. The only registry
entry related to d3drm which the setup adds is "Direct3DRMObject" whose
value is {4516EC41-8F20-11d0-9B6D-0000C0781BC3}, which matches that of
CLSID_CDirect3DRM.
I installed this SDK on my XP VM, yet the tests fail, hmm.

I played around with different CLSCTX values as well - no luck so far.

Cheers,
Aaryaman

On Sat, Mar 26, 2016 at 8:09 PM, Aaryaman Vasishta <
jem456.vasishta at gmail.com> wrote:

> "regsvr32.exe d3drm.dll" returns an error saying DllRegisterServer was not
> found.
>
> I compiled the test below and ran it on an XP VM (which had the dx7 SDK
> installed) just to be sure that my native win8.1 box wasn't the issue:
>
> CoInitialize(NULL);
>> hr = CoCreateInstance(&CLSID_CDirect3DRM, NULL, CLSCTX_INPROC_HANDLER,
>> &IID_IDirect3DRM, &d3drm);
>> ok(hr == D3DRM_OK, "Got %#x for IID_IDirect3DRM\n", hr);
>> hr = CoCreateInstance(&CLSID_CDirect3DRMTexture, NULL,
>> CLSCTX_INPROC_HANDLER, &IID_IDirect3DRMTexture3, &texture3);
>> ok(hr == D3DRM_OK, "Got %#x for IID_IDirect3DRMTexture3\n", hr);
>>
>
> Got the following results:
>
> d3drm.c:4309: Test failed: Got 0x80040154 for IID_IDirect3DRM
>> d3drm.c:4311: Test failed: Got 0x80040154 for IID_IDirect3DRMTexture3
>>
>
>
> On Sat, Mar 26, 2016 at 7:55 PM, Stefan Dösinger <
> stefandoesinger at gmail.com> wrote:
>
>>
>> >> CoCreateInstance(&CLSID_CDirect3DRMTexture, NULL, CLSCTX_INPROC_SERVER,
>> >> &IID_IDirect3DRMTexture3, &texture3) returns REGDB_E_CLASSNOTREG. Am I
>> >> missing something?
>> >>
>> > Does it work for IDirect3DRM? It may not be supposed to work, although
>> > it's also possible d3drm.dll is just not properly registered.
>> If you copied d3drm.dll from XP you'll most likely have to register it
>> with regsvr32.
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20160326/2d2cbc3b/attachment.html>


More information about the wine-devel mailing list