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


функция обратного вызова 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 (include Dispmprt.h)
IRQL PASSIVE_LEVEL (см. раздел "Примечания")

См. также

DXGKMDT_OPM_VIDEO_OUTPUT_SEMANTICS

DxgkDdiAddDevice

DxgkDdiOPMConfigureProtectedOutput

DxgkDdiOPMDeprotectedOutput

DxgkDdiOPMGetCOPPCompatibleInformation

DxgkDdiOPMGetInformation

DxgkDdiOPMGetRandomNumber

DxgkDdiOPMSetSigningKeyAndSequenceNumbers