<div dir="ltr"><div><div><div>Some notes:<br><br>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.<br>I installed this SDK on my XP VM, yet the tests fail, hmm.<br><br></div>I played around with different CLSCTX values as well - no luck so far.<br><br></div>Cheers,<br></div>Aaryaman<br><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Mar 26, 2016 at 8:09 PM, Aaryaman Vasishta <span dir="ltr"><<a href="mailto:jem456.vasishta@gmail.com" target="_blank">jem456.vasishta@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>"regsvr32.exe d3drm.dll" returns an error saying DllRegisterServer was not found.<br><br></div>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:<br><br><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote">CoInitialize(NULL);<br>hr = CoCreateInstance(&CLSID_CDirect3DRM, NULL, CLSCTX_INPROC_HANDLER, &IID_IDirect3DRM, &d3drm);<br>ok(hr == D3DRM_OK, "Got %#x for IID_IDirect3DRM\n", hr);<br>hr = CoCreateInstance(&CLSID_CDirect3DRMTexture, NULL, CLSCTX_INPROC_HANDLER, &IID_IDirect3DRMTexture3, &texture3);<br>ok(hr == D3DRM_OK, "Got %#x for IID_IDirect3DRMTexture3\n", hr);<br></blockquote><br></div>Got the following results:<br><br><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote">d3drm.c:4309: Test failed: Got 0x80040154 for IID_IDirect3DRM<br>d3drm.c:4311: Test failed: Got 0x80040154 for IID_IDirect3DRMTexture3<br></blockquote><div><div><br></div></div></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Mar 26, 2016 at 7:55 PM, Stefan Dösinger <span dir="ltr"><<a href="mailto:stefandoesinger@gmail.com" target="_blank">stefandoesinger@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span><br>
>> CoCreateInstance(&CLSID_CDirect3DRMTexture, NULL, CLSCTX_INPROC_SERVER,<br>
>> &IID_IDirect3DRMTexture3, &texture3) returns REGDB_E_CLASSNOTREG. Am I<br>
>> missing something?<br>
>><br>
> Does it work for IDirect3DRM? It may not be supposed to work, although<br>
> it's also possible d3drm.dll is just not properly registered.<br>
</span>If you copied d3drm.dll from XP you'll most likely have to register it with regsvr32.<br>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div></div>