Поделиться через


Метод IAMCertifiedOutputProtection::KeyExchange (strmif.h)

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]

Метод KeyExchange возвращает сертификат графического драйвера.

Синтаксис

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

Параметры

[out] pRandom

Получает 128-битовое случайное число, созданное графическим драйвером. Используйте это значение в методе IAMCertifiedOutputProtection::SessionSequenceStart .

[out] VarLenCertGH

Получает указатель на буфер, содержащий сертификат графического драйвера. Метод выделяет память для буфера. Вызывающий объект должен освободить память, вызвав CoTaskMemFree.

[out] pdwLengthCertGH

Получает длину буфера, возвращенного в VarLenCertGH.

Возвращаемое значение

Возвращает значение HRESULT. Ниже приведены возможные значения.

Код возврата Описание
S_OK
Успешно.
E_UNEXPECTED
Недопустимое состояние. Возможно, приложение передало непредвиденные данные или вызовет методы IAMCertifiedOutputProtection в неправильном порядке. При возникновении этой ошибки приложение должно освободить текущий экземпляр VMR.
VFW_E_NO_COPP_HW
Устройство отображения не поддерживает COPP; или виртуальная машина еще не подключена к устройству отображения.
ERROR_GRAPHICS_NO_MONITORS_CORRESPOND_TO_DISPLAY_DEVICE
Мониторы не соответствуют устройству отображения. Эта ошибка может возникнуть при изменении режима отображения; или пользователь отключает монитор или удаляет монитор.

Комментарии

Сертификат графического драйвера содержит открытый ключ шифрования драйвера.

Если этот метод возвращает E_UNEXPECTED, приложение должно создать новый сеанс COPP, освободив VMR, создав новый экземпляр VMR и вызвав KeyExchange его снова.

Требования

   
Минимальная версия клиента Windows XP с пакетом обновления 2 (SP2) [только классические приложения]
Минимальная версия сервера Windows Server 2003 R2 [только классические приложения]
Целевая платформа Windows
Header strmif.h (включая Dshow.h)
Библиотека Strmiids.lib

См. также раздел

Интерфейс IAMCertifiedOutputProtection

Использование сертифицированного протокола защиты вывода (COPP)