Compartilhar 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 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

Confira também

DXGK_GRAPHICSPOWER_REGISTER_OUTPUT

DXGK_POWER_COMPONENT_MAPPING

DXGK_QUERYADAPTERINFOTYPE

DXGKMT_POWER_SHARED_TYPE

PDXGK_FSTATE_NOTIFICATION