Aracılığıyla paylaş


İş Parçacığı Tanıtıcıları ve Tanımlayıcıları

CreateThread veya CreateRemoteThreadişleviyeni bir iş parçacığı oluşturulduğunda, iş parçacığının tanıtıcısı döndürülür. Varsayılan olarak, bu tanıtıcı tam erişim haklarına sahiptir ve güvenlik erişim denetimine tabi olarak, iş parçacığı tutamacını kabul eden işlevlerin herhangi birinde kullanılabilir. Bu tanıtıcı, oluşturulduğu sırada belirtilen devralma bayrağına bağlı olarak alt işlemler tarafından devralınabilir. Tanıtıcı DuplicateHandletarafından çoğaltılabilir. Bu, erişim haklarının bir alt kümesiyle bir iş parçacığı tanıtıcısı oluşturmanıza olanak tanır. Tanıtıcı, temsil ettiği iş parçacığı sonlandırıldıktan sonra bile kapatılana kadar geçerlidir.

CreateThread ve CreateRemoteThread işlevleri de iş parçacığını sistem genelinde benzersiz olarak tanımlayan bir tanımlayıcı döndürür. bir iş parçacığı, kendi iş parçacığı tanımlayıcısını almak için GetCurrentThreadIdişlevinikullanabilir. Tanımlayıcılar, iş parçacığının oluşturulduğu zamandan iş parçacığı sonlandırılana kadar geçerlidir. Hiçbir iş parçacığı tanımlayıcının 0 olmayacağına dikkat edin.

İş parçacığı tanımlayıcınız varsa, OpenThread işlevini çağırarak iş parçacığı tanıtıcısını alabilirsiniz. OpenThread tanıtıcının erişim haklarını ve devralınıp devralınamayacağını belirtmenize olanak tanır.

İş parçacığı, kendi iş parçacığı nesnesine bir sahte tanıtıcı almak için GetCurrentThreadişlevini kullanabilir. Bu sahte tanıtıcı yalnızca çağrı işlemi için geçerlidir; diğer işlemler tarafından kullanılmak üzere devralınamaz veya çoğaltılamaz. Sahte tanıtıcı verilen gerçek tanıtıcıyı iş parçacığına almak için DuplicateHandle işlevini kullanın.

bir işlemin iş parçacıklarını numaralandırmak için Thread32First kullanın ve thread32İleriişlevlerini.