Partilhar via


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 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 qualquer retorno 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 de LDA (adaptador de exibição vinculado), em que o HIWORD do ComponentIndex indica o índice do adaptador, como é feito quando o driver de gráficos é chamado pelo kernel gráfico para alterações de estado F em cenários LDA.

IsBlockingType

Definir 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, um retorno de chamada de notificação de conclusão PDXGK_FSTATE_NOTIFICATION com PreNotification=FALSE seguirá algum tempo depois, quando a transição for concluída. Dependendo do tempo, pode ocorrer um retorno de chamada PreNotification=TRUE. Se ocorrer, 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 de DXGK_POWER_COMPONENT_SHARED_DESC adicionado a DXGK_POWER_COMPONENT_MAPPING.

Valor de retorno

Nenhum

Observações

Após o registro de energia compartilhado (chamada do IoCallDriver), se PDXGK_INITIAL_COMPONENT_STATE tiver sido fornecido, ele será chamado uma vez para cada componente de energia compartilhada relatado pelo driver gráfico. O comportamento desse retorno de chamada é tal que:

  • Essas chamadas são chamadas de novo participante, ocorrendo antes de IoCallDriver retornando
  • 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 de do IoCallDriver retornando, 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 retornando se a sincronização for necessária. Um bloqueio de rotação deve estar em torno de do IoCallDriver e do manipulador de PDXGK_FSTATE_NOTIFICATION.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 8
servidor com suporte mínimo Windows Server 2012
cabeçalho d3dkmthk.h
IRQL DISPATCH_LEVEL

Consulte também

DXGK_GRAPHICSPOWER_REGISTER_OUTPUT

DXGK_POWER_COMPONENT_MAPPING

DXGK_QUERYADAPTERINFOTYPE

DXGKMT_POWER_SHARED_TYPE

PDXGK_FSTATE_NOTIFICATION