我使用以下代码运行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。 我做错了什么?
答案 0 :(得分:2)
NetUserGetInfo
的第三个参数完全无效,这就是它返回错误124(ERROR_INVALID_LEVEL
)的原因。
如果您希望level
参数可用,请在the documentation中指定的范围内传递一个数字。在这种情况下,您应该传递值1。