Compartilhar via


Método IAMCertifiedOutputProtection::KeyExchange (strmif.h)

[O recurso associado a esta página, DirectShow, é um recurso herdado. Ele foi substituído por MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo na Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo no Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

O método KeyExchange retorna o certificado do driver gráfico.

Sintaxe

HRESULT KeyExchange(
  [out] GUID  *pRandom,
  [out] BYTE  **VarLenCertGH,
  [out] DWORD *pdwLengthCertGH
);

Parâmetros

[out] pRandom

Recebe um número aleatório de 128 bits, gerado pelo driver gráfico. Use esse valor no método IAMCertifiedOutputProtection::SessionSequenceStart .

[out] VarLenCertGH

Recebe um ponteiro para um buffer que contém o certificado do driver gráfico. O método aloca a memória para o buffer. O chamador deve liberar a memória chamando CoTaskMemFree.

[out] pdwLengthCertGH

Recebe o comprimento do buffer retornado em VarLenCertGH.

Retornar valor

Retorna um valor HRESULT. Os possíveis valores incluem os seguintes.

Código de retorno Descrição
S_OK
Êxito.
E_UNEXPECTED
Estado inválido. Possivelmente, o aplicativo passou dados inesperados ou chamou métodos IAMCertifiedOutputProtection na ordem errada. Se esse erro ocorrer, o aplicativo deverá liberar a instância atual da VMR.
VFW_E_NO_COPP_HW
O dispositivo de exibição não dá suporte ao COPP; ou a VMR ainda não se conectou a um dispositivo de exibição.
ERROR_GRAPHICS_NO_MONITORS_CORRESPOND_TO_DISPLAY_DEVICE
Nenhum monitor corresponde ao dispositivo de exibição. Esse erro poderá ocorrer se o modo de exibição for alterado; ou o usuário desativa um monitor ou remove um monitor.

Comentários

O certificado do driver gráfico contém a chave de criptografia pública do driver.

Se esse método retornar E_UNEXPECTED, o aplicativo deverá criar uma nova sessão COPP liberando a VMR, criando uma nova instância da VMR e chamando KeyExchange novamente na nova instância.

Requisitos

   
Cliente mínimo com suporte Windows XP com SP2 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 R2 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho strmif.h (inclua Dshow.h)
Biblioteca Strmiids.lib

Confira também

IAMCertifiedOutputProtection Interface

Usando o COPP (Certified Output Protection Protocol)