Condividi tramite


DXGK_GRAPHICSPOWER_REGISTER_INPUT_V_1_2 struttura (d3dkmthk.h)

La struttura DXGK_GRAPHICSPOWER_REGISTER_INPUT_V_1_2 viene usata per registrare lo stato di alimentazione di un nuovo input.

Sintassi

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;

Members

Version

Versione corrente usata. Questo valore deve essere impostato su uno dei seguenti DXGK_GRAPHICSPOWER_VERSIONs:

#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

Per impostazione predefinita, DXGK_GRAPHICSPOWER_VERSION rappresenta la versione più recente. Il sottosistema grafico supporta la versione corrente e tutte le versioni precedenti. Se questo valore è una versione non riconosciuta, si avrà esito negativo con STATUS_NOINTERFACE. Ciò dovrebbe verificarsi solo nel caso in cui il driver non grafico sia stato compilato per un sistema operativo più recente rispetto a quello attualmente in esecuzione, e in questo caso si prevede che il driver non grafico riprova con un numero di versione inferiore.

DXGK_GRAPHICSPOWER_VERSION_1_1 supporta le notifiche di modifica dello stato F. DXGK_GRAPHICSPOWER_VERSION_1_2 supporta l'enumerazione iniziale dei dati e dello stato dei componenti di alimentazione condivisi.

PrivateHandle

Handle opaco che verrà fornito in qualsiasi callback. Questo handle deve essere univoco a livello globale, pertanto è necessario usare un puntatore al pdO del driver chiamante o all'oggetto FDO. Questo handle verrà usato come chiave dalla grafica per tenere traccia di questa registrazione specifica e sarà associato ai callback dei driver non grafici per gestire la loro rimozione futura.

PowerNotificationCb

Un callback che fornisce una notifica che il dispositivo grafico subirà una transizione dello stato di alimentazione del dispositivo e fornisce una nuova DEVICE_POWER_STATE. È necessario implementare questo callback. Vedere PDXGK_POWER_NOTIFICATION.

RemovalNotificationCb

Callback che notifica che il dispositivo grafico viene rimosso. Qualsiasi ulteriore callback nella grafica per questo DeviceHandle restituirà un codice NTSTATUS non riuscito e verrà bloccato fino a quando non si torna dal callback di RemovalNotificationCb. È necessario implementare questo callback. Vedere PDXGK_REMOVAL_NOTIFICATION

FStateNotificationCb

Invia una notifica sullo stato. Questo callback è facoltativo e viene usato dai driver non grafici. Vedere PDXGK_FSTATE_NOTIFICATION.

InitialComponentStateCb

Inizializza lo stato del componente. Vedere PDXGK_INITIAL_COMPONENT_STATE.

Commenti

I driver grafici indicano quali componenti di alimentazione esistono rispondendo alle query DXGKQAITYPE_NUMPOWERCOMPONENTS e DXGKQAITYPE_POWERCOMPONENTINFO in _DXGK_QUERYADAPTERINFOTYPE.

Se un driver grafico registra almeno un componente DXGK_POWER_COMPONENT_SHARED , verrà creata un'interfaccia GRAPHICSPOWER per tale scheda. L'interfaccia non verrà registrata per gli adattatori che non espongono nessuno di questi componenti.

I driver grafici possono registrare un componente "blocco" impostando il flag di DXGK_POWER_RUNTIME_COMPONENTActiveInD3 su 0 o un componente "nonblocking" impostando questo flag su 1.

Un componente di alimentazione bloccante impedirà al dispositivo grafico di ridurre l'alimentazione quando in uso mentre un componente di alimentazione non bloccante non sarà. Entrambi consentono al driver grafico di gestire correttamente i suoi piani di alimentazione quando in uso dal driver non grafico.

Un driver grafico può esporre sia un componente di alimentazione bloccante che non bloccante per un singolo componente fisico/logico, se vuole fornire la possibilità al driver non grafico di scegliere in modo selettivo l'utilizzo di blocco o non blocco.

Quando l'interfaccia driver GRAPHICSPOWER è disponibile e abilitata, un driver non grafico può effettuare una chiamata I/O al driver grafico per registrarsi con il driver grafico che fornisce e ottenere callback che verranno usati per gestire i componenti di alimentazione condivisa. La chiamata di I/O userà il codice di controllo IOCTL_INTERNAL_GRAPHICSPOWER_REGISTER , con i dati di input DXGK_GRAPHICSPOWER_REGISTER_INPUT_V_1_2 e i dati di output _DXGK_GRAPHICSPOWER_REGISTER_OUTPUT.

Requisiti

Requisito Valore
Client minimo supportato Windows 10, versione 1803 (WDDM 2.4)
Intestazione d3dkmthk.h