Funzione KsGateGetStateUnsafe (ks.h)
La funzione KsGateGetStateUnsafe restituisce lo stato del gate specificato (aperto o chiuso) in modo non sicuro, ovvero senza considerare la sincronizzazione.
Sintassi
BOOLEAN KsGateGetStateUnsafe(
[in] PKSGATE Gate
);
Parametri
[in] Gate
Puntatore a una struttura KSGATE che rappresenta il gate per cui restituire lo stato.
Valore restituito
Questa chiamata restituisce TRUE se il gate è aperto e FALSE se il gate è chiuso.
Commenti
Poiché KsGateGetStateUnsafe non gestisce la sincronizzazione, è possibile ottenere un risultato che non è coerente con lo stato del gate se il gate è in fase di transizione intermedia da uno stato a un altro al momento della chiamata.
Si consideri una situazione in cui l'output del gate A è connesso come input a gate B. Una transizione alla chiusura, causando la transizione di B da aperta a chiusa. Se, allo stesso tempo, un altro thread chiama KsGateGetStateUnsafe tra l'ora di chiusura A e l'ora di chiusura di B, la routine restituisce ancora che B era aperta.
KsGateGetStateUnsafe restituisce se Gate-Count> è maggiore di zero. La funzione non usa funzioni interlockate per eseguire questa operazione. Pertanto, la chiamata viene eseguita senza considerare la sincronizzazione.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile in Microsoft Windows XP e versioni successive e DirectX 8.0 e versioni successive di DirectX. |
Piattaforma di destinazione | Desktop |
Intestazione | ks.h (include Ks.h) |
IRQL | Qualsiasi livello |