Partilhar via


Função VideoPortSynchronizeExecution (video.h)

A função VideoPortSynchronizeExecution sincroniza a execução de uma função de HwVidSynchronizeExecutionCallback fornecida pelo driver de miniport com a função HwVidInterrupt do driver de miniporto, se houver. Caso contrário, ele será executado HwVidSynchronizeExecutionCallback em uma prioridade elevada.

Sintaxe

VIDEOPORT_DEPRECATED BOOLEAN VIDEOPORT_API VideoPortSynchronizeExecution(
  PVOID                         HwDeviceExtension,
  VIDEO_SYNCHRONIZE_PRIORITY    Priority,
  PMINIPORT_SYNCHRONIZE_ROUTINE SynchronizeRoutine,
  PVOID                         Context
);

Parâmetros

HwDeviceExtension

Ponteiro para a extensão do dispositivo do driver de miniport.

Priority

Especifica o tipo de prioridade no qual o SynchronizeRoutine deve ser executado, como um dos seguintes:

  • Se priority estiver definido como VpLowPriority, o thread atual será elevado para a prioridade de máscara nãointerrupta mais alta. Assim, o thread atual só poderá ser preempido por um ISR se um dispositivo for interrompido.
  • Se Priority estiver definido como VpMediumPriority e o driver de miniporto tiver um ISR associado ao adaptador de vídeo, a chamada para a SynchronizeRoutine fornecida será sincronizada com a função de do driver de miniporto HwVidInterrupt. Caso contrário, a sincronização será feita no nível de VpLowPriority.
  • VpHighPriority tem o mesmo efeito que VpMediumPriority.

SynchronizeRoutine

Ponteiro para a função HwVidSynchronizeExecutionCallback do driver de miniport.

Context

Ponteiro para um contexto fornecido pelo chamador a ser passado para a função de HwVidSynchronizeExecutionCallback do driver de miniport. Esse ponteiro pode ser NULL.

Valor de retorno

Se a operação for bem-sucedida, VideoPortSynchronizeExecution retornará verdadeiro.

Observações

Os motoristas de miniporto raramente chamam essa rotina, a menos que qualquer uma das seguintes condições mantenha:

  • A função HwVidInterrupt do driver de miniporto compartilha memória com outras funções de driver de miniporto. Para acessar a memória compartilhada de forma segura para vários processadores, essas funções de driver de miniport devem chamar VideoPortSynchronizeExecution com HwVidSynchronizeExecutionCallback. Essa função de driver de miniporto pode acessar com segurança a memória compartilhada porque o driver da porta de vídeo impede que a função HwVidInterrupt acesse a mesma memória simultaneamente.
  • O adaptador deve ser programado com uma sequência de comandos sem estar sujeito a uma opção de contexto. Por exemplo, uma função SvgaHwIoPortXxx de um driver de miniporte que tenha armazenado em buffer uma sequência de instruções de E/S e validado a sequência pode chamar VideoPortSynchronizeExecution com HwVidSynchronizeExecutionCallback. Essa função de driver de miniporto pode transferir o fluxo de E/S em buffer e validado para o adaptador muito rapidamente.
Um chamador deve especificar o menor valor de prioridade de prática para o trabalho HwVidSynchronizeExecutionCallback deve fazer. Qualquer CallbackRoutine executado em uma prioridade de hardware alta (VpMediumPriority ou VpHighPriority) deve retornar o controle o mais rápido possível. Um driver com uma função HwVidSynchronizeExecutionCallback de alta prioridade deve ser projetado para fazer o máximo de trabalho possível em todas as outras funções de driver, exceto uma de suas funções de HwVidSynchronizeExecutionCallback e HwVidInterrupt.

Os chamadores de VideoPortSynchronizeExecution devem estar em execução no IRQL

Requisitos

Requisito Valor
de cliente com suporte mínimo Disponível no Windows 2000 e versões posteriores dos sistemas operacionais Windows.
da Plataforma de Destino Área de trabalho
cabeçalho video.h (inclua Video.h)
biblioteca Videoprt.lib
de DLL Videoprt.sys
IRQL <= DIRQL

Consulte também

HwVidInterrupt

HwVidSynchronizeExecutionCallback