DXGKDDI_QUERYDEPENDENTENGINEGROUP fungsi panggilan balik (d3dkmddi.h)

DXGKDDI_QUERYDEPENDENTENGINEGROUP dipanggil oleh penjadwal GPU driver port tampilan untuk mengkueri dependensi simpul dalam adaptor tampilan fisik.

Sintaks

DXGKDDI_QUERYDEPENDENTENGINEGROUP DxgkddiQuerydependentenginegroup;

NTSTATUS DxgkddiQuerydependentenginegroup(
  IN_CONST_HANDLE hAdapter,
  INOUT_DXGKARG_QUERYDEPENDENTENGINEGROUP pQueryDependentEngineGroup
)
{...}

Parameter

hAdapter

Handel ke blok konteks yang terkait dengan adaptor tampilan. Driver miniport tampilan sebelumnya menyediakan handel ini ke subsistem kernel grafis DirectX di parameter output MiniportDeviceContext dari fungsi DxgkDdiAddDevice .

pQueryDependentEngineGroup

Nilai jenis DXGKARG_QUERYDEPENDENTENGINEGROUP yang menentukan semua simpul yang terpengaruh oleh operasi reset.

Menampilkan nilai

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

Keterangan

Fungsi ini digunakan untuk menjelaskan semua adaptor fisik (mesin) yang terpengaruh oleh permintaan reset mesin. Ini membantu meningkatkan pengalaman pengguna pada arsitektur perangkat keras yang memiliki dependensi di antara beberapa mesin yang dapat memengaruhi proses reset. Perhatikan bahwa semua simpul yang terpengaruh harus memiliki nilai afinitas mesin yang sama. (Lihat diskusi afinitas mesin dalam perubahan TDR di Windows 8.)

Penjadwal GPU driver port tampilan memanggil DxgkDdiQueryDependentEngineGroup setiap kali memanggil fungsi DxgkDdiResetEngine . Penjadwal GPU menunggu 500 milidetik agar driver miniport tampilan menyelesaikan pemanggilan semua mesin dependen. Untuk mesin apa pun yang drivernya tidak dapat menyelesaikan preemption, penjadwal GPU memanggil fungsi DxgkDdiResetEngine secara berurutan berdasarkan nilai ordinal mesin.

Berikut adalah contoh cara menghitung bitmask dalam DXGKARG_QUERYDEPENDENTENGINEGROUP. Anggota DependentNodeOrdinalMask . Jika nilai asli dari anggota NodeOrdinal dan EngineOrdinal struktur DXGKARG_QUERYDEPENDENTENGINEGROUP adalah 1 dan 0, dan simpul tambahan dengan pengidentifikasi 2 dan 4 juga akan diatur ulang ketika simpul 1 diatur ulang, driver harus menetapkan nilai biner DependentNodeOrdinalMask ke 10110, atau 0x16 dalam notasi heksadesimal. Nilai indeks EngineOrdinal diasumsikan identik untuk semua simpul dependen. Simpul yang sedang direset disertakan dalam masker bit DependentNodeOrdinalMask .

Fungsi ini harus dibuat dapat di-pageable, dan harus selalu berhasil.

Sistem operasi menjamin bahwa fungsi ini mengikuti mode sinkronisasi tingkat pertama seperti yang didefinisikan dalam Threading dan Synchronization First Level.

Untuk informasi selengkapnya, lihat Perubahan TDR di Windows 8.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 8
Server minimum yang didukung Windows Server 2012
Target Platform Desktop
Header d3dkmddi.h
IRQL PASSIVE_LEVEL

Lihat juga

DXGKARG_CREATECONTEXT

DXGKARG_QUERYDEPENDENTENGINEGROUP

DXGK_DRIVERCAPS

DxgkDdiAddDevice

DxgkDdiResetEngine