HINSTANCE hInstance;
HANDLE ProcessHeap;
+int LoadStringAndOem(HINSTANCE hInst,
+ UINT uID,
+ LPTSTR szNode,
+ int byteSize
+)
+{
+ TCHAR *szTmp;
+ int res;
+
+ szTmp = (LPTSTR)HeapAlloc(ProcessHeap, 0, byteSize);
+ if (szTmp == NULL)
+ {
+ return 0;
+ }
+ res = LoadString(hInst, uID, szTmp, byteSize);
+ CharToOem(szTmp, szNode);
+ HeapFree(ProcessHeap, 0, szTmp);
+ return res;
+}
LPTSTR GetNodeTypeName(UINT NodeType)
{
switch (NodeType)
{
case 1:
- if (!LoadString(hInstance, IDS_BCAST, szNode, sizeof(szNode)))
+ if (!LoadStringAndOem(hInstance, IDS_BCAST, szNode, sizeof(szNode)))
return NULL;
break;
case 2:
- if (!LoadString(hInstance, IDS_P2P, szNode, sizeof(szNode)))
+ if (!LoadStringAndOem(hInstance, IDS_P2P, szNode, sizeof(szNode)))
return NULL;
break;
case 4:
- if (!LoadString(hInstance, IDS_MIXED, szNode, sizeof(szNode)))
+ if (!LoadStringAndOem(hInstance, IDS_MIXED, szNode, sizeof(szNode)))
return NULL;
break;
case 8:
- if (!LoadString(hInstance, IDS_HYBRID, szNode, sizeof(szNode)))
+ if (!LoadStringAndOem(hInstance, IDS_HYBRID, szNode, sizeof(szNode)))
return NULL;
break;
default :
- if (!LoadString(hInstance, IDS_UNKNOWN, szNode, sizeof(szNode)))
+ if (!LoadStringAndOem(hInstance, IDS_UNKNOWN, szNode, sizeof(szNode)))
return NULL;
break;
}
switch (InterfaceType)
{
case MIB_IF_TYPE_OTHER:
- if (!LoadString(hInstance, IDS_OTHER, szIntType, sizeof(szIntType)))
+ if (!LoadStringAndOem(hInstance, IDS_OTHER, szIntType, sizeof(szIntType)))
return NULL;
break;
case MIB_IF_TYPE_ETHERNET:
- if (!LoadString(hInstance, IDS_ETH, szIntType, sizeof(szIntType)))
+ if (!LoadStringAndOem(hInstance, IDS_ETH, szIntType, sizeof(szIntType)))
return NULL;
break;
case MIB_IF_TYPE_TOKENRING:
- if (!LoadString(hInstance, IDS_TOKEN, szIntType, sizeof(szIntType)))
+ if (!LoadStringAndOem(hInstance, IDS_TOKEN, szIntType, sizeof(szIntType)))
return NULL;
break;
case MIB_IF_TYPE_FDDI:
- if (!LoadString(hInstance, IDS_FDDI, szIntType, sizeof(szIntType)))
+ if (!LoadStringAndOem(hInstance, IDS_FDDI, szIntType, sizeof(szIntType)))
return NULL;
break;
case MIB_IF_TYPE_PPP:
- if (!LoadString(hInstance, IDS_PPP, szIntType, sizeof(szIntType)))
+ if (!LoadStringAndOem(hInstance, IDS_PPP, szIntType, sizeof(szIntType)))
return NULL;
break;
case MIB_IF_TYPE_LOOPBACK:
- if (!LoadString(hInstance, IDS_LOOP, szIntType, sizeof(szIntType)))
+ if (!LoadStringAndOem(hInstance, IDS_LOOP, szIntType, sizeof(szIntType)))
return NULL;
break;
case MIB_IF_TYPE_SLIP:
- if (!LoadString(hInstance, IDS_SLIP, szIntType, sizeof(szIntType)))
+ if (!LoadStringAndOem(hInstance, IDS_SLIP, szIntType, sizeof(szIntType)))
return NULL;
break;
default:
- if (!LoadString(hInstance, IDS_UNKNOWN, szIntType, sizeof(szIntType)))
+ if (!LoadStringAndOem(hInstance, IDS_UNKNOWN, szIntType, sizeof(szIntType)))
return NULL;
break;
}
{
HKEY hKey = NULL;
LPTSTR ConType = NULL;
+ LPTSTR ConTypeTmp = NULL;
TCHAR Path[256];
LPTSTR PrePath = _T("SYSTEM\\CurrentControlSet\\Control\\Network\\{4D36E972-E325-11CE-BFC1-08002BE10318}\\");
LPTSTR PostPath = _T("\\Connection");
NULL,
&dwDataSize) == ERROR_SUCCESS)
{
+ ConTypeTmp = (LPTSTR)HeapAlloc(ProcessHeap,
+ 0,
+ dwDataSize);
+
ConType = (LPTSTR)HeapAlloc(ProcessHeap,
0,
dwDataSize);
- if (ConType)
+ if (ConType && ConTypeTmp)
{
if(RegQueryValueEx(hKey,
_T("Name"),
NULL,
&dwType,
- (PBYTE)ConType,
+ (PBYTE)ConTypeTmp,
&dwDataSize) != ERROR_SUCCESS)
{
HeapFree(ProcessHeap,
0,
ConType);
+ HeapFree(ProcessHeap,
+ 0,
+ ConTypeTmp);
+
ConType = NULL;
}
+
+ if (ConType) CharToOem(ConTypeTmp, ConType);
}
}
}
if (lpUsage == NULL)
return;
- if (LoadString(hInstance,
+ if (LoadStringAndOem(hInstance,
IDS_USAGE,
lpUsage,
Size))
{
_tprintf(_T("%s"), lpUsage);
- }
+ }
}
}