Partilhar via


DXGK_TIMED_OPERATION_INTERFACE estrutura (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 que é 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 Size membro da estrutura de DXGK_TIMED_OPERATION que é apontado pelo parâmetro op para tamanhos de(DXGK_TIMED_OPERATION). As descrições de parâmetro para TimedOperationStart a seguir.

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

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

  • [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 determinado da operação. As descrições de parâmetro para TimedOperationDelay a seguir.

  • [in/out] Op é um ponteiro para uma estrutura de DXGK_TIMED_OPERATION que descreve a operação cronometrada a ser atrasada. Esta operação cronometrada foi iniciada por uma chamada para a função TimedOperationStart.

  • [in] WaitMode é um valor 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 de dispatcher fornecido seja definido como um estado sinalizado ou opcionalmente até que a espera expire ou até que o tempo limite da operação cronometrada determinada expire. As descrições de parâmetro para TimedOperationWaitForSingleObject a seguir.

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

  • Object é 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 tipo KWAIT_REASON que especifica o motivo da espera. Um driver deve definir esse valor como Executiva ou, se o driver estiver trabalhando em nome de um usuário e estiver em execução no contexto de um thread de usuário, para UserRequest.

  • WaitMode é um valor 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.

  • Timeout é um ponteiro para 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.

Observações

O driver de miniporto de exibição fornece os membros tamanho e versão membros dessa estrutura e chama DxgkCbQueryServices, que preenche os membros restantes dessa estrutura.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows Vista
cabeçalho dispmprt.h (inclua Dispmprt.h)

Consulte também

DXGK_TIMED_OPERATION

DxgkCbQueryServices