Condividi tramite


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:

  1. 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.

  2. 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

  3. Il sottosistema kernel della grafica DirectX passa la QUERY_INTERFACE inizializzata in una chiamata alla funzione DxgkDdiQueryInterface del driver di visualizzazione.

  4. 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 USHORT

    sizeof(DXGK_OPM_INTERFACE)

    Versione
    Tipo USHORT

    DXGK_OPM_INTERFACE_VERSION_1

    InterfaceReference
    Digitare PINTERFACE_REFERENCE

    Puntatore alla routine InterfaceReference del driver di visualizzazione (Per informazioni su InterfaceReference, vedere la sezione Osservazioni della struttura INTERFACE ).

    InterfaceDereference
    Digitare PINTERFACE_DEREFERENCE

    Puntatore alla routine InterfaceDereference del driver di visualizzazione (Per informazioni su InterfaceDereference, vedere la sezione Osservazioni della struttura INTERFACE ).

    DxgkDdiOPMGetCertificateSize
    Tipo DXGKDDI_OPM_GET_CERTIFICATE_SIZE

    Puntatore alla funzione DxgkDdiOPMGetCertificateSize del driver di visualizzazione

    DxgkDdiOPMGetCertificate
    Digitare DXGKDDI_OPM_GET_CERTIFICATE

    Puntatore alla funzione DxgkDdiOPMGetCertificate del driver di visualizzazione

    DxgkDdiOPMCreateProtectedOutput
    Tipo DXGKDDI_OPM_CREATE_PROTECTED_OUTPUT

    Puntatore alla funzione DxgkDdiOPMCreateProtectedOutput del driver di visualizzazione

    DxgkDdiOPMGetRandomNumber
    Tipo DXGKDDI_OPM_GET_RANDOM_NUMBER

    Puntatore alla funzione DxgkDdiOPMGetRandomNumber del driver di visualizzazione

    DxgkDdiOPMSetSigningKeyAndSequenceNumbers
    DXGKDDI_OPM_SET_SIGNING_KEY_AND_SEQUENCE_NUMBERS

    Puntatore alla funzione DxgkDdiOPMSetSigningKeyAndSequenceNumbers del driver di visualizzazione

    DxgkDdiOPMGetInformation
    DXGKDDI_OPM_GET_INFORMATION

    Puntatore alla funzione DxgkDdiOPMGetInformation del driver di visualizzazione

    DxgkDdiOPMGetCOPPCompatibleInformation
    DXGKDDI_OPM_GET_COPP_COMPATIBLE_INFORMATION

    Puntatore alla funzione DxgkDdiOPMGetCOPPCompatibleInformation della visualizzazione

    DxgkDdiOPMConfigureProtectedOutput
    DXGKDDI_OPM_CONFIGURE_PROTECTED_OUTPUT

    Puntatore alla funzione DxgkDdiOPMConfigureProtectedOutput del driver di visualizzazione

    DxgkDdiOPMDestroyProtectedOutput
    DXGKDDI_OPM_DESTROY_PROTECTED_OUTPUT

    Puntatore alla funzione DxgkDdiOPMDestroyProtectedOutput del driver di visualizzazione

  5. 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 .