DXGKDDI_OPM_GET_INFORMATION fungsi panggilan balik (dispmprt.h)

Fungsi DXGKDDI_OPM_GET_INFORMATION mengambil informasi dari objek output yang dilindungi yang diberikan.

Sintaks

DXGKDDI_OPM_GET_INFORMATION DxgkddiOpmGetInformation;

NTSTATUS DxgkddiOpmGetInformation(
  [in]  PVOID MiniportDeviceContext,
  [in]  HANDLE ProtectedOutputHandle,
  [in]  const DXGKMDT_OPM_GET_INFO_PARAMETERS *Parameters,
  [out] PDXGKMDT_OPM_REQUESTED_INFORMATION RequestedInformation
)
{...}

Parameter

[in] MiniportDeviceContext

Handel ke blok konteks yang terkait dengan adaptor tampilan. Sebelumnya, fungsi DxgkDdiAddDevice driver miniport tampilan memberikan handel ini ke subsistem kernel grafis DirectX.

[in] ProtectedOutputHandle

Handel ke objek output yang dilindungi. Fungsi DxgkDdiOPMCreateProtectedOutput membuat objek output yang dilindungi dan mengembalikan handel ke objek . Objek output yang dilindungi yang sesuai dengan handel ini harus memiliki semantik OPM.

[in] Parameters

Penunjuk ke struktur DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS yang berisi parameter yang digunakan untuk mengambil informasi dari objek output terproteksi yang handelnya ditentukan dalam parameter ProtectedOutputHandle . DXGKDDI_OPM_GET_INFORMATION menentukan apakah parameter berisi permintaan yang valid dari aplikasi yang secara tidak langsung membuat objek output yang dilindungi. Untuk informasi lebih lanjut, lihat bagian Keterangan.

[out] RequestedInformation

Penunjuk ke struktur DXGKMDT_OPM_REQUESTED_INFORMATION yang menerima informasi objek output yang dilindungi jika DXGKDDI_OPM_GET_INFORMATION berhasil dikembalikan.

Jika DXGKDDI_OPM_GET_INFORMATION gagal, nilai yang dituju requestedInformation tidak berubah.

Mengembalikan nilai

DxgkDdiOPMGetCOPPCompatibleInformation mengembalikan kode kesalahan STATUS_SUCCESS atau Ntstatus.h .

Keterangan

Subsistem kernel grafis DirectX harus memanggil DXGKDDI_OPM_GET_INFORMATION hanya jika output memiliki semantik OPM.

Sebelum subsistem kernel grafis DirectX meneruskan handel output yang dilindungi ke parameter ProtectedOutputHandle dalam panggilan ke DXGKDDI_OPM_GET_INFORMATION, subsistem kernel grafis DirectX selalu meneruskan handel output yang dilindungi ke fungsi DxgkDdiOPMSetSigningKeyAndSequenceNumbers dan DxgkDdiOPMGetRandomNumber .

DXGKDDI_OPM_GET_INFORMATION mengambil salah satu jenis informasi berikut:

  • Jenis konektor output yang dilindungi.
  • Jenis perlindungan konten yang didukung output yang dilindungi. Output yang dilindungi saat ini dapat mendukung ACP, CGMS-A, dan HDCP.
  • Tingkat perlindungan virtual output yang dilindungi saat ini untuk jenis perlindungan tertentu.
  • Tingkat perlindungan aktual output fisik untuk jenis perlindungan tertentu.
  • Versi HDCP SRM yang saat ini digunakan oleh output yang dilindungi.
  • Jenis bus ekspansi yang digunakan adaptor grafis dan bagaimana adaptor grafis terhubung ke jembatan utara komputer.
  • Format gambar yang dikirim adaptor grafis dari output fisik ke monitor.

Anggota guidInformation dari struktur DXGKMDT_OPM_GET_INFO_PARAMETERS yang dituju parameter Parameter tidak boleh berisi GUID DXGKMDT_OPM_GET_CONNECTED_HDCP_DEVICE_INFORMATION dan DXGKMDT_OPM_GET_ACP_AND_CGMSA_SIGNALING karena hanya aplikasi COPP yang harus menentukan GUID ini.

4 byte pertama dari anggota DXGKMDT_OPM_GET_INFO_PARAMETERS abParameters tidak boleh berisi jenis perlindungan DXGKMDT_OPM_PROTECTION_TYPE_COPP_COMPATIBLE_HDCP ketika GUID DXGKMDT_OPM_GET_VIRTUAL_PROTECTION_LEVEL atau DXGKMDT_OPM_GET_ACTUAL_PROTECTION_LEVEL ditentukan dalam anggota guidInformationDXGKMDT_OPM_GET_INFO_PARAMETERS karena hanya aplikasi COPP yang menggunakan jenis perlindungan ini.

Driver harus melakukan urutan berikut ketika fungsi DXGKDDI_OPM_GET_INFORMATION dipanggil.

  1. Verifikasi bahwa handel output yang dilindungi yang diteruskan ke parameter ProtectedOutputHandleDXGKDDI_OPM_GET_INFORMATION memiliki semantik OPM.

  2. Verifikasi bahwa informasi dalam parameter Parameter ditandatangani dengan kunci penandatanganan objek output yang dilindungi. Kunci penandatanganan objek output yang dilindungi sebelumnya diatur ketika fungsi DxgkDdiOPMSetSigningKeyAndSequenceNumbers dipanggil. Cipher blok Standar Enkripsi Lanjutan (AES) dan algoritma penandatanganan OMAC-1 harus digunakan untuk memverifikasi tanda tangan. Untuk informasi tentang AES, lihat situs web Laboratorium RSA . Untuk informasi tentang OMAC-1, lihat halaman referensi DXGKMDT_OPM_OMAC .

  3. Ambil informasi yang diminta.

  4. Salin angka acak yang ditentukan anggota rnRandomNumberdari DXGKMDT_OPM_GET_INFO_PARAMETERS ke anggota rnRandomNumber dalam struktur DXGKMDT_OPM_STANDARD_INFORMATION atau DXGKMDT_OPM_ACTUAL_OUTPUT_FORMAT. Struktur yang digunakan tergantung pada jenis informasi yang diminta pemanggil dan diatur dalam anggota abRequestedInformation dari struktur DXGKMDT_OPM_REQUESTED_INFORMATION yang ditunjuk oleh parameter RequestedInformation .

  5. Tanda tangani struktur DXGKMDT_OPM_REQUESTED_INFORMATION dan letakkan tanda tangan di anggota omac DXGKMDT_OPM_REQUESTED_INFORMATION. Cipher blok AES dan algoritma penandatanganan OMAC-1 harus digunakan untuk menandatangani struktur.

Awalnya, subsistem kernel grafis DirectX memanggil DXGKDDI_OPM_GET_INFORMATION untuk mengambil informasi tentang output dan kemudian memanggil DxgkDdiOPMConfigureProtectedOutput satu atau beberapa kali untuk mengonfigurasi output. Selanjutnya, subsistem kernel grafis DirectX memanggil DXGKDDI_OPM_GET_INFORMATION tanpa juga memanggil DxgkDdiOPMConfigureProtectedOutput.

DXGKDDI_OPM_GET_INFORMATION harus dibuat dapat di-pageable.

Persyaratan

Persyaratan Nilai
Target Platform Desktop
Header dispmprt.h (termasuk Dispmprt.h)
IRQL PASSIVE_LEVEL (lihat bagian Keterangan)

Lihat juga

DxgkDdiAddDevice

DxgkDdiOPMConfigureProtectedOutput

DxgkDdiOPMCreateProtectedOutput

DXGKDDI_OPM_GET_INFORMATION

DxgkDdiOPMGetRandomNumber

DxgkDdiOPMSetSigningKeyAndSequenceNumbers

DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS

DXGKMDT_OPM_OMAC

DXGKMDT_OPM_REQUESTED_INFORMATION