HINSTANCE hInstance;
HANDLE ProcessHeap;
+int LoadStringAndOem(HINSTANCE hInst,
+ UINT uID,
+ LPTSTR szNode,
+ int Siz
+)
+{
+ TCHAR szTmp[25];
+ int res = LoadString(hInst, uID, szTmp, sizeof(szTmp));
+ CharToOem(szTmp, szNode);
+ 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);
}
}
}
VOID ShowInfo(BOOL bAll)
{
+ MIB_IFROW mibEntry;
PIP_ADAPTER_INFO pAdapterInfo = NULL;
PIP_ADAPTER_INFO pAdapter = NULL;
ULONG adaptOutBufLen = 0;
{
LPTSTR IntType, myConType;
+ mibEntry.dwIndex = pAdapter->Index;
+ GetIfEntry(&mibEntry);
+
IntType = GetInterfaceTypeName(pAdapter->Type);
myConType = GetConnectionType(pAdapter->AdapterName);
if (myConType != NULL) HeapFree(ProcessHeap, 0, myConType);
/* check if the adapter is connected to the media */
- if (_tcscmp(pAdapter->IpAddressList.IpAddress.String, "0.0.0.0") == 0)
+ if (mibEntry.dwOperStatus != MIB_IF_OPER_STATUS_CONNECTED && mibEntry.dwOperStatus != MIB_IF_OPER_STATUS_OPERATIONAL)
{
_tprintf(_T("\tMedia State . . . . . . . . . . . : Media disconnected\n"));
pAdapter = pAdapter->Next;
if (lpUsage == NULL)
return;
- if (LoadString(hInstance,
+ if (LoadStringAndOem(hInstance,
IDS_USAGE,
lpUsage,
Size))