Função VideoPortInterlockedExchange (video.h)
A função VideoPortInterlockedExchange bloqueia ou desbloqueia um bloco de memória definindo uma variável de bloqueio definida pelo usuário para TRUE ou FALSE, respectivamente. Ele retorna o valor anteriormente mantido da variável de bloqueio.
Sintaxe
VIDEOPORT_API LONG VideoPortInterlockedExchange(
[in, out] IN OUT PLONG Target,
[in] IN LONG Value
);
Parâmetros
[in, out] Target
Ponteiro para uma variável de bloqueio definida pelo usuário que é usada para controlar o acesso a um buffer de memória.
[in] Value
Especifica o valor a ser armazenado em de destino, que indica se o buffer de memória deve ser bloqueado ou desbloqueado. Use TRUE para bloquear o buffer de memória e FALSE para desbloquear o buffer de memória.
Valor de retorno
VideoPortInterlockedExchange retorna o valor que de destino tinha antes da chamada de função.
Observações
VideoPortInterlockedExchange pode ser usado para evitar a contenção de buffer comum de DMA em sistemas de vários processadores.
Quando o buffer não está sendo lido ou gravado, a variável de bloqueio deve ter um valor de FALSE. Uma chamada subsequente para VideoPortInterlockedExchange com seu parâmetro Target definido como VERDADEIRO redefine a variável de bloqueio para TRUE, após o qual essa função retorna FALSE. O buffer agora está bloqueado, impedindo o acesso por outros threads. Quando as operações atuais no buffer forem concluídas, desbloqueie o buffer com uma chamada para VideoPortInterlockedExchange com seu parâmetro Target definido como FALSE.
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 | Qualquer nível |