Condividi tramite


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

Vedi anche

DXGKCB_SETPOWERCOMPONENTACTIVE

DxgkDdiStartDevice

DXGKRNL_INTERFACE