Begins the initialization sequence for an Output Protection Manager (OPM) session.
HRESULT StartInitialization( OPM_RANDOM_NUMBER *prnRandomNumber, BYTE **ppbCertificate, ULONG *pulCertificateLength );
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.
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.
Receives the length of the buffer pointed to by ppbCertificate.
If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.
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.
|Minimum supported client||Windows Vista [desktop apps only]|
|Minimum supported server||Windows Server 2008 [desktop apps only]|