Descriptorii și identificatorii de curgere

Descriptorii și identificatorii de curgere

Atunci când un fir nou este creat funcția CreateThread sau CreateRemoteThread. Se returnează un flux descriptor. În mod implicit, acest mâner are drepturi de acces complet, și - ca subiect al securității, controlul accesului - pot fi utilizate în oricare dintre funcțiile care iau un curent mâner. Acest mâner poate fi moștenită de procese copil, în funcție de pavilion moștenirea care determină atunci când este creat. Mânerul poate fi duplicat funcția DuplicateHandle. care vă permite să creați un mâner fir cu un subset de drepturi de acces. Manipulați să spun, atâta timp cât acesta este închis, chiar și după ce fluxul atunci când el este de a finaliza activitatea.

funcția CreateThread și CreateRemoteThread, de asemenea, întoarce și un identificator care identifică în mod unic fluxul în întregul sistem. Fluxul poate utiliza funcția GetCurrentThreadId. pentru a obține propriul identificator de fir. Identificatorii sunt acceptabile, deoarece stabilirea debitului și atâta timp cât fluxul nu este oprit.

Windows NT 4.0 și versiunile anterioare, Windows 95/98 / Me: nu au o modalitate de a obține fluxul de descriptorului de identificare flux. În cazul în care descriptorii sunt puse la dispoziția acestei metode, proprietarul de proces ar putea fi finalizat din cauza unei erori, deoarece un alt proces pentru a efectua în mod neașteptat operații pe unul dintre fluxuri sale, cum ar fi pauză, CV-ul, pentru a regla prioritatea sau închide. În schimb, trebuie să solicitați un mâner pentru creatorul flux sau în fluxul de sine.

Fluxul poate utiliza funcția GetCurrentThread. pentru a extrage psevdodeskriptor (mâner pseudo) propriul lor obiect fir. Acest psevdodeskriptor valabil numai pentru procesul de asteptare; nu poate fi moștenită sau duplicate pentru utilizarea de către alte procese. Pentru a obține un mâner valabil pentru fluxul, veți obține psevdodeskriptor utilizând funcția DuplicateHandle.