функция обратного вызова 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.
Замечания
На следующем рисунке показано, как драйвер мини-порта дисплея обычно реализует режим охвата.


Требования
Требование | Ценность |
---|---|
целевая платформа | Настольный |
заголовка | dispmprt.h (include Dispmprt.h) |
IRQL | PASSIVE_LEVEL (см. раздел "Примечания") |
См. также
DXGKMDT_OPM_VIDEO_OUTPUT_SEMANTICS
DxgkDdiOPMConfigureProtectedOutput