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.
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.
On Tue, Oct 24, 2017 at 3:32 AM, Alexandre Julliard julliard@winehq.org wrote:
Jefferson Carpenter jeffersoncarpenter2@gmail.com writes:
That code would almost certainly crash if run against Wine's wmvcore.dll. It is just to have a piece of physical evidence that there IS a way to access the DRM interfaces.
How did you figure this out?
-- Alexandre Julliard julliard@winehq.org