DXGKCB_POWERRUNTIMECONTROLREQUEST funzione di callback (d3dkmddi.h)
Un driver miniport in modalità kernel chiama DXGKCB_POWERRUNTIMECONTROLREQUEST per scambiare informazioni con il plug-in power engine (PEP).
Sintassi
DXGKCB_POWERRUNTIMECONTROLREQUEST DxgkcbPowerruntimecontrolrequest;
NTSTATUS DxgkcbPowerruntimecontrolrequest(
[in] IN_CONST_HANDLE hAdapter,
[in] IN LPCGUID PowerControlCode,
[in, optional] IN PVOID InBuffer,
[in] IN SIZE_T InBufferSize,
[in, optional] OUT PVOID OutBuffer,
[in] IN SIZE_T OutBufferSize,
[out] OUT PSIZE_T BytesReturned
)
{...}
Parametri
[in] hAdapter
Handle per la scheda di visualizzazione. Il driver del miniport di visualizzazione riceve l'handle dal membro DeviceHandle della struttura DXGKRNL_INTERFACE in una chiamata alla relativa funzione DxgkDdiStartDevice.
[in] PowerControlCode
Puntatore a un GUID che definisce il significato della richiesta di controllo del driver miniport di visualizzazione. Per altre informazioni, vedere Osservazioni.
[in, optional] InBuffer
Puntatore facoltativo a un buffer di input.
[in] InBufferSize
Dimensioni, in byte, del buffer facoltativo a cui InBuffer. Impostare su zero se non viene fornito alcun InBuffer.
[in, optional] OutBuffer
Puntatore facoltativo a un buffer di output.
[in] OutBufferSize
Dimensioni, in byte, del buffer facoltativo a cui OutBuffer punta. Impostare su zero se non viene fornito alcun OutBuffer.
[out] BytesReturned
Numero di byte effettivi restituiti nel buffer a cui OutBuffer punta. Il valore restituito verrà <= OutBufferSize.
Valore restituito
DXGKCB_POWERRUNTIMECONTROLREQUEST restituisce STATUS_SUCCESS se ha esito positivo. In caso contrario, restituisce uno dei codici di errore definiti in Ntstatus.h.
Osservazioni
Nota
Per evitare un possibile deadlock, non chiamare la funzione DXGKCB_SETPOWERCOMPONENTACTIVE fino a quando non viene restituita questa funzione.
DXGKCB_XXX funzioni vengono implementate da Dxgkrnl. Per usare questa funzione di callback, chiamare DxgkCbPowerRuntimeControlRequest tramite il DXGKRNL_INTERFACE.
Anche se il driver può usare qualsiasi GUID nel parametro PowerControlCode, sono consigliati i GUID seguenti definiti in D3dkmddi.h. Usando questi GUID, il driver della porta di visualizzazione può emettere eventi ETW (Event Tracing for Windows), utili per profilare i problemi di prestazioni del driver.
GUID | Significato |
---|---|
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. |
Questi GUID non implicano che vi sia alcun protocollo di comunicazione tra il driver miniport di visualizzazione e il PEP, né implicano che vi siano restrizioni sui valori che possono essere passati tra il driver miniport di visualizzazione e il PEP.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 8 (WDDM 1.2) |
server minimo supportato | Windows Server 2012 |
piattaforma di destinazione | Desktop |
intestazione | d3dkmddi.h (include D3dkmddi.h) |
IRQL | <=DISPATCH_LEVEL |