Recuperación de DDI de OPM
En la secuencia siguiente se muestra cómo el subsistema del kernel de gráficos de Microsoft DirectX (Dxgkrnl.sys) recupera el OPM DDI del controlador de miniporte de pantalla:
El subsistema del kernel de gráficos de DirectX llama a la función DxgkDdiAddDevice del controlador de miniporte para mostrar para crear un bloque de contexto para un adaptador de gráficos y devolver un identificador a ese adaptador de gráficos.
El subsistema del kernel de gráficos de DirectX inicializa una estructura de QUERY_INTERFACE con los valores de la tabla siguiente.
Nombre del miembro Tipo de miembro Valor InterfaceType
CONST PGUID
Puntero a GUID_DEVINTERFACE_OPM
(BF4672DE-6B4E-4BE4-A325-68A91EA49C09)
Tamaño
USHORT
sizeof(DXGK_OPM_INTERFACE)
Versión
USHORT
DXGK_OPM_INTERFACE_VERSION_1
Interfaz
PINTERFACE
Puntero a una estructura de DXGK_OPM_INTERFACE
InterfaceSpecificData
PVOID
NULL
El subsistema del kernel de gráficos de DirectX pasa el QUERY_INTERFACE inicializado en una llamada a la función DxgkDdiQueryInterface del controlador de miniporte de pantalla.
Si el controlador de minipuerto de pantalla no admite la interfaz OPM, DxgkDdiQueryInterface debe devolver STATUS_NOT_SUPPORTED.
Si el controlador de minipuerto de pantalla admite OPM, DxgkDdiQueryInterface inicializa la estructura de DXGK_OPM_INTERFACE que se recibió en el miembro Interface de QUERY_INTERFACE con los valores de la tabla siguiente.
Nombre de miembro, tipo y valor:
Tamaño
Tipo de USHORTsizeof(DXGK_OPM_INTERFACE)
Versión
Tipo de USHORTDXGK_OPM_INTERFACE_VERSION_1
InterfaceReference
Tipo PINTERFACE_REFERENCEPuntero a la rutina InterfaceReference del controlador de miniporte de pantalla (Para obtener información sobre InterfaceReference, vea la sección Comentarios de la estructura INTERFACE ).
InterfaceDereference
PINTERFACE_DEREFERENCE de tipoPuntero a la rutina InterfaceDereference del controlador de miniporte de pantalla (Para obtener información sobre InterfaceDereference, vea la sección Comentarios de la estructura INTERFACE ).
DxgkDdiOPMGetCertificateSize
DXGKDDI_OPM_GET_CERTIFICATE_SIZE de tipoPuntero a la función DxgkDdiOPMGetCertificateSize del controlador de minipuerto de pantalla.
DxgkDdiOPMGetCertificate
DXGKDDI_OPM_GET_CERTIFICATE de tipoPuntero a la función DxgkDdiOPMGetCertificate del controlador de miniporte de pantalla.
DxgkDdiOPMCreateProtectedOutput
Escriba DXGKDDI_OPM_CREATE_PROTECTED_OUTPUTPuntero a la función DxgkDdiOPMCreateProtectedOutput del controlador de minipuerto de pantalla.
DxgkDdiOPMGetRandomNumber
Tipo DXGKDDI_OPM_GET_RANDOM_NUMBERPuntero a la función DxgkDdiOPMGetRandomNumber del controlador de minipuerto de pantalla.
DxgkDdiOPMSetSigningKeyAndSequenceNumbers
DXGKDDI_OPM_SET_SIGNING_KEY_AND_SEQUENCE_NUMBERSPuntero a la función DxgkDdiOPMSetSigningKeyAndSequenceNumbers del controlador de miniporte para mostrar
DxgkDdiOPMGetInformation
DXGKDDI_OPM_GET_INFORMATIONPuntero a la función DxgkDdiOPMGetInformation del controlador de miniporte de pantalla
DxgkDdiOPMGetCOPPCompatibleInformation
DXGKDDI_OPM_GET_COPP_COMPATIBLE_INFORMATIONPuntero a la función DxgkDdiOPMGetCOPPCompatibleInformation del controlador de miniporte de pantalla
DxgkDdiOPMConfigureProtectedOutput
DXGKDDI_OPM_CONFIGURE_PROTECTED_OUTPUTPuntero a la función DxgkDdiOPMConfigureProtectedOutput del controlador de miniporte de pantalla.
DxgkDdiOPMDestroyProtectedOutput
DXGKDDI_OPM_DESTROY_PROTECTED_OUTPUTPuntero a la función DxgkDdiOPMDestroyProtectedOutput del controlador de miniporte de pantalla.
Cuando el controlador de minipuerto de pantalla finaliza con la interfaz OPM, el controlador llama a su rutina InterfaceDereference . El controlador debe llamar a InterfaceDereference antes de llamar a su función DxgkDdiRemoveDevice .