Funzione VideoPortInterlockedExchange (video.h)
La funzione VideoPortInterlockedExchange blocca o sblocca un blocco di memoria impostando rispettivamente una variabile di blocco definita dall'utente su TRUE o FALSE. Restituisce il valore precedentemente mantenuto della variabile di blocco.
Sintassi
VIDEOPORT_API LONG VideoPortInterlockedExchange(
[in, out] IN OUT PLONG Target,
[in] IN LONG Value
);
Parametri
[in, out] Target
Puntatore a una variabile di blocco definita dall'utente usata per controllare l'accesso a un buffer di memoria.
[in] Value
Specifica il valore da archiviare in Target, che indica se il buffer di memoria deve essere bloccato o sbloccato. Usare TRUE per bloccare il buffer di memoria e FALSE per sbloccare il buffer di memoria.
Valore restituito
VideoPortInterlockedExchange restituisce il valore di Target precedente alla chiamata di funzione.
Commenti
VideoPortInterlockedExchange può essere usato per impedire la contesa di buffer comune DMA in sistemi a più processori.
Quando il buffer non viene letto o scritto in , la variabile di blocco deve avere un valore FALSE. Una chiamata successiva a VideoPortInterlockedExchange con il relativo parametro Target impostato su TRUE reimposta la variabile di blocco su TRUE, dopo la quale questa funzione restituisce FALSE. Il buffer è ora bloccato, impedendo l'accesso da altri thread. Al termine delle operazioni correnti sul buffer, sbloccare il buffer con una chiamata a VideoPortInterlockedExchange con il relativo parametro Target impostato su FALSE.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile in Windows 2000 e versioni successive dei sistemi operativi Windows. |
Piattaforma di destinazione | Desktop |
Intestazione | video.h (include Video.h) |
Libreria | Videoprt.lib |
DLL | Videoprt.sys |
IRQL | Qualsiasi livello |