Bagikan melalui


struktur DXGK_GRAPHICSPOWER_REGISTER_INPUT_V_1_2 (d3dkmthk.h)

Struktur DXGK_GRAPHICSPOWER_REGISTER_INPUT_V_1_2 digunakan untuk mendaftarkan status daya input baru.

Sintaks

typedef struct _DXGK_GRAPHICSPOWER_REGISTER_INPUT_V_1_2 {
  ULONG                         Version;
  PVOID                         PrivateHandle;
  PDXGK_POWER_NOTIFICATION      PowerNotificationCb;
  PDXGK_REMOVAL_NOTIFICATION    RemovalNotificationCb;
  PDXGK_FSTATE_NOTIFICATION     FStateNotificationCb;
  PDXGK_INITIAL_COMPONENT_STATE InitialComponentStateCb;
} DXGK_GRAPHICSPOWER_REGISTER_INPUT_V_1_2, *PDXGK_GRAPHICSPOWER_REGISTER_INPUT_V_1_2;

Anggota

Version

Versi saat ini sedang digunakan. Nilai ini harus diatur ke salah satu DXGK_GRAPHICSPOWER_VERSIONs berikut:

#define DXGK_GRAPHICSPOWER_VERSION_1_0 0x1000
#define DXGK_GRAPHICSPOWER_VERSION_1_1 0x1001
#define DXGK_GRAPHICSPOWER_VERSION_1_2 0x1002
#define DXGK_GRAPHICSPOWER_VERSION DXGK_GRAPHICSPOWER_VERSION_1_2

Secara default, DXGK_GRAPHICSPOWER_VERSION mewakili versi terbaru. Subsistem grafis mendukung versi saat ini dan semua versi sebelumnya. Jika nilai ini adalah versi yang tidak dikenali, kita akan gagal dengan STATUS_NOINTERFACE. Ini seharusnya hanya terjadi dalam kasus driver non-grafis dibangun untuk OS yang lebih baru daripada yang saat ini berjalan, dan dalam hal ini kami mengharapkan driver non-grafis mencoba kembali dengan nomor versi yang lebih rendah.

DXGK_GRAPHICSPOWER_VERSION_1_1 mendukung pemberitahuan perubahan status F. DXGK_GRAPHICSPOWER_VERSION_1_2 mendukung enumerasi awal data dan status komponen daya bersama.

PrivateHandle

Handel buram yang akan disediakan dalam panggilan balik apa pun. Handel ini harus unik secara global, oleh karena itu, pointer ke PDO atau FDO driver panggilan harus digunakan. Handel ini akan digunakan sebagai kunci oleh grafik untuk melacak pendaftaran khusus ini, dan akan dikaitkan dengan panggilan balik driver non-grafis untuk menangani penghapusan mereka di masa depan.

PowerNotificationCb

Panggilan balik memberikan pemberitahuan bahwa perangkat grafis akan menjalani transisi status daya perangkat, dan memberikan DEVICE_POWER_STATE baru. Panggilan balik ini diperlukan untuk diimplementasikan. Lihat PDXGK_POWER_NOTIFICATION.

RemovalNotificationCb

Panggilan balik yang memberi tahu bahwa perangkat grafis sedang dihapus. Setiap panggilan balik lebih lanjut ke dalam grafik untuk DeviceHandle ini akan mengembalikan kode NTSTATUS yang gagal dan akan diblokir sampai Anda kembali dari panggilan balik RemovalNotificationCb. Panggilan balik ini diperlukan untuk diimplementasikan. Lihat PDXGK_REMOVAL_NOTIFICATION

FStateNotificationCb

Mengeluarkan pemberitahuan status. Panggilan balik ini bersifat opsional, dan digunakan oleh driver non-grafis. Lihat PDXGK_FSTATE_NOTIFICATION.

InitialComponentStateCb

Menginisialisasi status komponen. Lihat PDXGK_INITIAL_COMPONENT_STATE.

Keterangan

Driver grafis menunjukkan komponen daya apa yang ada dengan merespons kueri DXGKQAITYPE_NUMPOWERCOMPONENTS dan DXGKQAITYPE_POWERCOMPONENTINFO di _DXGK_QUERYADAPTERINFOTYPE.

Jika driver grafis mendaftarkan setidaknya satu komponen DXGK_POWER_COMPONENT_SHARED , antarmuka GRAPHICSPOWER akan dibuat untuk adaptor tersebut. Antarmuka tidak akan didaftarkan untuk adaptor yang tidak mengekspos salah satu komponen ini.

Driver grafis dapat mendaftarkan komponen "pemblokiran" dengan mengatur bendera DXGK_POWER_RUNTIME_COMPONENTActiveInD3 ke 0, atau komponen "nonblocking" dengan mengatur bendera ini ke 1.

Komponen daya pemblokiran akan mencegah perangkat grafis mati saat digunakan sementara komponen daya non-pemblokiran tidak akan berfungsi. Keduanya memungkinkan driver grafis untuk mengelola bidang dayanya dengan benar saat digunakan oleh driver non-grafis.

Driver grafis dapat mengekspos komponen daya pemblokiran dan non-pemblokiran untuk satu komponen fisik/logis, jika ingin memberikan kemampuan bagi driver non-grafis untuk secara selektif memilih penggunaan pemblokiran atau non-pemblokiran.

Ketika antarmuka driver GRAPHICSPOWER tersedia dan diaktifkan, driver non-grafis dapat melakukan panggilan IO ke driver grafis untuk mendaftarkan dirinya dengan driver grafis yang menyediakan dan mendapatkan panggilan balik yang akan digunakan untuk mengelola komponen daya bersama. Panggilan IO akan menggunakan kode kontrol IOCTL_INTERNAL_GRAPHICSPOWER_REGISTER , dengan DXGK_GRAPHICSPOWER_REGISTER_INPUT_V_1_2 data input dan data output _DXGK_GRAPHICSPOWER_REGISTER_OUTPUT.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 10, versi 1803 (WDDM 2.4)
Header d3dkmthk.h