функция обратного вызова DXGKDDI_OPM_CREATE_PROTECTED_OUTPUT (dispmprt.h)

Функция DxgkDdiOPMCreateProtectedOutput создает новый защищенный выходной объект с использованием протокола COPP или семантики OPM.

Синтаксис

DXGKDDI_OPM_CREATE_PROTECTED_OUTPUT DxgkddiOpmCreateProtectedOutput;

NTSTATUS DxgkddiOpmCreateProtectedOutput(
  [in]  PVOID MiniportDeviceContext,
  [in]  D3DDDI_VIDEO_PRESENT_TARGET_ID VidPnTargetId,
  [in]  DXGKMDT_OPM_VIDEO_OUTPUT_SEMANTICS NewVideoOutputSemantics,
  [out] PHANDLE NewProtectedOutputHandle
)
{...}

Параметры

[in] MiniportDeviceContext

Дескриптор для блока контекста, связанного с видеоадаптером. Ранее функция DxgkDdiAddDevice драйвера мини-порта дисплея предоставляла этот дескриптор подсистеме ядра графики DirectX.

[in] VidPnTargetId

Целое число, однозначно идентифицирующее целевой объект представления видео, соответствующий новому защищенному выходному объекту. Каждый целевой объект видео должен соответствовать одному соединителю физического монитора. Если VidPnTargetId соответствует нескольким соединителям физических мониторов, DxgkDdiOPMCreateProtectedOutput должен вернуть STATUS_GRAPHICS_OPM_SPANNING_MODE_ENABLED или STATUS_GRAPHICS_OPM_THEATER_MODE_ENABLED код ошибки.

[in] NewVideoOutputSemantics

DXGKMDT_OPM_VIDEO_OUTPUT_SEMANTICS типизированное значение, определяющее, имеет ли новый защищенный выход семантику COPP или OPM.

[out] NewProtectedOutputHandle

Указатель на переменную, которая получает дескриптор нового защищенного выходного объекта, если dxgkDdiOPMCreateProtectedOutput возвращает успешно. Подсистема графического ядра DirectX передает этот дескриптор в вызовах dxgkDdiOPMGetRandomNumber драйвера дисплея, DxgkDdiOPMSetSigningKeyAndSequenceNumbersDxgkDdiOPMGetInformation, DxgkDdiOPMGetCOPPCompatibleInformation, DxgkDdiOPMConfigureProtectedOutput и DxgkDdiOPMDeprotectedOutput.

Если DxgkDdiOPMCreateProtectedOutput завершается сбоем, значение переменной не изменяется.

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

DxgkDdiOPMCreateProtectedOutput возвращает одно из следующих значений.

Код возврата Описание
STATUS_SUCCESS Функция успешно создала новый защищенный выходной объект.
STATUS_GRAPHICS_OPM_NOT_SUPPORTED Драйвер мини-порта дисплея не поддерживает OPM, так как поставщик оборудования никогда не подписывал лицензионное соглашение OPM или графическое оборудование драйвера мини-порта не соответствует правилам OPM.
STATUS_GRAPHICS_COPP_NOT_SUPPORTED Драйвер минипорта дисплея не поддерживает COPP, так как поставщик оборудования никогда не подписывал лицензионное соглашение COPP или графическое оборудование драйвера мини-порта не соответствует правилам COPP.
STATUS_NO_MEMORY DxgkDdiOPMCreateProtectedOutput не может выделить память, необходимую для ее завершения.
STATUS_GRAPHICS_OPM_SPANNING_MODE_ENABLED DxgkDdiOPMCreateProtectedOutput не удалось создать защищенный выход, так как целевой объект видеотрансляции находится в режиме охвата. Когда целевой объект видеотрансляции находится в режиме охвата, он соответствует нескольким соединителям физического монитора, и каждый соединитель отображает отдельную часть буфера кадров. Схема того, как драйвер мини-порта дисплея обычно реализует режим охвата, см. в разделе Примечания. Драйвер мини-порта дисплея информирует операционную систему о том, как буфер кадров соответствует конкретному монитору. Левая половина буфера кадров отображается на одном мониторе, а правая половина буфера кадров — на другом мониторе.
STATUS_GRAPHICS_OPM_THEATER_MODE_ENABLED DxgkDdiOPMCreateProtectedOutput не удалось создать защищенные выходные данные, так как целевой объект видеотрансляции находится в режиме театра. Когда целевой объект видеотрансляции находится в режиме театра, он соответствует двум соединителям физического монитора; Один соединитель отображает весь буфер кадров, а другой — только часть буфера кадров. Режим театра также называется режимом зеркало. Схему того, как драйвер мини-порта дисплея обычно реализует режим театра, см. в разделе Примечания. Драйвер мини-порта дисплея информирует операционную систему о том, как буфер кадров соответствует конкретному монитору. Весь буфер кадров отображается на одном мониторе, а на другом — только часть буфера кадров.

Эта функция также может возвращать другие коды ошибок, определенные в Ntstatus.h.

Комментарии

На следующем рисунке показано, как драйвер мини-порта дисплея обычно реализует режим охвата.

Схема, иллюстрирующая режим охвата На следующем рисунке показано, как драйвер мини-порта дисплея обычно реализует режим театра. Схема, иллюстрирующая режим театра *DxgkDdiOPMCreateProtectedOutput* должен быть доступным для страниц.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть dispmprt.h (включая Dispmprt.h)
IRQL PASSIVE_LEVEL (см. раздел "Примечания")

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

DXGKMDT_OPM_VIDEO_OUTPUT_SEMANTICS

DxgkDdiAddDevice

DxgkDdiOPMConfigureProtectedOutput

DxgkDdiOPMDeprotectedOutput

DxgkDdiOPMGetCOPPCompatibleInformation

DxgkDdiOPMGetInformation

DxgkDdiOPMGetRandomNumber

DxgkDdiOPMSetSigningKeyAndSequenceNumbers