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
DxgkCbSetPowerComponentLatency