| Previous | Next |
| ERROR_GRAPHICS_OPM_INVALID_HANDLE | ERROR_GRAPHICS_OPM_SPANNING_MODE_ENABLED |
ERROR_GRAPHICS_PVP_INVALID_CERTIFICATE_LENGTH
The OPM handshake begins with a complete driver certificate chain
ERROR_GRAPHICS_PVP_INVALID_CERTIFICATE_LENGTH belongs to the protected-video-path handshake. The driver certificate carries the RSA public key used to encrypt the initialization parameters, so truncating the certificate buffer prevents the caller from validating the chain and completing the authenticated OPM session.
With the public IOPMVideoOutput::StartInitialization API, the method allocates the certificate buffer and returns its exact byte length. Lower-level or driver-facing code must first obtain the required size and then provide a matching buffer. Log both requested and returned lengths, retain the semantic mode, and do not parse partial DER or a partial COPP UTF-8 certificate as though it were a valid chain.
Checks before certificate validation
- Confirm whether the certificate uses OPM DER encoding or legacy COPP text encoding.
- Treat the reported length as bytes, not characters or structure elements.
- Reject a second call that returns a length larger than the allocated buffer.
- Free the API-owned buffer with the documented allocator only after validation.
References
- Microsoft: StartInitialization certificate buffer contract
- Microsoft: using the certificate key to finish initialization
- Microsoft: complete OPM handshake example
Looking for a different code? Search another status or error code.