Does Windows' OPM API support HDCP 2.x protocol?

Deepak Thirunavukkarasu 0 Reputation points
2024-09-20T11:07:28.58+00:00

Broader Question

I have a code that uses Windows' OPM API to retrieve BKSV from HDCP 1.x connections. Unfortunately, this doesn't seem to work with HDCP 2.x connections. So, does OPM API even support HDCP 2.x connections? If not, does Windows provide an alternative way to retrieve the "Receiver ID" (which is the same as BKSV in HDCP 1.x) from a HDCP 2.x connection?

Actual Issue

  • Windows provides a IOPMVideoOutput interface which has a GetInformation() method.
  • Unfortunately, with a HDCP 2.x connection, the returned data is lesser in size than expected. The expected size is the size of the structure OPM_CONNECTED_HDCP_DEVICE_INFORMATION. This size is available in OPM_REQUESTED_INFORMATION which is returned by GetInformation().
    • Log from code → OpmVideoOutput::Private::GetInfo():cbRequestedInformationSize =  8, sizeof(T) = 72
    • In the above log, we see that the actual size of the data being returned is 8 whereas we expected 72
Windows Driver Kit (WDK)
Windows Driver Kit (WDK)
A set of Microsoft tools that are used to develop, test, and deploy Windows drivers.
122 questions
{count} votes

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.