PDXGK_INITIAL_COMPONENT_STATE função de retorno de chamada (d3dkmthk.h)
A função de retorno de chamada PDXGK_INITIAL_COMPONENT_STATE é implementada pelo driver do cliente para inicializar o estado do componente.
Sintaxe
PDXGK_INITIAL_COMPONENT_STATE PdxgkInitialComponentState;
void PdxgkInitialComponentState(
PVOID GraphicsDeviceHandle,
PVOID PrivateHandle,
ULONG ComponentIndex,
BOOLEAN IsBlockingType,
UINT InitialFState,
GUID ComponentGuid,
UINT PowerComponentMappingFlag
)
{...}
Parâmetros
GraphicsDeviceHandle
Um identificador para o dispositivo gráfico.
PrivateHandle
Um identificador opaco fornecido em quaisquer retornos de chamada. Esse identificador deve ser globalmente exclusivo, portanto, um ponteiro para o PDO ou FDO do driver de chamada deve ser usado.
ComponentIndex
O índice do componente. Em geral, esse será o índice usado pelo adaptador gráfico. A exceção é para cenários LDA (adaptador de exibição vinculado), em que o HIWORD do ComponentIndex indica o índice do adaptador, como é feito quando o driver gráfico é chamado pelo kernel de gráficos para alterações de estado F em cenários LDA.
IsBlockingType
Defina TRUE se o componente estiver "bloqueando"; por exemplo, o driver gráfico relatou o componente como ActiveInD3 = 0. Caso contrário, defina FALSE.
InitialFState
O estado F de um componente representado por ComponentIndex no momento da chamada. Se uma transição de estado F estiver em andamento no momento, uma PDXGK_FSTATE_NOTIFICATION retorno de chamada de notificação de conclusão com PreNotification=FALSE
seguirá algum tempo depois, quando a transição for concluída. Dependendo do tempo, um PreNotification=TRUE
retorno de chamada pode ocorrer. Se isso ocorrer, ele precederá o retorno de chamada de notificação de conclusão.
ComponentGuid
Um valor guid que é o GUID do componente, conforme relatado pelo driver gráfico para esse componente durante sua resposta DXGKQAITYPE_POWERCOMPONENTINFO .
PowerComponentMappingFlag
O HIWORD indica se esse é um valor definido pelo driver personalizado (0 = não, 1 = sim). Se 0 (não), a palavra baixa representará um valor de enumeração DXGKMT_POWER_SHARED_TYPE . Esses valores são definidos pelo driver gráfico durante sua resposta DXGKQAITYPE_POWERCOMPONENTINFO , usando o tipo DXGK_POWER_COMPONENT_SHARED_DESC adicionado a DXGK_POWER_COMPONENT_MAPPING.
Retornar valor
Nenhum
Comentários
Após o registro de energia compartilhado (chamada IoCallDriver ), se PDXGK_INITIAL_COMPONENT_STATE tiver sido fornecido, ele será chamado uma vez para cada componente de energia compartilhada que o driver gráfico relatou. O comportamento desse retorno de chamada é tal que:
- Essas chamadas são chamadas reentrantes, ocorrendo antes do retorno de IoCallDriver
- Essas chamadas ocorrem em DISPATCH_LEVEL, o que exige que o código do driver e os dados sejam residentes na memória
- Como esses retornos de chamada ocorrem antes do retorno do IoCallDriver , DXGK_GRAPHICSPOWER_REGISTER_OUTPUT ainda não teria sido preenchido
- Se alguma transição de estado F estiver em andamento no momento, uma PDXGK_FSTATE_NOTIFICATION pós-notificação alertará o driver do estado final. Essas chamadas serão garantidas após as chamadas InitialComponentStateCb. No entanto, é possível que esses retornos de chamada possam ocorrer antes de IoCallDriver retornar se a sincronização for necessária. Um bloqueio de rotação deve estar ao redor do IoCallDriver e do manipulador de PDXGK_FSTATE_NOTIFICATION .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 8 |
Servidor mínimo com suporte | Windows Server 2012 |
Cabeçalho | d3dkmthk.h |
IRQL | DISPATCH_LEVEL |