Partager via


PDXGK_INITIAL_COMPONENT_STATE fonction de rappel (d3dkmthk.h)

La fonction de rappel PDXGK_INITIAL_COMPONENT_STATE est implémentée par le pilote client pour initialiser l’état du composant.

Syntaxe

PDXGK_INITIAL_COMPONENT_STATE PdxgkInitialComponentState;

void PdxgkInitialComponentState(
  PVOID GraphicsDeviceHandle,
  PVOID PrivateHandle,
  ULONG ComponentIndex,
  BOOLEAN IsBlockingType,
  UINT InitialFState,
  GUID ComponentGuid,
  UINT PowerComponentMappingFlag
)
{...}

Paramètres

GraphicsDeviceHandle

Handle pour le périphérique graphique.

PrivateHandle

Handle opaque fourni dans tous les rappels. Ce handle doit être globalement unique. Par conséquent, un pointeur vers l’AOP ou le FDO du pilote appelant doit être utilisé.

ComponentIndex

Index du composant. En règle générale, il s’agit de l’index utilisé par la carte graphique. L’exception concerne les scénarios de carte graphique liée (LDA), où la valeur HIWORD de ComponentIndex indique l’index de l’adaptateur, comme c’est le cas lorsque le pilote graphique est appelé par le noyau graphique pour les changements d’état F dans les scénarios LDA.

IsBlockingType

Définissez TRUE si le composant est « bloquant » ; par exemple, le pilote graphique a signalé le composant comme Étant ActiveInD3 = 0. Sinon, définissez FALSE.

InitialFState

État F d’un composant représenté par ComponentIndex au moment de l’appel. Si une transition à l’état F est en cours, un rappel de notification d’achèvement PDXGK_FSTATE_NOTIFICATION avec PreNotification=FALSE suivra un certain temps plus tard lorsque la transition sera terminée. Selon le minutage, un PreNotification=TRUE rappel peut se produire. Si elle se produit, elle précède le rappel de notification d’achèvement.

ComponentGuid

Valeur GUID qui est le GUID du composant tel que signalé par le pilote graphique pour ce composant lors de sa réponse DXGKQAITYPE_POWERCOMPONENTINFO .

PowerComponentMappingFlag

HiWORD indique s’il s’agit d’une valeur définie par le pilote personnalisé (0 = non, 1 = oui). Si la valeur est 0 (non), le mot faible représente une valeur d’énumération DXGKMT_POWER_SHARED_TYPE . Ces valeurs sont définies par le pilote graphique pendant sa réponse DXGKQAITYPE_POWERCOMPONENTINFO , à l’aide du type DXGK_POWER_COMPONENT_SHARED_DESC ajouté à DXGK_POWER_COMPONENT_MAPPING.

Valeur de retour

None

Remarques

Lors de l’inscription de l’alimentation partagée (appel IoCallDriver ), si PDXGK_INITIAL_COMPONENT_STATE a été fourni, elle est appelée une fois pour chaque composant d’alimentation partagée signalé par le pilote graphique. Le comportement de ce rappel est tel que :

  • Ces appels sont des appels entrants, qui se produisent avant le retour d’IoCallDriver
  • Ces appels se produisent à DISPATCH_LEVEL, ce qui nécessite que le code de pilote et les données soient résidant en mémoire
  • Comme ces rappels se produisent avant le retour d’IoCallDriver , DXGK_GRAPHICSPOWER_REGISTER_OUTPUT n’aurait pas encore été renseigné
  • Si des transitions d’état F sont en cours, une PDXGK_FSTATE_NOTIFICATION post-notification alerte le pilote de l’état final. Il est garanti que ces appels se produisent après les appels InitialComponentStateCb. Toutefois, il est possible que de tels rappels se produisent avant le retour d’IoCallDriver si la synchronisation est requise. Un verrou de rotation doit être autour d’IoCallDriver et du gestionnaire de PDXGK_FSTATE_NOTIFICATION .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8
Serveur minimal pris en charge Windows Server 2012
En-tête d3dkmthk.h
IRQL DISPATCH_LEVEL

Voir aussi

DXGK_GRAPHICSPOWER_REGISTER_OUTPUT

DXGK_POWER_COMPONENT_MAPPING

DXGK_QUERYADAPTERINFOTYPE

DXGKMT_POWER_SHARED_TYPE

PDXGK_FSTATE_NOTIFICATION