Fungsi KsGateGetStateUnsafe (ks.h)

Fungsi KsGateGetStateUnsafe mengembalikan status gerbang yang diberikan (terbuka atau tertutup) dengan cara yang tidak aman, yaitu tanpa memperhatikan sinkronisasi.

Sintaks

BOOLEAN KsGateGetStateUnsafe(
  [in] PKSGATE Gate
);

Parameter

[in] Gate

Penunjuk ke struktur KSGATE yang mewakili gerbang untuk mengembalikan status.

Nilai kembali

Panggilan ini mengembalikan TRUE jika gerbang terbuka dan FALSE jika gerbang ditutup.

Keterangan

Karena KsGateGetStateUnsafe tidak menangani sinkronisasi, dimungkinkan untuk mendapatkan hasil yang tidak konsisten dengan status gerbang jika gerbang berada di pertengahan transisi dari satu status ke keadaan lain pada saat panggilan.

Pertimbangkan situasi di mana output gerbang A terhubung sebagai input ke gerbang B. Transisi ditutup, menyebabkan B beralih dari terbuka ke tertutup. Jika, pada saat yang sama, utas lain memanggil KsGateGetStateUnsafe antara waktu A ditutup dan waktu B ditutup, rutinitas masih mengembalikan bahwa B terbuka.

KsGateGetStateUnsafe mengembalikan apakah Gate-Count> lebih besar dari nol. Fungsi ini tidak menggunakan fungsi yang saling diblokir untuk melakukan ini. Dengan demikian, panggilan dilakukan tanpa memperhatikan sinkronisasi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia di Microsoft Windows XP dan sistem operasi yang lebih baru serta DirectX 8.0 dan versi DirectX yang lebih baru.
Target Platform Desktop
Header ks.h (termasuk Ks.h)
IRQL Tingkat apa pun