我正在尝试使用InternetGetConnectedStateEx,但无法检索lpszConnectionName。如果将其初始化为0,则没有任何值,但是如果我使用_T(“hol”)进行初始化;我遇到访问冲突
DWORD dwFlags;
LPTSTR lpszConnectionName = _T("hol");
DWORD dwNameLen = 3;
if (InternetGetConnectedStateEx(&dwFlags, lpszConnectionName, dwNameLen, NULL))
{
printf("Connected to internet");
}
else {
printf("not connected");
}
谢谢!
最佳答案
documentation说(强调我):
这是一个输出参数,如果有一个 Activity 参数,它将用连接名称填充。自行指定此参数的内容是一个错误,使它双重指向字符串文字(因为修改它会触发未定义的行为)。
调用该函数的适当方法如下:
DWORD dwFlags;
TCHAR lpszConnectionName[512];
if (InternetGetConnectedStateEx(&dwFlags, lpszConnectionName,
_countof(lpszConnectionName), NULL)) {
// ...
} else {
// ...
}
关于c++ - InternetGetConnectedStateEx的用法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28943508/