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 |