Freigeben über


Abrufen des OPM-DDI

Die folgende Sequenz zeigt, wie das Microsoft DirectX-Grafikkernsubsystem (Dxgkrnl.sys) den OPM DDI des Anzeigeminiporttreibers abruft:

  1. Das DirectX-Grafikkernsubsystem ruft die DxgkDdiAddDevice-Funktion des Display-Miniporttreibers auf, um einen Kontextblock für einen Grafikkarten zu erstellen und einen Handle für diesen Grafikkarten zurückzugeben.

  2. Das DirectX-Grafikkernsubsystem initialisiert eine QUERY_INTERFACE-Struktur mit den Werten in der folgenden Tabelle.

    Membername Memberart Wert

    InterfaceType

    CONST PGUID

    Ein Zeiger auf GUID_DEVINTERFACE_OPM

    (BF4672DE-6B4E-4BE4-A325-68A91EA49C09)

    Größe

    USHORT

    sizeof(DXGK_OPM_INTERFACE)

    Version

    USHORT

    DXGK_OPM_INTERFACE_VERSION_1

    Interface

    PINTERFACE

    Ein Zeiger auf eine DXGK_OPM_INTERFACE Struktur

    InterfaceSpecificData

    PVOID

    NULL

  3. Das DirectX-Grafikkernsubsystem übergibt die initialisierte QUERY_INTERFACE in einem Aufruf der DxgkDdiQueryInterface-Funktion des Anzeigeminiporttreibers.

  4. Wenn der Anzeigeminiporttreiber die OPM-Schnittstelle nicht unterstützt, muss DxgkDdiQueryInterface STATUS_NOT_SUPPORTED zurückgeben.

    Wenn der Anzeigeminiporttreiber OPM unterstützt, initialisiert DxgkDdiQueryInterface die DXGK_OPM_INTERFACE-Struktur , die im Schnittstellenelement von QUERY_INTERFACE empfangen wurde, mit den Werten in der folgenden Tabelle.

    Membername, -typ und -wert:

    Größe
    Typ USHORT

    sizeof(DXGK_OPM_INTERFACE)

    Version
    Typ USHORT

    DXGK_OPM_INTERFACE_VERSION_1

    InterfaceReference
    Typ PINTERFACE_REFERENCE

    Ein Zeiger auf die InterfaceReference-Routine des Anzeigeminiporttreibers (Informationen zu InterfaceReference finden Sie im Abschnitt Hinweise der INTERFACE-Struktur .)

    InterfaceDereference
    Typ PINTERFACE_DEREFERENCE

    Ein Zeiger auf die InterfaceDereference-Routine des Anzeigeminiporttreibers (Informationen zu InterfaceDereference finden Sie im Abschnitt Hinweise der INTERFACE-Struktur .)

    DxgkDdiOPMGetCertificateSize
    Typ DXGKDDI_OPM_GET_CERTIFICATE_SIZE

    Ein Zeiger auf die DxgkDdiOPMGetCertificateSize-Funktion des Anzeigeminiporttreibers

    DxgkDdiOPMGetCertificate
    Typ DXGKDDI_OPM_GET_CERTIFICATE

    Ein Zeiger auf die DxgkDdiOPMGetCertificate-Funktion des Anzeigeminiporttreibers

    DxgkDdiOPMCreateProtectedOutput
    Typ DXGKDDI_OPM_CREATE_PROTECTED_OUTPUT

    Ein Zeiger auf die DxgkDdiOPMCreateProtectedOutput-Funktion des Anzeigeminiporttreibers

    DxgkDdiOPMGetRandomNumber
    Typ DXGKDDI_OPM_GET_RANDOM_NUMBER

    Ein Zeiger auf die DxgkDdiOPMGetRandomNumber-Funktion des Anzeigeminiporttreibers

    DxgkDdiOPMSetSigningKeyAndSequenceNumbers
    DXGKDDI_OPM_SET_SIGNING_KEY_AND_SEQUENCE_NUMBERS

    Ein Zeiger auf die DxgkDdiOPMSetSigningKeyAndSequenceNumbers-Funktion des Anzeigeminiporttreibers

    DxgkDdiOPMGetInformation
    DXGKDDI_OPM_GET_INFORMATION

    Ein Zeiger auf die DxgkDdiOPMGetInformation-Funktion des Anzeigeminiporttreibers

    DxgkDdiOPMGetCOPPCompatibleInformation
    DXGKDDI_OPM_GET_COPP_COMPATIBLE_INFORMATION

    Ein Zeiger auf die DxgkDdiOPMGetCOPPCompatibleInformation-Funktion des Anzeigeminiporttreibers

    DxgkDdiOPMConfigureProtectedOutput
    DXGKDDI_OPM_CONFIGURE_PROTECTED_OUTPUT

    Ein Zeiger auf die DxgkDdiOPMConfigureProtectedOutput-Funktion des Anzeigeminiporttreibers

    DxgkDdiOPMDestroyProtectedOutput
    DXGKDDI_OPM_DESTROY_PROTECTED_OUTPUT

    Ein Zeiger auf die DxgkDdiOPMDestroyProtectedOutput-Funktion des Anzeigeminiporttreibers

  5. Wenn der Anzeigeminiporttreiber mit der OPM-Schnittstelle fertig ist, ruft der Treiber seine InterfaceDereference-Routine auf . Der Treiber sollte InterfaceDereference aufrufen, bevor seine DxgkDdiRemoveDevice-Funktion aufgerufen wird.