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


Получение DDI OPM

В следующей последовательности показано, как подсистема графического ядра Microsoft DirectX (Dxgkrnl.sys) извлекает DDI OPM драйвера дисплея miniport:

  1. Подсистема ядра графики DirectX вызывает функцию DxgkDdiAddDevice драйвера дисплея miniport, чтобы создать блок контекста для графического адаптера и вернуть дескриптор в этот графический адаптер.

  2. Подсистема графического ядра 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

  3. Подсистема графического ядра DirectX передает инициализированные QUERY_INTERFACE в вызове функции DxgkDdiQueryInterface драйвера мини-порта дисплея.

  4. Если драйвер мини-порта дисплея не поддерживает интерфейс OPM, DxgkDdiQueryInterface должен вернуть STATUS_NOT_SUPPORTED.

    Если драйвер мини-порта дисплея поддерживает OPM, DxgkDdiQueryInterface инициализирует структуру DXGK_OPM_INTERFACE , полученную в элементе InterfaceQUERY_INTERFACE со значениями, приведенными в следующей таблице.

    Имя, тип и значение члена:

    Размер
    Тип USHORT

    sizeof(DXGK_OPM_INTERFACE)

    Версия
    Тип USHORT

    DXGK_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 драйвера мини-порта дисплея.

  5. После завершения работы драйвера мини-порта дисплея с помощью интерфейса OPM драйвер вызывает свою подпрограмму InterfaceDereference . Драйвер должен вызвать InterfaceDereference перед вызовом функции DxgkDdiRemoveDevice .