Здравствуйте.
Есть такой код:
string password = SecureStringToString(Password);
bool loginResult = Interop.Advapi32.LogonUser(UserName, Domain, password,
Interop.Advapi32.LOGON32.LOGON32_LOGON_BATCH, Interop.Advapi32.LOGON32.LOGON32_PROVIDER_DEFAULT,
out var tempUserToken);
if (loginResult)
{
return tempUserToken;
}
else
{
if (tempUserToken != null)
{
tempUserToken.Dispose();
}
throw new Win32Exception(Marshal.GetLastWin32Error());
}
Может ли функция LogonUser в случае неудачи вернуть токен, требующий освобожения (tempUserToken.Dispose()) или это тот кто писал функцию перестраховался?
ARI ARI ARI... Arrivederci!