Condividi tramite


PDXGK_INITIAL_COMPONENT_STATE funzione di callback (d3dkmthk.h)

La PDXGK_INITIAL_COMPONENT_STATE funzione di callback viene implementata dal driver client per inizializzare lo stato del componente.

Sintassi

PDXGK_INITIAL_COMPONENT_STATE PdxgkInitialComponentState;

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

Parametri

GraphicsDeviceHandle

Handle per il dispositivo grafico.

PrivateHandle

Handle opaco fornito in qualsiasi callback. Questo handle deve essere univoco a livello globale, pertanto deve essere usato un puntatore al PDO o al fdO del driver chiamante.

ComponentIndex

Indice del componente. In genere, questo sarà l'indice utilizzato dalla scheda grafica. L'eccezione è per gli scenari LDA (Linked Display Adapter), in cui l'hiWORD di ComponentIndex indica l'indice dell'adattatore, come avviene quando il driver grafico viene chiamato dal kernel grafico per le modifiche dello stato F negli scenari LDA.

IsBlockingType

Impostare TRUE se il componente è "blocking"; Ad esempio, il driver grafico ha segnalato il componente come ActiveInD3 = 0. In caso contrario, impostare FALSE.

InitialFState

Stato F di un componente rappresentato da ComponentIndex al momento della chiamata. Se una transizione di stato F è attualmente in corso, un callback di notifica di completamento PDXGK_FSTATE_NOTIFICATION con PreNotification=FALSE seguirà qualche tempo dopo il completamento della transizione. A seconda dell'intervallo, potrebbe verificarsi un PreNotification=TRUE callback. In caso affermativo, precederà il callback delle notifiche di completamento.

ComponentGuid

Valore GUID che è il GUID del componente segnalato dal driver grafico per questo componente durante la risposta DXGKQAITYPE_POWERCOMPONENTINFO .

PowerComponentMappingFlag

HIWORD indica se si tratta di un valore definito dal driver personalizzato (0 = no, 1 = sì). Se 0 (no), la parola bassa rappresenta un valore di enumerazione DXGKMT_POWER_SHARED_TYPE . Questi valori vengono impostati dal driver grafico durante la risposta DXGKQAITYPE_POWERCOMPONENTINFO , usando il tipo di DXGK_POWER_COMPONENT_SHARED_DESC aggiunto a DXGK_POWER_COMPONENT_MAPPING.

Valore restituito

nessuno

Osservazioni

Al momento della registrazione dell'alimentazione condivisa (chiamata IoCallDriver), se PDXGK_INITIAL_COMPONENT_STATE è stato fornito, viene chiamato una volta per ogni componente di alimentazione condiviso segnalato dal driver grafico. Il comportamento di questo callback è tale che:

  • Queste chiamate sono chiamate rientranti, che si verificano prima della restituzione di IoCallDriver
  • Queste chiamate si verificano in DISPATCH_LEVEL, che richiede codice driver e dati come residenti nella memoria
  • Poiché questi callback si verificano prima della restituzione di IoCallDriver , DXGK_GRAPHICSPOWER_REGISTER_OUTPUT non sarebbe stato ancora compilato
  • Se sono in corso transizioni di stato F, un PDXGK_FSTATE_NOTIFICATION di notifica successiva avvisa il driver dello stato finale. Tali chiamate verranno sicuramente eseguite dopo le chiamate InitialComponentStateCb. Tuttavia, è possibile che tali callback si verifichino prima che IoCallDriver restituisca se è necessaria la sincronizzazione. Un blocco di rotazione deve essere intorno a IoCallDriver e al gestore PDXGK_FSTATE_NOTIFICATION .

Requisiti

Requisito Valore
Client minimo supportato Windows 8
Server minimo supportato Windows Server 2012
Intestazione d3dkmthk.h
IRQL DISPATCH_LEVEL

Vedi anche

DXGK_GRAPHICSPOWER_REGISTER_OUTPUT

DXGK_POWER_COMPONENT_MAPPING

DXGK_QUERYADAPTERINFOTYPE

DXGKMT_POWER_SHARED_TYPE

PDXGK_FSTATE_NOTIFICATION