<div dir="auto"><div>;...(<br><div class="gmail_extra"><br><div class="gmail_quote">On Oct 24, 2017 4:41 AM, "Alexandre Julliard" <<a href="mailto:julliard@winehq.org">julliard@winehq.org</a>> wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="quoted-text">Jefferson Carpenter <<a href="mailto:jeffersoncarpenter2@gmail.com">jeffersoncarpenter2@gmail.com</a><wbr>> writes:<br>
<br>
> I knew it was possible to get DRM interfaces because I have an<br>
> application that queries for an IWMDRMReader (I forget 1, 2, or 3)<br>
> over and over and over until S_OK is returned. To begin finding out<br>
> why the return value is sometimes S_OK and sometimes E_NOINTERFACE, I<br>
> compiled an exe that runs WMCreateReader and queries for the<br>
> IWMDRMReader2 interface, and then stepped through the assembly. Turns<br>
> out, the value at that memory location is checked inside of<br>
> QueryInterface.<br>
<br>
</div>That's not an acceptable way of figuring things out.<br>
<br>
If you have an application that uses this, you can look at what the app<br>
is doing, and try to reproduce that behavior in a test case; but the<br>
Microsoft DLLs have to be treated as black boxes. You can call public<br>
APIs and see what they return, but you can't look inside the box. In<br>
particular, disassembling the code is strictly forbidden. I'm afraid<br>
this means I can no longer accept any patches of yours implementing this<br>
functionality.<br>
<font color="#888888"><br>
--<br>
Alexandre Julliard<br>
<a href="mailto:julliard@winehq.org">julliard@winehq.org</a><br>
</font></blockquote></div><br></div></div></div>