Funzione di callback DXGKDDIPOWERRUNTIMECONTROLREQUEST (d3dkmddi.h)

Chiamato dal plug-in del motore di alimentazione (PEP) per scambiare informazioni con il driver miniport visualizzato. Chiamato anche dal sottosistema kernel della grafica Microsoft DirectX per notificare al driver miniport visualizzato alcuni eventi.

Sintassi

DXGKDDIPOWERRUNTIMECONTROLREQUEST Dxgkddipowerruntimecontrolrequest;

NTSTATUS Dxgkddipowerruntimecontrolrequest(
  IN_CONST_HANDLE DriverContext,
  IN LPCGUID PowerControlCode,
  IN PVOID InBuffer,
  IN SIZE_T InBufferSize,
  OUT PVOID OutBuffer,
  IN SIZE_T OutBufferSize,
  OUT PSIZE_T BytesReturned
)
{...}

Parametri

DriverContext

Handle a un blocco di contesto associato a una scheda di visualizzazione. La funzione DxgkDdiAddDevice del driver di visualizzazione ha fornito in precedenza questo handle al sottosistema del kernel della grafica DirectX.

PowerControlCode

Puntatore a un GUID che definisce il significato della richiesta di controllo PEP. Per altre informazioni, vedere la sezione Osservazioni.

InBuffer

Puntatore facoltativo a un buffer di input.

InBufferSize

Dimensioni, in byte, del buffer a cui InBuffer punta.

OutBuffer

Puntatore facoltativo a un buffer di output.

OutBufferSize

Dimensioni, in byte, del buffer a cui Punta OutBuffer .

BytesReturned

Puntatore facoltativo a un buffer contenente il numero di byte scritti dal driver miniport visualizzato nel buffer di output.

Valore restituito

Restituisce STATUS_SUCCESS se ha esito positivo. In caso contrario, restituisce uno dei codici di errore definiti in Ntstatus.h.

Commenti

Il sistema operativo chiama DxgkDdiPowerRuntimeControlRequest solo se il driver miniport visualizzato indica il supporto impostando DXGK_DRIVERCAPS. SupportRuntimePowerManagement su TRUE.

GUID usati dal plug-in del motore di Power Engine (PEP)

Il PEP usa i GUID seguenti definiti in D3dkmddi.h per scambiare informazioni con il driver miniport visualizzato. Il driver della porta di visualizzazione usa questi GUID per inviare eventi event Tracing for Windows (ETW), utili per profilare i problemi di prestazioni del driver.
GUID_DXGKDDI_POWER_VOLTAGE_UP
Aumentare la tensione.
GUID_DXGKDDI_POWER_VOLTAGE_DOWN
Ridurre la tensione.
GUID_DXGKDDI_POWER_VOLTAGE
Modificare la tensione, ma il driver non sa se la modifica è un aumento o una diminuzione.
GUID_DXGKDDI_POWER_CLOCK_UP
Aumentare l'impostazione dell'orologio.
GUID_DXGKDDI_POWER_CLOCK_DOWN
Ridurre l'impostazione dell'orologio.
GUID_DXGKDDI_POWER_CLOCK
Modificare l'impostazione dell'orologio, ma il driver non conosce se la modifica è un aumento o una diminuzione.
GUID_DXGKDDI_POWER_BANDWIDTH_UP
Aumentare la larghezza di banda.
GUID_DXGKDDI_POWER_BANDWIDTH_DOWN
Ridurre la larghezza di banda.
GUID_DXGKDDI_POWER_BANDWIDTH
Modificare la larghezza di banda, ma il driver non conosce se la modifica è un aumento o una diminuzione.

GUID usati dal sottosistema kernel di grafica DirectX

Il sottosistema del kernel della grafica DirectX usa i GUID seguenti definiti in D3dkmddi.h per notificare al driver miniport visualizzato determinati eventi.
GUID_DXGKDDI_POWER_MANAGEMENT_PREPARE_TO_START
Usato dopo che il sottosistema kernel della grafica DirectX registra il dispositivo per la gestione della potenza di runtime, ma prima dell'avvio del dispositivo. Dopo aver chiamato questa funzione con questo GUID, il driver miniport visualizzato può chiamare queste funzioni:
GUID_DXGKDDI_POWER_MANAGEMENT_STARTED
Usato dopo l'avvio del sottosistema kernel della grafica DirectX. Dopo aver chiamato questa funzione con questo GUID, il driver miniport visualizzato può chiamare qualsiasi funzione di power runtime.
GUID_DXGKDDI_POWER_MANAGEMENT_STOPPED
Usato immediatamente prima del sottosistema kernel di grafica DirectX annulla la registrazione del dispositivo per la gestione della potenza di runtime. Dopo aver chiamato questa funzione con questo GUID, il driver miniport visualizzato non deve chiamare alcuna funzione di power runtime.

Sincronizzazione

Questa funzione può essere chiamata simultaneamente da più thread di esecuzione.

Il sistema operativo garantisce che questa funzione segue la modalità di sincronizzazione a livello zero definita in Threading e Sync Zero Level.

Requisiti

Requisito Valore
Client minimo supportato Windows 8
Server minimo supportato Windows Server 2012
Piattaforma di destinazione Desktop
Intestazione d3dkmddi.h (include D3dkmddi.h)
IRQL <=DISPATCH_LEVEL

Vedi anche

DXGKARG_QUERYADAPTERINFO

DXGK_DRIVERCAPS

DxgkCbSetPowerComponentActive

DxgkCbSetPowerComponentLatency

DxgkCbSetPowerComponentResidency

DxgkDdiAddDevice