winws: --nlm-list fix national characters in adapter name

This commit is contained in:
bol-van 2024-07-30 19:51:18 +03:00
parent 6ac84b85fb
commit 11f6e07fa7
3 changed files with 8 additions and 5 deletions

Binary file not shown.

View File

@ -998,6 +998,8 @@ static bool AdapterID2Name(const GUID *guid,char *name,DWORD name_len)
HKEY hkNetworkCards,hkCard; HKEY hkNetworkCards,hkCard;
DWORD dwIndex,dwLen; DWORD dwIndex,dwLen;
bool bRet = false; bool bRet = false;
WCHAR namew[128];
DWORD namew_len;
if (name_len<2) return false; if (name_len<2) return false;
@ -1024,10 +1026,11 @@ static bool AdapterID2Name(const GUID *guid,char *name,DWORD name_len)
val[dwLen]='\0'; val[dwLen]='\0';
if (!strcmp(val,sguid)) if (!strcmp(val,sguid))
{ {
name_len--; namew_len = sizeof(namew)-1;
if ((w_win32_error = RegQueryValueExA(hkCard,"Description",NULL,NULL,name,&name_len)) == ERROR_SUCCESS) if ((w_win32_error = RegQueryValueExW(hkCard,L"Description",NULL,NULL,(LPBYTE)namew,&namew_len)) == ERROR_SUCCESS)
{ {
name[name_len]='\0'; namew[namew_len]='\0';
if (WideCharToMultiByte(CP_UTF8, 0, namew, -1, name, name_len, NULL, NULL))
bRet = true; bRet = true;
} }
} }
@ -1096,7 +1099,7 @@ bool nlm_list(bool bAll)
IEnumNetworkConnections *pEnumConnections; IEnumNetworkConnections *pEnumConnections;
VARIANT_BOOL bIsConnected, bIsConnectedInet; VARIANT_BOOL bIsConnected, bIsConnectedInet;
NLM_NETWORK_CATEGORY category; NLM_NETWORK_CATEGORY category;
GUID idNet, idAdapter; GUID idNet, idAdapter, idConn;
BSTR bstrName; BSTR bstrName;
char Name[128],Name2[128]; char Name[128],Name2[128];
int connected; int connected;