Condividi tramite


Funzione di callback DXGKDDIPOWERRUNTIMECONTROLREQUEST (d3dkmddi.h)

Chiamato dal plug-in power engine (PEP) per scambiare informazioni con il driver miniport di visualizzazione. Chiamato anche dal sottosistema kernel della grafica Microsoft DirectX per notificare al driver miniport di visualizzazione 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 per un blocco di contesto associato a una scheda di visualizzazione. La funzione DxgkDdiAddDevice del driver miniport di visualizzazione ha fornito in precedenza questo handle al sottosistema del kernel grafico DirectX.

PowerControlCode

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

InBuffer

Puntatore facoltativo a un buffer di input.

InBufferSize

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

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 di visualizzazione 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.

Osservazioni

Il sistema operativo chiama DxgkDdiPowerRuntimeControlRequest solo se il driver miniport di visualizzazione indica il supporto impostando DXGK_DRIVERCAPS.SupportRuntimePowerManagement per TRUE.

GUID usati dal plug-in power engine (PEP)

Il PEP usa i GUID seguenti definiti in D3dkmddi.h per scambiare informazioni con il driver miniport di visualizzazione. Il driver della porta di visualizzazione usa questi GUID per emettere eventi ETW (Event Tracing for Windows), utili per profilare i problemi di prestazioni del driver.
GUID_DXGKDDI_POWER_VOLTAGE_UP
Aumentare la tensione.
GUID_DXGKDDI_POWER_VOLTAGE_DOWN
Diminuire 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 sa 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 sa se la modifica è un aumento o una diminuzione.

GUID usati dal sottosistema del kernel grafico DirectX

Il sottosistema kernel della grafica DirectX usa i GUID seguenti definiti in D3dkmddi.h per notificare al driver miniport di visualizzazione alcuni eventi.
GUID_DXGKDDI_POWER_MANAGEMENT_PREPARE_TO_START
Usato dopo che il sottosistema kernel della grafica DirectX registra il dispositivo per il risparmio energia in fase di esecuzione, ma prima dell'avvio del dispositivo. Dopo aver chiamato questa funzione con questo GUID, il driver miniport di visualizzazione 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 di visualizzazione può chiamare qualsiasi funzione di power runtime.
GUID_DXGKDDI_POWER_MANAGEMENT_STOPPED
Usato immediatamente prima che il sottosistema kernel della grafica DirectX annulla la registrazione del dispositivo per il risparmio energia in fase di esecuzione. Dopo aver chiamato questa funzione con questo GUID, il driver miniport di visualizzazione 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 segua la modalità di sincronizzazione a livello zero, come definito in threading e sincronizzazione zero livello.

Fabbisogno

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

Vedere anche

DXGKARG_QUERYADAPTERINFO

DXGK_DRIVERCAPS

DxgkCbSetPowerComponentActive

DxgkCbSetPowerComponentLatency

DxgkCbSetPowerComponentResidency

DxgkDdiAddDevice