Condividi tramite


Funzione KsGateGetStateUnsafe (ks.h)

La funzione KsGateGetStateUnsafe restituisce lo stato del gate specificato (aperto o chiuso) in modo non sicuro, ovvero indipendentemente dalla sincronizzazione.

Sintassi

BOOLEAN KsGateGetStateUnsafe(
  [in] PKSGATE Gate
);

Parametri

[in] Gate

Puntatore a una struttura KSGATE che rappresenta il gate per il quale restituire lo stato.

Valore restituito

Questa chiamata restituisce true se il cancello è aperto e FALSE se il cancello è chiuso.

Osservazioni

Poiché KsGateGetStateUnsafe non gestisce la sincronizzazione, è possibile ottenere un risultato che non è coerente con lo stato del gate se il gate è in 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 al gate B. Una transizione a chiusa, causando la transizione da aperta a chiusa. Se, allo stesso tempo, un altro thread chiama KsGateGetStateUnsafe tra la chiusura di A e l'ora di chiusura di B, la routine restituisce comunque che B era aperto.

KsGateGetStateUnsafe restituisce se Gate->Count è maggiore di zero. La funzione non usa alcuna funzione interlocked per eseguire questa operazione. Pertanto, la chiamata viene eseguita senza riguardo alla sincronizzazione.

Fabbisogno

Requisito Valore
client minimo supportato Disponibile in Microsoft Windows XP e nei sistemi operativi successivi e in DirectX 8.0 e versioni successive di DirectX.
piattaforma di destinazione Desktop
intestazione ks.h (include Ks.h)
IRQL Qualsiasi livello