Bagikan melalui


Mengambil OPM DDI

Urutan berikut menunjukkan bagaimana subsistem kernel grafis Microsoft DirectX (Dxgkrnl.sys) mengambil DDI OPM driver miniport tampilan:

  1. Subsistem kernel grafis DirectX memanggil fungsi DxgkDdiAddDevice driver miniport tampilan untuk membuat blok konteks untuk adaptor grafis dan mengembalikan handel ke adaptor grafis tersebut.

  2. Subsistem kernel grafik DirectX menginisialisasi struktur QUERY_INTERFACE dengan nilai dalam tabel berikut.

    Nama anggota Jenis anggota Nilai

    InterfaceType

    CONST PGUID

    Penunjuk ke GUID_DEVINTERFACE_OPM

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

    Ukuran

    USHORT

    sizeof(DXGK_OPM_INTERFACE)

    Versi

    USHORT

    DXGK_OPM_INTERFACE_VERSION_1

    Antarmuka

    PINTERFACE

    Penunjuk ke struktur DXGK_OPM_INTERFACE

    InterfaceSpecificData

    PVOID

    NULL

  3. Subsistem kernel grafis DirectX meneruskan QUERY_INTERFACE yang diinisialisasi dalam panggilan ke fungsi DxgkDdiQueryInterface driver miniport tampilan.

  4. Jika driver miniport tampilan tidak mendukung antarmuka OPM, DxgkDdiQueryInterface harus mengembalikan STATUS_NOT_SUPPORTED.

    Jika driver miniport tampilan mendukung OPM, DxgkDdiQueryInterface menginisialisasi struktur DXGK_OPM_INTERFACE yang diterima di anggota AntarmukaQUERY_INTERFACE dengan nilai dalam tabel berikut.

    Nama anggota, jenis, dan nilai:

    Ukuran
    Ketik USHORT

    sizeof(DXGK_OPM_INTERFACE)

    Versi
    Ketik USHORT

    DXGK_OPM_INTERFACE_VERSION_1

    InterfaceReference
    Ketik PINTERFACE_REFERENCE

    Penunjuk ke rutinitas InterfaceReference driver miniport tampilan (Untuk informasi tentang InterfaceReference, lihat bagian Keterangan dari struktur ANTARMUKA .)

    InterfaceDereference
    Ketik PINTERFACE_DEREFERENCE

    Penunjuk ke rutinitas InterfaceDereference driver miniport tampilan (Untuk informasi tentang InterfaceDereference, lihat bagian Keterangan dari struktur ANTARMUKA .)

    DxgkDdiOPMGetCertificateSize
    Ketik DXGKDDI_OPM_GET_CERTIFICATE_SIZE

    Penunjuk ke fungsi DxgkDdiOPMGetCertificateSize driver miniport

    DxgkDdiOPMGetCertificate
    Ketik DXGKDDI_OPM_GET_CERTIFICATE

    Penunjuk ke fungsi DxgkDdiOPMGetCertificate driver miniport

    DxgkDdiOPMCreateProtectedOutput
    Ketik DXGKDDI_OPM_CREATE_PROTECTED_OUTPUT

    Penunjuk ke fungsi DxgkDdiOPMCreateProtectedOutput driver miniport

    DxgkDdiOPMGetRandomNumber
    Ketik DXGKDDI_OPM_GET_RANDOM_NUMBER

    Penunjuk ke fungsi DxgkDdiOPM driver miniportGetRandomNumber

    DxgkDdiOPMSetSigningKeyAndSequenceNumbers
    DXGKDDI_OPM_SET_SIGNING_KEY_AND_SEQUENCE_NUMBERS

    Penunjuk ke fungsi DxgkDdiOPMSetSigningKeyAndSequenceNumbers driver tampilan

    DxgkDdiOPMGetInformation
    DXGKDDI_OPM_GET_INFORMATION

    Penunjuk ke fungsi DxgkDdiOPMGetInformation driver miniport

    DxgkDdiOPMGetCOPPCompatibleInformation
    DXGKDDI_OPM_GET_COPP_COMPATIBLE_INFORMATION

    Penunjuk ke fungsi DxgkDdiOPMGetCOPPCompatibleInformation driver miniport

    DxgkDdiOPMConfigureProtectedOutput
    DXGKDDI_OPM_CONFIGURE_PROTECTED_OUTPUT

    Penunjuk ke fungsi DxgkDdiOPMConfigureProtectedOutput driver miniport

    DxgkDdiOPMDestroyProtectedOutput
    DXGKDDI_OPM_DESTROY_PROTECTED_OUTPUT

    Penunjuk ke fungsi DxgkDdiOPMDestroyProtectedOutput driver miniport

  5. Ketika driver miniport tampilan selesai menggunakan antarmuka OPM, driver memanggil rutinitas InterfaceDereference-nya . Driver harus memanggil InterfaceDereference sebelum fungsi DxgkDdiRemoveDevice dipanggil.