我正在使用以下代码来运行NetUserGetInfo函数:
bool MyGetComputerName(std::wstring &ComputerName) {
bool bReturn=false;
WCHAR ComputerNameBuffer[MAX_COMPUTERNAME_LENGTH+1]={0};
DWORD dwComputerNameLength=MAX_COMPUTERNAME_LENGTH+1;
DWORD dwReturn=GetComputerNameExW(ComputerNameNetBIOS,ComputerNameBuffer,&dwComputerNameLength);
if(dwReturn) {
ComputerName=std::wstring(ComputerNameBuffer);
bReturn=true;
}
return bReturn;
}
std::wstring ComputerName;
MyGetComputerName(ComputerName);
USER_INFO_1003* pUserInfo=0;
NetUserGetInfo(ComputerName.c_str(),L"Gast",1003,reinterpret_cast<LPBYTE*>(&pUserInfo));
函数NetUserGeInfo失败并返回错误124。GetLastError返回错误997。
我究竟做错了什么?
最佳答案
您对NetUserGetInfo
的第三个参数完全无效,这就是为什么它返回错误124(ERROR_INVALID_LEVEL
)的原因。
如果希望它起作用,请在the documentation为level
参数指定的范围内传递数字。在这种情况下,您应该传递值1。
关于c++ - NetUserGetInfo失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44196549/