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 la section Notes.

[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éfinissez 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éfinissez sur zéro si aucun OutBuffer n’est fourni.

[out] BytesReturned

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

Valeur retournée

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

Remarques

Notes

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

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 de suivi d’événements pour Windows (ETW), qui sont utiles 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 pilote 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 Diminuez 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 de miniport d’affichage et le PEP, ni qu’il existe des restrictions sur les valeurs qui peuvent être passées entre le pilote de miniport d’affichage et le PEP.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8 (WDDM 1.2)
Serveur minimal pris en charge Windows Server 2012
Plateforme cible Desktop (Expérience utilisateur)
En-tête d3dkmddi.h (include D3dkmddi.h)
IRQL <=DISPATCH_LEVEL

Voir aussi

DXGKCB_SETPOWERCOMPONENTACTIVE

DxgkDdiStartDevice

DXGKRNL_INTERFACE