Partager via


DXGKCB_POWERRUNTIMECONTROLREQUEST fonction de rappel (d3dkmddi.h)

Un pilote miniport d’affichage en mode noyau appelle DXGKCB_POWERRUNTIMECONTROLREQUEST pour échanger des informations avec le plug-in Power Engine (PEP).

Syntaxe

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
)
{...}

Paramètres

[in] hAdapter

Handle de l’adaptateur d’affichage. Le pilote de miniport d’affichage reçoit le handle du membre DeviceHandle de la structure DXGKRNL_INTERFACE dans un appel à sa fonction DxgkDdiStartDevice.

[in] PowerControlCode

Pointeur vers un GUID qui définit la signification de la demande de contrôle du pilote miniport d’affichage. Pour plus d’informations, consultez Remarques.

[in, optional] InBuffer

Pointeur facultatif vers une mémoire tampon d’entrée.

[in] InBufferSize

Taille, en octets, de la mémoire tampon facultative vers laquelle InBuffer pointe. Défini sur zéro si aucun InBuffer n’est fourni.

[in, optional] OutBuffer

Pointeur facultatif vers une mémoire tampon de sortie.

[in] OutBufferSize

Taille, en octets, de la mémoire tampon facultative vers laquelle OutBuffer pointe. Défini sur zéro si aucun OutBuffer est fourni.

[out] BytesReturned

Nombre d’octets réels retournés dans la mémoire tampon qui OutBuffer pointe vers. La valeur retournée est <= OutBufferSize.

Valeur de retour

DXGKCB_POWERRUNTIMECONTROLREQUEST retourne STATUS_SUCCESS si elle réussit. Sinon, elle retourne l’un des codes d’erreur définis dans Ntstatus.h.

Remarques

Note

Pour éviter un blocage possible, n’appelez pas la fonction DXGKCB_SETPOWERCOMPONENTACTIVE tant que cette fonction n’a pas retourné.

DXGKCB_XXX fonctions sont implémentées par Dxgkrnl. Pour utiliser cette fonction de rappel, appelez DxgkCbPowerRuntimeControlRequest via le DXGKRNL_INTERFACE.

Bien que le pilote puisse utiliser n’importe quel GUID dans le paramètre PowerControlCode, les GUID suivants définis dans D3dkmddi.h sont recommandés. En utilisant ces GUID, le pilote de port d’affichage peut émettre des événements suivi d’événements pour Windows (ETW), ce qui est utile pour profiler les problèmes de performances du pilote.

GUID Signification
GUID_DXGKDDI_POWER_VOLTAGE_UP Augmentez la tension.
GUID_DXGKDDI_POWER_VOLTAGE_DOWN Diminuez la tension.
GUID_DXGKDDI_POWER_VOLTAGE Modifiez la tension, mais le conducteur ne sait pas si la modification est une augmentation ou une diminution.
GUID_DXGKDDI_POWER_CLOCK_UP Augmentez le paramètre d’horloge.
GUID_DXGKDDI_POWER_CLOCK_DOWN Réduisez le paramètre d’horloge.
GUID_DXGKDDI_POWER_CLOCK Modifiez le paramètre d’horloge, mais le pilote ne sait pas si la modification est une augmentation ou une diminution.
GUID_DXGKDDI_POWER_BANDWIDTH_UP Augmentez la bande passante.
GUID_DXGKDDI_POWER_BANDWIDTH_DOWN Réduisez la bande passante.
GUID_DXGKDDI_POWER_BANDWIDTH Modifiez la bande passante, mais le pilote ne sait pas si la modification est une augmentation ou une diminution.

Ces GUID n’impliquent pas qu’il existe un protocole de communication entre le pilote miniport d’affichage et le PEP, ni qu’il existe des restrictions sur les valeurs qui peuvent être passées entre le pilote miniport d’affichage et le PEP.

Exigences

Exigence Valeur
client minimum pris en charge Windows 8 (WDDM 1.2)
serveur minimum pris en charge Windows Server 2012
plateforme cible Bureau
d’en-tête d3dkmddi.h (include D3dkmddi.h)
IRQL <=DISPATCH_LEVEL

Voir aussi

DXGKCB_SETPOWERCOMPONENTACTIVE

DxgkDdiStartDevice

DXGKRNL_INTERFACE