Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Önemli
Bu belgede artık ekosistem yol haritamızın bir parçası olmayan konsol platformu işlevselliği açıklanmaktadır. Bu içeriğin yeni ürünlerde kullanılmasını önermeyiz, ancak süresiz gelecek için mevcut kullanımları desteklemeye devam edeceğiz. Tercih edilen modern çözümümüz, platformlar arası senaryolarda maksimum uyumluluk için sanal terminal dizilerine odaklanır. Bu tasarım kararı hakkında daha fazla bilgiyi klasik konsol ve sanal terminal belgemizde bulabilirsiniz.
Alt düzey konsol giriş işlevleri arabelleği, klavye, fare, arabellek yeniden boyutlandırma, odak ve menü olayları hakkındaki bilgileri içerebilen giriş kayıtlarını içerir. Düşük düzeyli işlevler, giriş arabelleğinin verilerini filtreleyen ve işleyen üst düzey işlevlerin aksine giriş arabelleğine doğrudan erişim sağlar ve klavye girişi dışında tümünü atar.
Konsolun giriş arabelleğine erişmek için beş alt düzey işlev vardır:
- ReadConsoleInput
- PeekConsoleInput
- GetNumberOfConsoleInputEvents
- WriteConsoleInput
- FlushConsoleInputBuffer
ReadConsoleInput, PeekConsoleInput ve WriteConsoleInput işlevleri, giriş arabelleğinden okumak veya arabelleğe yazmak için INPUT_RECORD yapısını kullanır.
Aşağıda, alt düzey konsol giriş işlevlerinin açıklamaları yer alır.
| İşlev | Açıklama |
|---|---|
| ReadConsoleInput | Giriş arabellekten giriş kayıtlarını okur ve kaldırır. en az bir kayıt okunmaya hazır olana kadar işlev döndürülmüyor. Ardından, artık kullanılabilir kayıt kalmayıncaya veya belirtilen kayıt sayısı okunana kadar tüm kullanılabilir kayıtlar arama işleminin arabelleğine aktarılır. Okunmamış kayıtlar, sonraki okuma işlemi için giriş arabelleğinde kalır. İşlev, okunan toplam kayıt sayısını raporlar. ReadConsoleInput kullanan bir örnek için bkz. Giriş Arabellek Olaylarını Okuma. |
| PeekConsoleInput | Bir giriş arabelleğindeki bekleyen giriş kayıtlarını kaldırmadan okur. Belirtilen numaraya kadar tüm kullanılabilir kayıtlar, arama işleminin arabelleğine kopyalanır. Kullanılabilir kayıt yoksa işlev hemen döndürür. İşlev, okunan toplam kayıt sayısını raporlar. |
| GetNumberOfConsoleInputEvents | Bir giriş arabelleğindeki okunmamış giriş kayıtlarının sayısını belirler. |
| WriteConsoleInput | Giriş kayıtlarını arabellekteki bekleyen kayıtların arkasındaki giriş arabelleğine yerleştirir. Giriş arabelleği, gerektiği kadar çok kaydın yazılması için dinamik olarak büyür. Bu işlevi kullanmak için belirtilen giriş arabelleği tanıtıcısının GENERIC_WRITE erişim hakkı olmalıdır. |
| FlushConsoleInputBuffer | Giriş arabelleğindeki tüm okunmamış olayları atar. Bu işlevi kullanmak için belirtilen giriş arabelleği tanıtıcısının GENERIC_WRITE erişim hakkı olmalıdır. |
Bir uygulamanın işleminin iş parçacığı, girişin giriş arabelleğinde kullanılabilir olmasını beklemek için bekleme işlemi gerçekleştirebilir. Bekleme işlemi başlatmak için, bekleme işlevlerinden herhangi birine yapılan çağrıda giriş arabelleği için bir tanıtıcı belirtin. Bu işlevler, bir veya daha fazla nesnenin durumu işaretlendiğinde döndürülebilir. Konsol giriş tutamacının durumu, giriş arabelleğinde okunmamış kayıtlar olduğunda işaretlenir. Giriş arabelleği boş olduğunda durum sinyalsiz olarak sıfırlanır. Kullanılabilir giriş yoksa, çağıran iş parçacığı verimli bir bekleme durumuna girer ve bekleme işleminin koşullarının karşılanmasını beklerken çok az işlemci süresi tüketir.