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