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
DxgkCbSetPowerComponentLatency