Masaüstüne İş Parçacığı Bağlantısı
Bir işlem bir pencere istasyonuna bağlandıktan sonra, sistem bağlantıyı yapan iş parçacığına bir masaüstü atar. Sistem, iş parçacığına atanacak masaüstünü aşağıdaki kurallara göre belirler:
- İş parçacığı SetThreadDesktop işlevini çağırdıysa, belirtilen masaüstüne bağlanır.
- İş parçacığı SetThreadDesktopçağırmadıysa, üst işlemden devralınan masaüstüne bağlanır.
- İş parçacığı SetThreadDesktopçağırmadıysa ve bir masaüstü devralmadıysa, sistem MAXIMUM_ALLOWED erişim için açmayı ve bir masaüstüne bağlanmayı aşağıdaki gibi dener:
- İşlem oluşturulduğunda kullanılan STARTUPINFO yapısının lpDesktop üyesinde bir masaüstü adı belirtildiyse, iş parçacığı belirtilen masaüstüne bağlanır.
- Aksi takdirde, iş parçacığı işlemin bağlandığı pencere istasyonunun varsayılan masaüstüne bağlanır.
Bu bağlantı işlemi sırasında atanan masaüstü, CloseDesktop işlevi çağrılarak kapatılamaz.
Bir işlem bir masaüstüne bağlanırken, sistem devralınan tanıtıcılar için işlemin tanıtıcı tablosunu arar. Sistem bulduğu ilk masaüstü tutamacını kullanır. Alt işlemin belirli bir devralınan masaüstüne bağlanmasını istiyorsanız, yalnızca istenen tanıtıcının devralınabilir olarak işaretlendiğinden emin olmanız gerekir. Bir alt işlem birden çok masaüstü tutamacını devralıyorsa, masaüstü bağlantısının sonuçları tanımlanmamış olur.
Bir işlemi bir masaüstüne bağlarken sistemin açtığı masaüstü tanıtıcıları devralınamaz.
İlgili konular