Fonction de rappel DXGKDDIPOWERRUNTIMECONTROLREQUEST (d3dkmddi.h)
Appelé par le plug-in Power Engine (PEP) pour échanger des informations avec le pilote miniport d’affichage. Également appelé par le sous-système du noyau graphique Microsoft DirectX pour informer le pilote miniport d’affichage de certains événements.
Syntaxe
DXGKDDIPOWERRUNTIMECONTROLREQUEST Dxgkddipowerruntimecontrolrequest;
NTSTATUS Dxgkddipowerruntimecontrolrequest(
IN_CONST_HANDLE DriverContext,
IN LPCGUID PowerControlCode,
IN PVOID InBuffer,
IN SIZE_T InBufferSize,
OUT PVOID OutBuffer,
IN SIZE_T OutBufferSize,
OUT PSIZE_T BytesReturned
)
{...}
Paramètres
DriverContext
Handle d’un bloc de contexte associé à un adaptateur d’affichage. La fonction DxgkDdiAddDevice du pilote miniport d’affichage a précédemment fourni ce handle au sous-système du noyau graphique DirectX.
PowerControlCode
Pointeur vers un GUID qui définit la signification de la demande de contrôle du PEP. Pour plus d'informations, consultez la section Notes.
InBuffer
Pointeur facultatif vers une mémoire tampon d’entrée.
InBufferSize
Taille, en octets, de la mémoire tampon vers laquelle InBuffer pointe.
OutBuffer
Pointeur facultatif vers une mémoire tampon de sortie.
OutBufferSize
Taille, en octets, de la mémoire tampon vers laquelle OutBuffer pointe.
BytesReturned
Pointeur facultatif vers une mémoire tampon qui contient le nombre d’octets écrits par le pilote de miniport d’affichage vers la mémoire tampon de sortie.
Valeur retournée
Retourne STATUS_SUCCESS si elle réussit. Sinon, elle retourne l’un des codes d’erreur définis dans Ntstatus.h.
Remarques
Le système d’exploitation appelle DxgkDdiPowerRuntimeControlRequest uniquement si le pilote de miniport d’affichage indique la prise en charge en définissant DXGK_DRIVERCAPS. SupportRuntimePowerManagement à TRUE.
GUID utilisés par le plug-in Power Engine (PEP)
Le PEP utilise les GUID suivants définis dans D3dkmddi.h pour échanger des informations avec le pilote de miniport d’affichage. Le pilote de port d’affichage utilise ces GUID pour é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_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.
GUID utilisés par le sous-système du noyau graphique DirectX
Le sous-système du noyau graphique DirectX utilise les GUID suivants définis dans D3dkmddi.h pour informer le pilote miniport d’affichage de certains événements.- GUID_DXGKDDI_POWER_MANAGEMENT_PREPARE_TO_START
- Utilisé après que le sous-système du noyau graphique DirectX enregistre l’appareil pour la gestion de l’alimentation du runtime, mais avant le démarrage de l’appareil. Une fois cette fonction appelée avec ce GUID, le pilote miniport d’affichage peut appeler ces fonctions :
- GUID_DXGKDDI_POWER_MANAGEMENT_STARTED
- Utilisé après le démarrage du sous-système du noyau graphique DirectX de la gestion de l’alimentation. Une fois cette fonction appelée avec ce GUID, le pilote miniport d’affichage peut appeler n’importe quelle fonction power runtime.
- GUID_DXGKDDI_POWER_MANAGEMENT_STOPPED
- Utilisé immédiatement avant que le sous-système du noyau graphique DirectX annule l’inscription de l’appareil pour la gestion de l’alimentation du runtime. Une fois cette fonction appelée avec ce GUID, le pilote miniport d’affichage ne doit appeler aucune fonction power runtime.
Synchronisation
Cette fonction peut être appelée simultanément à partir de plusieurs threads d’exécution.Le système d’exploitation garantit que cette fonction suit le mode de synchronisation de niveau zéro tel que défini dans Threading et Synchronisation Niveau zéro.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 8 |
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
DxgkCbSetPowerComponentLatency