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 como 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 Destino, o 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.
Retornar valor
VideoPortInterlockedExchange retorna o valor que Target tinha antes da chamada de função.
Comentários
VideoPortInterlockedExchange pode ser usado para impedir a contenção de buffer comum de DMA em sistemas de vários processadores.
Quando o buffer não está sendo lido ou gravado em, a variável de bloqueio deve ter um valor false. Uma chamada subsequente para VideoPortInterlockedExchange com seu parâmetro Target definido como TRUE redefine a variável de bloqueio para TRUE, após a 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 |
---|---|
Cliente mínimo com suporte | Disponível no Windows 2000 e versões posteriores dos sistemas operacionais Windows. |
Plataforma de Destino | Área de Trabalho |
Cabeçalho | video.h (inclua Video.h) |
Biblioteca | Videoprt.lib |
DLL | Videoprt.sys |
IRQL | Qualquer nível |