Condividi tramite


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