DXGKCB_POWERRUNTIMECONTROLREQUEST funzione di callback (d3dkmddi.h)
Un driver miniport in modalità kernel chiama DXGKCB_POWERRUNTIMECONTROLREQUEST per scambiare informazioni con il plug-in del motore di alimentazione (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 l'adattatore di visualizzazione. Il driver miniport visualizzato riceve l'handle dal membro DeviceHandle della struttura DXGKRNL_INTERFACE in una chiamata alla funzione DxgkDdiStartDevice .
[in] PowerControlCode
Puntatore a un GUID che definisce il significato della richiesta di controllo del driver miniport visualizzato. Per altre informazioni, vedere la sezione Osservazioni.
[in, optional] InBuffer
Puntatore facoltativo a un buffer di input.
[in] InBufferSize
Dimensioni, in byte, del buffer facoltativo a cui Punta InBuffer . Impostare su zero se non viene fornito alcun oggetto InBuffer .
[in, optional] OutBuffer
Puntatore facoltativo a un buffer di output.
[in] OutBufferSize
Dimensioni, in byte, del buffer facoltativo a cui Punta OutBuffer . Impostare su zero se non viene fornito outBuffer .
[out] BytesReturned
Numero di byte effettivi restituiti nel buffer a cui OutBuffer punta. Il valore restituito sarà <= 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.
Commenti
Nota
Per evitare un deadlock possibile, non chiamare la funzione DXGKCB_SETPOWERCOMPONENTACTIVE finché questa funzione non è stata restituita.
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 event tracing for Windows (ETW), utili per profilare i problemi di prestazioni del driver.
GUID | Significato |
---|---|
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. |
Questi GUID non implicano che vi sia alcun protocollo di comunicazione tra il driver miniport visualizzato e il PEP, né implicano che vi siano restrizioni sui valori che possono essere passati tra il driver miniport visualizzato e il PEP.
Requisiti
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 |