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 |