- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我只是想知道如何在我的 C++ 程序中获取导致 LoginUser 函数失败的错误并将其作为字符串返回?
JNIEXPORT jstring JNICALL Java_com_entrust_adminservices_urs_examples_authn_LdapAuthenticator2_takeInfo(JNIEnv *env, jobject obj, jstring domain, jstring id, jstring idca, jstring password)
{
const char *nt_domain;
const char *nt_id;
const char *nt_password;
nt_domain = env->GetStringUTFChars(domain, NULL);
nt_id = env->GetStringUTFChars(id, NULL);
nt_password = env->GetStringUTFChars(password, NULL);
HANDLE hToken = 0;
char *otherString;
bool aut = true;
aut = LogonUser(nt_id, nt_domain, nt_password, LOGON32_LOGON_NETWORK, LOGON32_PROVIDER_DEFAULT, &hToken );
if(aut)
{
otherString = "true";
}
else
{
otherString = //how would i get the last error here?
}
jstring newString = env->NewStringUTF((const char*)otherString);
return newString;
}
int main()
{
return 0;
}
谢谢-皮特
编辑:
谢谢大家,用:
DWORD dwError = GetLastError();
LPVOID lpMsgBuf;
FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, dwError, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT ), (LPTSTR) &lpMsgBuf, 0, NULL );
otherString = (char*)lpMsgBuf;
最佳答案
在 Windows 中,您可以使用 GetLastError检索错误,然后 FormatMessage将其转换为您可以使用的字符串。
关于c++ - 从 LogonUser 函数获取最后一个错误并将其作为字符串返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1075243/
我需要使用 C# 模拟用户。我使用 LogonUser Win32 API。当模拟来自与当前登录用户相同的域的用户时,这工作正常。但是,当我尝试模拟来自其他域的用户时,得到的响应是“false”。 什
我正在打电话LogonUser尝试验证一组凭据: LogonUser("forest", "avatopia.com" "stapler", LOGON32_LOGON_NETWOR
我们正在尝试“锁定”一台计算机,以便我们拥有一个只有很少权限的 Windows XP 通用登录帐户。然后我们的软件通过一个启动器启动,该启动器以更高权限的用户身份运行它,允许它访问文件系统。 然后,运
我只是想知道如何在我的 C++ 程序中获取导致 LoginUser 函数失败的错误并将其作为字符串返回? JNIEXPORT jstring JNICALL Java_com_entrust_admi
LogonUser 函数 http://msdn.microsoft.com/en-us/library/aa378184(VS.85).aspx返回一个句柄,你可以用它来模拟用户,当你使用完它时,你
我很难找到有关此方法的大量信息,所以我想我应该在这里问问,看看你们这些优秀的人是否可以提供帮助。 我们基本上拥有的是...... [DllImport("advapi32.dll", SetLastE
bool bRet=LogonUser(strUserName, L"", strPassword, LOGON32_LOGON_TYPE_NEW_CREDENTIALS, LOGON32_PROVI
我在使用 C++ 中的 LogonUser() API 函数时遇到一些问题。我正在测试的计算机不在域中。我正在测试的帐户存在于计算机上,但当我提供无效域时,它会验证登录。 这对我来说似乎不对。 HAN
我们正在开发具有内部用户帐户系统的应用程序,但希望能够使用来自 Active Directory 和/或 Windows 帐户的凭据。为此,我们将用户 SID 存储在应用程序用户表的一个字段中。我们的
我已经阅读了 Stack Overflow 上关于 CreateProcessAsUser 的所有帖子,但很少有已解决的问题,所以我不会在这个问题上屏住呼吸。但似乎我肯定遗漏了一些东西,所以这可能很容
我一直在尝试使用 LogonUser(...) 获取用户帐户的访问 token ,如 this MSDN sample . // Call LogonUser to obtain a handle t
我正在开发一个 C++ 应用程序,这个应用程序作为 Windows 服务运行。我需要模拟当前用户来访问网络位置,为此我使用 Windows API LogonUser 和 ImpersonateLog
ASP.NET: Impersonate against a domain on VMWare 这个问题是我问的,但是答案没有提供_token是如何派生的细节。它似乎只使用 WindowsIdenti
所以在两台机器之间,没有信任——它们在不同的域中。 我已使用登录类型 LOGON32_LOGON_NEW_CREDENTIALS 使用 LogonUser API 成功连接到远程计算机。我能够使用 U
我使用模拟机制来管理远程机器上的服务我可以在 RDP session 中使用我的用户名和密码连接到该机器并手动启动/停止服务。我还设法通过在模拟语句中使用 IntPtr.Zero token 的代码启
是否有一些标志系列允许 LogonUser 在计算机未连接到网络时返回可用于模拟本地用户的 token (但所有帐户都已在本地存在)。 我有执行应用程序的域帐户 MYDOMAIN\FooUser 我正
我正在尝试使用 this code从我的本地计算机 (Windows 8.1) 登录到受限网络共享(在头节点上使用 Windows Server 2012),但我似乎无法让它工作。 两台机器都在同一个
谁能帮我解决这个问题?我试图使用所需的凭据登录到 portal.microsoftonline.com,但它给我带来了错误。是我的网址有误还是什么?因为我试图模仿并赋予用户角色。谢谢,顺便说一句,我是
你可以用 token 做什么 LogonUser返回?它的用途是什么? BOOL LogonUser( __in LPTSTR lpszUsername, __in_opt LPT
大家好,我正在尝试编译这个 C++ 程序: #include #include #include #include #include #include "Validate.h" JNI
我是一名优秀的程序员,十分优秀!