IOPMVideoOutput::StartInitialization method (opmapi.h)
Begins the initialization sequence for an Output Protection Manager (OPM) session.
Syntax
HRESULT StartInitialization(
[out] OPM_RANDOM_NUMBER *prnRandomNumber,
[out] BYTE **ppbCertificate,
[out] ULONG *pulCertificateLength
);
Parameters
[out] prnRandomNumber
Pointer to an OPM_RANDOM_NUMBER structure. The structure receives a 128-bit random number generated by the display driver. This number is required for the IOPMVideoOutput::FinishInitialization method.
[out] ppbCertificate
Receives a pointer to a buffer containing the display driver's certificate. The method allocates the memory for the buffer. The caller must release the memory by calling CoTaskMemFree.
[out] pulCertificateLength
Receives the length of the buffer pointed to by ppbCertificate.
Return value
If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.
Remarks
This method is equivalent to the IAMCertifiedOutputProtection::KeyExchange method in Certified Output Protection Protocol (COPP).
The method returns a certificate chain that contains the driver's 2048-bit RSA public key. The caller must validate the certificate chain and then call IOPMVideoOutput::FinishInitialization to establish the OPM session.
This method supports both OPM semantics and COPP semantics. COPP semantics are supported for backward compatibility; new applications should use OPM semantics.
OPM Semantics
The method returns an X.509 certificate chain. The certificate chain is encoded with ASN.1 Distinguished Encoding Rules (DER).COPP Semantics
The method returns a COPP certificate chain. The certificate chain is returned as a UTF-8 string. You can treat the buffer returned in ppbCertificate as an array of chars.Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows Vista [desktop apps only] |
Minimum supported server | Windows Server 2008 [desktop apps only] |
Target Platform | Windows |
Header | opmapi.h |