DXGKCB_QUERY_SERVICES fungsi panggilan balik (dispmprt.h)

Fungsi DxgkCbQueryServices mengembalikan antarmuka yang diimplementasikan oleh driver port tampilan.

Sintaks

DXGKCB_QUERY_SERVICES DxgkcbQueryServices;

NTSTATUS DxgkcbQueryServices(
  [in]      HANDLE DeviceHandle,
  [in]      DXGK_SERVICES ServicesType,
  [in, out] PINTERFACE Interface
)
{...}

Parameter

[in] DeviceHandle

Handel yang mewakili adaptor tampilan. Driver miniport tampilan sebelumnya memperoleh handel ini di anggota DeviceHandle dari struktur DXGKRNL_INTERFACE yang diteruskan ke DxgkDdiStartDevice.

[in] ServicesType

Konstanta dari enumerasi DXGK_SERVICES yang menentukan antarmuka mana yang diminta.

[in, out] Interface

Penunjuk ke struktur ANTARMUKA yang menerima antarmuka yang diminta.

Nilai kembali

DxgkCbQueryServices mengembalikan STATUS_SUCCESS jika berhasil. Jika tidak, ia mengembalikan salah satu kode kesalahan yang ditentukan dalam Ntstatus.h.

Keterangan

Antarmuka, dalam konteks ini, adalah sekumpulan fungsi yang diimplementasikan oleh driver port tampilan. Driver port tampilan membuat fungsi antarmuka tersedia untuk driver lain dengan menyediakan penunjuk fungsi sebagai respons terhadap DxgkCbQueryServices.

Mendapatkan antarmuka AGP

Untuk mendapatkan antarmuka Port Grafis Dipercepat (AGP), lakukan hal berikut:

  1. Alokasikan struktur DXGK_AGP_INTERFACE .

  2. Atur anggota Ukuran ke sizeof(DXGK_AGP_INTERFACE).

  3. Atur Anggota versi . Konstanta versi ditentukan dalam Dispmprt.h (misalnya, DXGK_AGP_INTERFACE_VERSION_1).

  4. Panggil DxgkCbQueryServices; atur ServicesType ke DxgkServicesAgp, dan atur Antarmuka ke alamat (transmisikan sebagai PINTERFACE) dari struktur DXGK_AGP_INTERFACE Anda.

  5. Saat kembali dari DxgkCbQueryServices, struktur DXGK_AGP_INTERFACE Anda akan berisi pointer ke fungsi antarmuka AGP; misalnya, AgpAllocatePool.

Mendapatkan antarmuka Laporan Debug

Untuk mendapatkan antarmuka Laporan Debug, lakukan hal berikut:

  1. Alokasikan struktur DXGK_DEBUG_REPORT_INTERFACE .

  2. Atur anggota Ukuran ke sizeof(DXGK_DEBUG_REPORT_INTERFACE).

  3. Atur Anggota versi . Konstanta versi ditentukan dalam Dispmprt.h (misalnya, DXGK_DEBUG_REPORT_INTERFACE_VERSION_1).

  4. Panggil DxgkCbQueryServices; atur ServicesType ke DxgkServicesDebugReport, dan atur Antarmuka ke alamat (transmisikan sebagai PINTERFACE) dari struktur DXGK_DEBUG_REPORT_INTERFACE Anda.

  5. Saat kembali dari DxgkCbQueryServices, struktur DXGK_DEBUG_REPORT_INTERFACE Anda akan berisi pointer ke fungsi antarmuka Laporan Debug; misalnya, DbgReportCreate.

Mendapatkan antarmuka Timed Operation

Untuk mendapatkan antarmuka Operasi Berwaktu, lakukan hal berikut:

  1. Alokasikan struktur DXGK_TIMED_OPERATION_INTERFACE .

  2. Atur anggota Ukuran ke sizeof(DXGK_TIMED_OPERATION_INTERFACE).

  3. Atur Anggota versi . Konstanta versi ditentukan dalam Dispmprt.h (misalnya, DXGK_TIMED_OPERATION_INTERFACE_VERSION_1).

  4. Panggil DxgkCbQueryServices; atur ServicesType ke DxgkServicesTimedOperation, dan atur Antarmuka ke alamat (transmisikan sebagai PINTERFACE) dari struktur DXGK_TIMED_OPERATION_INTERFACE Anda.

  5. Saat kembali dari DxgkCbQueryServices, struktur DXGK_TIMED_OPERATION_INTERFACE Anda akan berisi pointer ke fungsi antarmuka Operasi Berwaktu; misalnya, TimedOperationStart.

Mendapatkan antarmuka Tabel Firmware SPB dan Sistem

Antarmuka Simple Peripheral Bus (SPB) dan System Firmware Table dapat diperoleh dengan mengikuti langkah-langkah di atas menggunakan ServicesType dan struktur yang sesuai.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista
Target Platform Desktop
Header dispmprt.h (termasuk Dispmprt.h)
IRQL PASSIVE_LEVEL

Lihat juga

DXGK_AGP_INTERFACE

DxgkDdiStartDevice

DXGK_DEBUG_REPORT_INTERFACE

DXGK_FIRMWARE_TABLE_INTERFACE

DXGK_SERVICES

DXGK_SPB_INTERFACE

DXGK_TIMED_OPERATION_INTERFACE

DXGKRNL_INTERFACE

ANTARMUKA