Metodo IOPMVideoOutput::FinishInitialization (opmapi.h)

Completa la sequenza di inizializzazione per una sessione di Output Protection Manager (OPM).

Sintassi

HRESULT FinishInitialization(
  [in] const OPM_ENCRYPTED_INITIALIZATION_PARAMETERS *pParameters
);

Parametri

[in] pParameters

Puntatore a una struttura OPM_ENCRYPTED_INITIALIZATION_PARAMETERS . Inizializzare questa struttura come descritto nella sessione Osservazioni.

Valore restituito

Restituisce un valore HRESULT. I valori possibili includono, ma non solo, quelli nella tabella seguente.

Codice restituito Descrizione
S_OK
Il metodo è riuscito.
ERROR_GRAPHICS_OPM_DRIVER_INTERNAL_ERROR
Si è verificato un errore imprevisto del driver di visualizzazione.
ERROR_GRAPHICS_OPM_INVALID_ENCRYPTED_PARAMETERS
I parametri crittografati in pParameters non sono corretti.

Commenti

Questo metodo equivale al metodo IAMCertifiedOutputProtection::SessionSequenceStart in Certified Output Protection Protocol (COPP).

Il parametro pParameters punta a una struttura OPM_ENCRYPTED_INITIALIZATION_PARAMETERS che contiene una matrice a 256 byte. Prima di chiamare il metodo, preparare questa matrice come indicato di seguito. Prima di tutto, concatenare i numeri seguenti:

  • Numero a 128 bit restituito nel parametro prnRandomNumber del metodo IOPMVideoOutput::StartInitialization .
  • Chiave di firma AES. Questo valore è un numero casuale a 128 bit generato dall'applicazione.
  • Numero di sequenza iniziale per le richieste di stato OPM. Questo valore è un numero casuale a 32 bit generato dall'applicazione.
  • Numero di sequenza iniziale per i comandi OPM. Questo valore è un numero casuale a 32 bit generato dall'applicazione.
Crittografare questo numero con RAEAS-OAEP, crittografia usando la chiave di crittografia pubblica del driver di visualizzazione. La chiave di crittografia pubblica è contenuta nel certificato restituito nel parametro ppbCertificate del metodo StartInitialization .

L'applicazione deve usare numeri casuali sicuri crittograficamente. La funzione CryptGenRandom è consigliata, anche se non necessaria.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione opmapi.h

Vedi anche

IOPMVideoOutput

Output Protection Manager