Вопрос по interop
От: Somescout  
Дата: 26.09.19 09:51
Оценка:
Здравствуйте.

Есть такой код:

            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!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.