IOPMVideoOutput::FinishInitialization method (opmapi.h)
Completes the initialization sequence for an Output Protection Manager (OPM) session.
Syntax
HRESULT FinishInitialization(
[in] const OPM_ENCRYPTED_INITIALIZATION_PARAMETERS *pParameters
);
Parameters
[in] pParameters
Pointer to an OPM_ENCRYPTED_INITIALIZATION_PARAMETERS structure. Initialize this structure as described in the Remarks session.
Return value
Returns an HRESULT. Possible values include, but are not limited to, those in the following table.
| Return code | Description |
|---|---|
|
The method succeeded. |
|
An unexpected error occurred the display driver. |
|
The encrypted parameters in pParameters are incorrect. |
Remarks
This method is equivalent to the IAMCertifiedOutputProtection::SessionSequenceStart method in Certified Output Protection Protocol (COPP).
The pParameters parameter points to an OPM_ENCRYPTED_INITIALIZATION_PARAMETERS structure that contains a 256-byte array. Before calling the method, prepare this array as follows. First, concatenate the following numbers:
- The 128-bit number returned in the prnRandomNumber parameter of the IOPMVideoOutput::StartInitialization method.
- The AES signing key. This value is a 128-bit random number generated by the application.
- The initial sequence number for OPM status requests. This value is a 32-bit random number generated by the application.
- The initial sequence number for OPM commands. This value is a 32-bit random number generated by the application.
The application must use cryptographically secure random numbers. The CryptGenRandom function is recommended, although not required.
Requirements
| Minimum supported client | Windows Vista [desktop apps only] |
| Minimum supported server | Windows Server 2008 [desktop apps only] |
| Target Platform | Windows |
| Header | opmapi.h |