Partager via


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

DXGKARG_QUERYADAPTERINFO

DXGK_DRIVERCAPS

DxgkCbSetPowerComponentActive

DxgkCbSetPowerComponentLatency

DxgkCbSetPowerComponentResidency

DxgkDdiAddDevice