Recupero dell'DDI OPM
Nella sequenza seguente viene illustrato come il sottosistema del kernel grafico Microsoft DirectX (Dxgkrnl.sys) recupera l'OPM DDI del driver miniport visualizzato:
Il sottosistema kernel della grafica DirectX chiama la funzione DxgkDdiAddDevice del driver di visualizzazione per creare un blocco di contesto per una scheda grafica e restituire un handle a tale scheda grafica.
Il sottosistema kernel della grafica DirectX inizializza una struttura QUERY_INTERFACE con i valori della tabella seguente.
Nome del membro Tipo di membro Valore InterfaceType
CONST PGUID
Puntatore a GUID_DEVINTERFACE_OPM
(BF4672DE-6B4E-4BE4-A325-68A91EA49C09)
Dimensione
USHORT
sizeof(DXGK_OPM_INTERFACE)
Versione
USHORT
DXGK_OPM_INTERFACE_VERSION_1
Interfaccia
PINTERFACE
Puntatore a una struttura di DXGK_OPM_INTERFACE
InterfaceSpecificData
PVOID
NULL
Il sottosistema kernel della grafica DirectX passa la QUERY_INTERFACE inizializzata in una chiamata alla funzione DxgkDdiQueryInterface del driver di visualizzazione.
Se il driver miniport visualizzato non supporta l'interfaccia OPM, DxgkDdiQueryInterface deve restituire STATUS_NOT_SUPPORTED.
Se il driver miniport visualizzato supporta OPM, DxgkDdiQueryInterface inizializza la struttura DXGK_OPM_INTERFACE ricevuta nel membro Interface di QUERY_INTERFACE con i valori della tabella seguente.
Nome membro, tipo e valore:
Dimensione
Tipo USHORTsizeof(DXGK_OPM_INTERFACE)
Versione
Tipo USHORTDXGK_OPM_INTERFACE_VERSION_1
InterfaceReference
Digitare PINTERFACE_REFERENCEPuntatore alla routine InterfaceReference del driver di visualizzazione (Per informazioni su InterfaceReference, vedere la sezione Osservazioni della struttura INTERFACE ).
InterfaceDereference
Digitare PINTERFACE_DEREFERENCEPuntatore alla routine InterfaceDereference del driver di visualizzazione (Per informazioni su InterfaceDereference, vedere la sezione Osservazioni della struttura INTERFACE ).
DxgkDdiOPMGetCertificateSize
Tipo DXGKDDI_OPM_GET_CERTIFICATE_SIZEPuntatore alla funzione DxgkDdiOPMGetCertificateSize del driver di visualizzazione
DxgkDdiOPMGetCertificate
Digitare DXGKDDI_OPM_GET_CERTIFICATEPuntatore alla funzione DxgkDdiOPMGetCertificate del driver di visualizzazione
DxgkDdiOPMCreateProtectedOutput
Tipo DXGKDDI_OPM_CREATE_PROTECTED_OUTPUTPuntatore alla funzione DxgkDdiOPMCreateProtectedOutput del driver di visualizzazione
DxgkDdiOPMGetRandomNumber
Tipo DXGKDDI_OPM_GET_RANDOM_NUMBERPuntatore alla funzione DxgkDdiOPMGetRandomNumber del driver di visualizzazione
DxgkDdiOPMSetSigningKeyAndSequenceNumbers
DXGKDDI_OPM_SET_SIGNING_KEY_AND_SEQUENCE_NUMBERSPuntatore alla funzione DxgkDdiOPMSetSigningKeyAndSequenceNumbers del driver di visualizzazione
DxgkDdiOPMGetInformation
DXGKDDI_OPM_GET_INFORMATIONPuntatore alla funzione DxgkDdiOPMGetInformation del driver di visualizzazione
DxgkDdiOPMGetCOPPCompatibleInformation
DXGKDDI_OPM_GET_COPP_COMPATIBLE_INFORMATIONPuntatore alla funzione DxgkDdiOPMGetCOPPCompatibleInformation della visualizzazione
DxgkDdiOPMConfigureProtectedOutput
DXGKDDI_OPM_CONFIGURE_PROTECTED_OUTPUTPuntatore alla funzione DxgkDdiOPMConfigureProtectedOutput del driver di visualizzazione
DxgkDdiOPMDestroyProtectedOutput
DXGKDDI_OPM_DESTROY_PROTECTED_OUTPUTPuntatore alla funzione DxgkDdiOPMDestroyProtectedOutput del driver di visualizzazione
Al termine dell'uso dell'interfaccia OPM, il driver chiama la routine InterfaceDereference . Il driver deve chiamare InterfaceDereference prima che venga chiamata la funzione DxgkDdiRemoveDevice .