Compartilhar via


Método IOPMVideoOutput::FinishInitialization (opmapi.h)

Conclui a sequência de inicialização de uma sessão do OPM (Output Protection Manager).

Sintaxe

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

Parâmetros

[in] pParameters

Ponteiro para uma estrutura OPM_ENCRYPTED_INITIALIZATION_PARAMETERS . Inicialize essa estrutura conforme descrito na sessão Comentários.

Retornar valor

Retorna um HRESULT. Os valores possíveis incluem, mas não se limitam a, aqueles na tabela a seguir.

Código de retorno Descrição
S_OK
O método foi bem-sucedido.
ERROR_GRAPHICS_OPM_DRIVER_INTERNAL_ERROR
Ocorreu um erro inesperado no driver de exibição.
ERROR_GRAPHICS_OPM_INVALID_ENCRYPTED_PARAMETERS
Os parâmetros criptografados em pParameters estão incorretos .

Comentários

Esse método é equivalente ao método IAMCertifiedOutputProtection::SessionSequenceStart no COPP (Certified Output Protection Protocol).

O parâmetro pParameters aponta para uma estrutura de OPM_ENCRYPTED_INITIALIZATION_PARAMETERS que contém uma matriz de 256 bytes. Antes de chamar o método , prepare essa matriz da seguinte maneira. Primeiro, concatene os seguintes números:

  • O número de 128 bits retornado no parâmetro prnRandomNumber do método IOPMVideoOutput::StartInitialization .
  • A chave de assinatura do AES. Esse valor é um número aleatório de 128 bits gerado pelo aplicativo.
  • O número de sequência inicial para solicitações de status OPM. Esse valor é um número aleatório de 32 bits gerado pelo aplicativo.
  • O número de sequência inicial para comandos OPM. Esse valor é um número aleatório de 32 bits gerado pelo aplicativo.
Criptografe esse número com RAEAS-OAEP, criptografia usando a chave de criptografia pública do driver de exibição. A chave de criptografia pública está contida no certificado retornado no parâmetro ppbCertificate do método StartInitialization .

O aplicativo deve usar números aleatórios criptograficamente seguros. A função CryptGenRandom é recomendada, embora não seja necessária.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho opmapi.h

Confira também

IOPMVideoOutput

Gerenciador de Proteção de Saída