MSDN, RevertToSelf() başarısız olursa, programın derhal sonlandırılması gerektiğini, aksi halde, kimliğe bürünmediği ve uygun olmayan bir istemci adına çalışmaya devam ettiğini belirtir. Şimdi ImpersonateSelf() öğesi başarısız olduktan sonra RevertToSelf() öğesi önemli midir?
ImpersonateSelf(SecurityImpersonation);
yapmak varsayalım ve çağrı sonra
RevertToSelf()
arayıp ikincisi başarısız yerine geldi. İş parçacığı, geçerli işlemin ayrıcalıklarıyla çalışmaya devam eder. Bu da çok mu kötü?
Bu, başarısız olmanın imkansız olduğu işlevlerden biri gibi görünüyor. Düşünebildiğim tek başarısızlık senaryosu, kendinizi (sonra denemek için çok tembel olduğum halde) kendiniz taklit ettikten sonra iş parçacığı (veya süreç?) Için DACL'deki "Set Thread Token" iznini reddetmektir. Kimliğe bürünme ile ilgili olan şey, * iş parçacığının erişmeye çalıştığı her şeyi etkilemesidir. Muhtemelen ölümcül olmama noktasında kesinlikle “imkansız” olma ve önlem alma (muhtemelen kendini taklit etmeme ve kendini taklit etme arasında pratik bir fark olmasa bile) almayı düşünürdüm. – Luke