Получение DDI OPM
В следующей последовательности показано, как подсистема графического ядра Microsoft DirectX (Dxgkrnl.sys) извлекает DDI OPM драйвера дисплея miniport:
Подсистема ядра графики DirectX вызывает функцию DxgkDdiAddDevice драйвера дисплея miniport, чтобы создать блок контекста для графического адаптера и вернуть дескриптор в этот графический адаптер.
Подсистема графического ядра DirectX инициализирует структуру QUERY_INTERFACE значениями, приведенными в следующей таблице.
Имя участника Тип члена Значение InterfaceType
CONST PGUID
Указатель на GUID_DEVINTERFACE_OPM
(BF4672DE-6B4E-4BE4-A325-68A91EA49C09)
Размер
USHORT
sizeof(DXGK_OPM_INTERFACE)
Версия
USHORT
DXGK_OPM_INTERFACE_VERSION_1
Интерфейс
PINTERFACE
Указатель на структуру DXGK_OPM_INTERFACE
InterfaceSpecificData
PVOID
NULL
Подсистема графического ядра DirectX передает инициализированные QUERY_INTERFACE в вызове функции DxgkDdiQueryInterface драйвера мини-порта дисплея.
Если драйвер мини-порта дисплея не поддерживает интерфейс OPM, DxgkDdiQueryInterface должен вернуть STATUS_NOT_SUPPORTED.
Если драйвер мини-порта дисплея поддерживает OPM, DxgkDdiQueryInterface инициализирует структуру DXGK_OPM_INTERFACE , полученную в элементе InterfaceQUERY_INTERFACE со значениями, приведенными в следующей таблице.
Имя, тип и значение члена:
Размер
Тип USHORTsizeof(DXGK_OPM_INTERFACE)
Версия
Тип USHORTDXGK_OPM_INTERFACE_VERSION_1
InterfaceReference
Тип PINTERFACE_REFERENCEУказатель на подпрограмму InterfaceReference драйвера мини-порта дисплея (сведения об InterfaceReference см. в разделе Примечания структуры INTERFACE .)
InterfaceDereference
Тип PINTERFACE_DEREFERENCEУказатель на подпрограмму InterfaceDereference драйвера мини-порта дисплея (сведения об InterfaceDereference см. в разделе Примечания структуры INTERFACE .)
DxgkDdiOPMGetCertificateSize
Тип DXGKDDI_OPM_GET_CERTIFICATE_SIZEУказатель на функцию DxgkDdiOPMGetCertificateSize драйвера мини-порта дисплея
DxgkDdiOPMGetCertificate
Тип DXGKDDI_OPM_GET_CERTIFICATEУказатель на функцию DxgkDdiOPMGetCertificate драйвера мини-порта дисплея.
DxgkDdiOPMCreateProtectedOutput
Тип DXGKDDI_OPM_CREATE_PROTECTED_OUTPUTУказатель на функцию DxgkDdiOPM драйвера мини-порта дисплеяCreateProtectedOutput .
DxgkDdiOPMGetRandomNumber
Тип DXGKDDI_OPM_GET_RANDOM_NUMBERУказатель на функцию DxgkDdiOPMGetRandomNumber драйвера мини-порта дисплея
DxgkDdiOPMSetSigningKeyAndSequenceNumbers
DXGKDDI_OPM_SET_SIGNING_KEY_AND_SEQUENCE_NUMBERSУказатель на функцию DxgkDdiOPMSetSigningKeyAndSequenceNumbers драйвера мини-порта дисплея.
DxgkDdiOPMGetInformation
DXGKDDI_OPM_GET_INFORMATIONУказатель на функцию DxgkDdiOPMGetInformation драйвера мини-порта дисплея
DxgkDdiOPMGetCOPPCompatibleInformation
DXGKDDI_OPM_GET_COPP_COMPATIBLE_INFORMATIONУказатель на функцию DxgkDdiOPMGetCOPPCompatibleInformation драйвера мини-порта дисплея.
DxgkDdiOPMConfigureProtectedOutput
DXGKDDI_OPM_CONFIGURE_PROTECTED_OUTPUTУказатель на функцию DxgkDdiOPMConfigureProtectedOutput драйвера мини-порта дисплея
DxgkDdiOPMDeprotectedOutput
DXGKDDI_OPM_DESTROY_PROTECTED_OUTPUTУказатель на функцию DxgkDdiOPMDeprotectedOutput драйвера мини-порта дисплея.
После завершения работы драйвера мини-порта дисплея с помощью интерфейса OPM драйвер вызывает свою подпрограмму InterfaceDereference . Драйвер должен вызвать InterfaceDereference перед вызовом функции DxgkDdiRemoveDevice .