Freigeben über


PDXGK_INITIAL_COMPONENT_STATE Rückruffunktion (d3dkmthk.h)

Die PDXGK_INITIAL_COMPONENT_STATE Rückruffunktion wird vom Clienttreiber implementiert, um den Komponentenstatus zu initialisieren.

Syntax

PDXGK_INITIAL_COMPONENT_STATE PdxgkInitialComponentState;

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

Parameter

GraphicsDeviceHandle

Ein Handle für das Grafikgerät.

PrivateHandle

Ein undurchsichtiges Handle, das in Rückrufen bereitgestellt wird. Dieses Handle muss global eindeutig sein, daher sollte ein Zeiger auf die PDO oder FDO des aufrufenden Treibers verwendet werden.

ComponentIndex

Der Index der Komponente. Im Allgemeinen ist dies der Index, der vom Grafikkarten verwendet wird. Die Ausnahme gilt für LDA-Szenarien (Linked Display Adapter), in denen das HIWORD des ComponentIndex den Adapterindex angibt, wie dies geschieht, wenn der Grafiktreiber vom Grafikkern für F-Zustandsänderungen in LDA-Szenarien aufgerufen wird.

IsBlockingType

Legen Sie TRUE fest, wenn die Komponente "blockiert" ist. Beispielsweise hat der Grafiktreiber die Komponente als ActiveInD3 = 0 gemeldet. Legen Sie andernfalls FALSE fest.

InitialFState

Der F-Zustand einer Komponente, die von ComponentIndex zum Zeitpunkt des Aufrufs dargestellt wird. Wenn derzeit ein F-Zustandsübergang ausgeführt wird, folgt nach Abschluss des Übergangs einige Zeit später ein PDXGK_FSTATE_NOTIFICATION Abschlussbenachrichtigungsrückruf mit PreNotification=FALSE . Je nach Zeitpunkt kann es zu einem PreNotification=TRUE Rückruf kommen. Wenn dies der Fall ist, wird der Rückruf der Vervollständigungsbenachrichtigung vorangestellt.

ComponentGuid

Ein GUID-Wert, bei dem es sich um die Komponenten-GUID handelt, die vom Grafiktreiber für diese Komponente während der DXGKQAITYPE_POWERCOMPONENTINFO Antwort gemeldet wird.

PowerComponentMappingFlag

Das HIWORD gibt an, ob es sich um einen benutzerdefinierten Treiber definierten Wert handelt (0 = nein, 1 = ja). Wenn 0 (nein) ist, stellt das niedrige Wort einen DXGKMT_POWER_SHARED_TYPE Enumerationswert dar. Diese Werte werden vom Grafiktreiber während seiner DXGKQAITYPE_POWERCOMPONENTINFO-Antwort unter Verwendung des DXGK_POWER_COMPONENT_SHARED_DESC-Typs festgelegt, der DXGK_POWER_COMPONENT_MAPPING hinzugefügt wurde.

Rückgabewert

Keine

Bemerkungen

Wenn bei der Registrierung des freigegebenen Stroms (IoCallDriver-Aufruf ) PDXGK_INITIAL_COMPONENT_STATE angegeben wurde, wird es für jede freigegebene Energiekomponente, die vom Grafiktreiber gemeldet wurde, einmal aufgerufen. Das Verhalten dieses Rückrufs ist so, dass:

  • Bei diesen Aufrufen handelt es sich um Wiederholungsaufrufe, die vor der IoCallDriver-Rückgabe auftreten.
  • Diese Aufrufe erfolgen bei DISPATCH_LEVEL, sodass Treibercode und Daten speicherresident sein müssen.
  • Da diese Rückrufe vor der IoCallDriver-Rückgabe erfolgen, wären DXGK_GRAPHICSPOWER_REGISTER_OUTPUT noch nicht ausgefüllt worden.
  • Wenn derzeit F-Zustandsübergänge ausgeführt werden, benachrichtigt ein PDXGK_FSTATE_NOTIFICATION nach der Benachrichtigung den Treiber über den endgültigen Zustand. Solche Aufrufe werden nach den InitialComponentStateCb-Aufrufen garantiert. Es ist jedoch möglich, dass solche Rückrufe auftreten können, bevor IoCallDriver zurückgegeben wird, wenn eine Synchronisierung erforderlich ist. Eine Spinsperre sollte sich um IoCallDriver und den PDXGK_FSTATE_NOTIFICATION-Handlers herum bewegen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8
Unterstützte Mindestversion (Server) Windows Server 2012
Kopfzeile d3dkmthk.h
IRQL DISPATCH_LEVEL

Weitere Informationen

DXGK_GRAPHICSPOWER_REGISTER_OUTPUT

DXGK_POWER_COMPONENT_MAPPING

DXGK_QUERYADAPTERINFOTYPE

DXGKMT_POWER_SHARED_TYPE

PDXGK_FSTATE_NOTIFICATION