Compartilhar via


estrutura DXGK_TIMED_OPERATION_INTERFACE (dispmprt.h)

A estrutura DXGK_TIMED_OPERATION_INTERFACE contém ponteiros para funções na Interface de Operação Cronometrada, que é implementada pelo driver de porta de exibição.

Sintaxe

typedef struct _DXGK_TIMED_OPERATION_INTERFACE {
  USHORT                 Size;
  USHORT                 Version;
  PVOID                  Context;
  PINTERFACE_REFERENCE   InterfaceReference;
  PINTERFACE_DEREFERENCE InterfaceDereference;
  NTSTATUS((DXGK_TIMED_OPERATION *Op, const LARGE_INTEGER *Timeout,BOOLEAN OsHandled)              * )TimedOperationStart;
  NTSTATUS((DXGK_TIMED_OPERATION *Op,KPROCESSOR_MODE WaitMode,BOOLEAN Alertable, const LARGE_INTEGER *Interval)              * )TimedOperationDelay;
  NTSTATUS((DXGK_TIMED_OPERATION *Op,PVOID Object,KWAIT_REASON WaitReason,KPROCESSOR_MODE WaitMode,BOOLEAN Alertable, const LARGE_INTEGER *Timeout)              * )TimedOperationWaitForSingleObject;
} DXGK_TIMED_OPERATION_INTERFACE, *PDXGK_TIMED_OPERATION_INTERFACE;

Membros

Size

O tamanho, em bytes, dessa estrutura.

Version

O número de versão da Interface de Operação Cronometrada. As constantes de número de versão são definidas em Dispmprt.h (por exemplo, DXGK_TIMED_OPERATION_INTERFACE_VERSION_1).

Context

Um ponteiro para um contexto fornecido pelo driver de porta de exibição.

InterfaceReference

Um ponteiro para uma função de referência de interface implementada pelo driver de porta de exibição.

InterfaceDereference

Um ponteiro para uma função de desreferência de interface implementada pelo driver de porta de exibição.

TimedOperationStart

A função TimedOperationStart inicia ou reinicia uma operação cronometrada.

O driver deve predefinir o membro Size da estrutura DXGK_TIMED_OPERATION apontada pelo parâmetro Op para sizeof(DXGK_TIMED_OPERATION). As descrições de parâmetro para TimedOperationStart seguem.

  • [out] Op é um ponteiro para uma estrutura DXGK_TIMED_OPERATION que descreve a operação cronometrada para iniciar ou reiniciar.

  • [in] O tempo limite é um ponteiro para um valor de tempo limite, em unidades de 100 nanossegundos, que especifica o tempo relativo alocado para a conclusão da operação cronometrada.

  • [in] OsHandled é um valor booliano que especifica se o sistema operacional lida com a condição de tempo limite. Um valor true indica que o driver não tem nenhuma maneira razoável de lidar com a condição de tempo limite e permite que o sistema operacional lide com a condição de tempo limite; FALSE indica que o driver lida com a condição de tempo limite.

TimedOperationDelay

A função TimedOperationDelay coloca o thread atual em um estado de espera alertável ou não inerte para um determinado intervalo em relação ao tempo limite da operação cronometrada. As descrições de parâmetro para TimedOperationDelay seguem.

  • [entrada/saída] Op é um ponteiro para uma estrutura DXGK_TIMED_OPERATION que descreve a operação cronometrada para atrasar. Essa operação cronometrada foi iniciada por uma chamada para a função TimedOperationStart .

  • [in] WaitMode é um valor do tipo KPROCESSOR_MODE que especifica o modo de processador em que o driver aguarda. O valor pode ser KernelMode ou UserMode. Drivers de nível inferior em uma pilha devem especificar KernelMode.

  • [in] Alertável é um valor booliano que especifica se a espera é alertável. Um valor true indica que a espera é alertável; FALSE indica que a espera é não inerte. Drivers de nível inferior em uma pilha devem especificar FALSE.

  • [in] Interval é um ponteiro para variável que contém o tempo relativo, em unidades de 100 nanossegundos, para o atraso. O sinal do valor é ignorado.

TimedOperationWaitForSingleObject

A função TimedOperationWaitForSingleObject coloca o thread atual em um estado de espera até que o objeto dispatcher fornecido seja definido como um estado sinalizado ou opcionalmente até o tempo limite de espera ou até que o tempo limite da operação cronometrada determinada expire. As descrições de parâmetro para TimedOperationWaitForSingleObject seguem.

  • [in] Op é um ponteiro para uma estrutura DXGK_TIMED_OPERATION que descreve a operação cronometrada para colocar em um estado de espera. Essa operação cronometrada foi iniciada por uma chamada para a função TimedOperationStart .

  • O objeto é um ponteiro para um objeto dispatcher inicializado para o qual o chamador fornece o armazenamento. O objeto dispatcher pode ser um evento, um mutex, um semáforo, um thread ou um temporizador.

  • WaitReason é um valor de tipo KWAIT_REASON que especifica o motivo da espera. Um driver deve definir esse valor como Executivo ou, se o driver estiver trabalhando em nome de um usuário e estiver sendo executado no contexto de um thread de usuário, como UserRequest.

  • WaitMode é um valor do tipo KPROCESSOR_MODE que especifica o modo de processador em que o driver aguarda. O valor pode ser KernelMode ou UserMode. Drivers intermediários e de nível mais baixo devem especificar KernelMode. Se o objeto apontado pelo parâmetro Object for um mutex, o chamador deverá especificar KernelMode.

  • Alertável é um valor booliano que especifica se a espera é alertável. Um valor true indica que a espera é alertável; FALSE indica que a espera é não inerte.

  • O tempo limite é um ponteiro para a variável que contém o tempo relativo, em unidades de 100 nanossegundos, para que a espera seja concluída. O sinal do valor é ignorado.

Comentários

O driver de miniporto de exibição fornece os membros Size e Version dessa estrutura e, em seguida, chama DxgkCbQueryServices, que preenche os membros restantes dessa estrutura.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista
Cabeçalho dispmprt.h (inclua Dispmprt.h)

Confira também

DXGK_TIMED_OPERATION

DxgkCbQueryServices