<div dir="ltr"><div>I knew it was possible to get DRM interfaces because I have an application that queries for an IWMDRMReader (I forget 1, 2, or 3) over and over and over until S_OK is returned.  To begin finding out why the return value is sometimes S_OK and sometimes E_NOINTERFACE, I compiled an exe that runs WMCreateReader and queries for the IWMDRMReader2 interface, and then stepped through the assembly.  Turns out, the value at that memory location is checked inside of QueryInterface.</div><div><br></div><div>Also, Windows Server 2003 ships with an earlier version of wmvcore than my PC does, I'll bet that's why the test failed for IWMDRMReader3.<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Oct 24, 2017 at 3:32 AM, Alexandre Julliard <span dir="ltr"><<a href="mailto:julliard@winehq.org" target="_blank">julliard@winehq.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">Jefferson Carpenter <<a href="mailto:jeffersoncarpenter2@gmail.com">jeffersoncarpenter2@gmail.com</a><wbr>> writes:<br>
<br>
> That code would almost certainly crash if run against Wine's<br>
> wmvcore.dll. It is just to have a piece of physical evidence that<br>
> there IS a way to access the DRM interfaces.<br>
<br>
</span>How did you figure this out?<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Alexandre Julliard<br>
<a href="mailto:julliard@winehq.org">julliard@winehq.org</a><br>
</font></span></blockquote></div><br></div>