Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>So, as you requested Win NT 'solution' only, here is my code.It lists network interfaces with current configured values.</p> <p>Note EnableDHCP registry key value, I think this is the point.</p> <p>As I already mentioned in comment under your question, you need as least simple JNI wrapper.</p> <p>Hope this helps.</p> <p>more info here : <a href="http://support.microsoft.com/kb/314053" rel="nofollow">http://support.microsoft.com/kb/314053</a></p> <pre><code>#include &lt;windows.h&gt; #define NETCARD_ROOT L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\NetworkCards" #define TCPIP_ROOT L"SYSTEM\\CurrentControlSet\\services\\Tcpip\\Parameters\\Interfaces" int _tmain(int argc, _TCHAR* argv[]) { //First enumerate all network adapters HKEY hNetCardsKey; LSTATUS lStatus = ERROR_SUCCESS; lStatus = RegOpenKey(HKEY_LOCAL_MACHINE, NETCARD_ROOT, &amp;hNetCardsKey); if(ERROR_SUCCESS == lStatus) { DWORD dwCards = 0L; DWORD dwMaxSubkeyNameLen = 0L; lStatus = RegQueryInfoKey(hNetCardsKey, NULL, NULL, NULL, &amp;dwCards, &amp;dwMaxSubkeyNameLen, NULL, NULL, NULL, NULL, NULL, NULL); if(ERROR_SUCCESS == lStatus &amp;&amp; dwCards) { for(DWORD i = 0; i &lt; dwCards; i++) { TCHAR wszCurrentCardIdxName[MAX_PATH]; wszCurrentCardIdxName[0] = '\0'; lStatus = RegEnumKey(hNetCardsKey, i, wszCurrentCardIdxName, MAX_PATH); if(ERROR_SUCCESS == lStatus) { TCHAR wszAdapterKeyName[MAX_PATH]; wszAdapterKeyName[0] = '\0'; wsprintf(wszAdapterKeyName, L"%s\\%s", NETCARD_ROOT, wszCurrentCardIdxName); HKEY hCardNameKey; lStatus = RegOpenKey( HKEY_LOCAL_MACHINE, wszAdapterKeyName, &amp;hCardNameKey); if(ERROR_SUCCESS == lStatus) { TCHAR wszServiceNameGuid[MAX_PATH]; TCHAR wszAdapterName[MAX_PATH]; DWORD dwSize = sizeof(wszServiceNameGuid); wszServiceNameGuid[0] = '\0'; RegQueryValueEx( hCardNameKey, L"ServiceName", NULL, NULL, (LPBYTE)wszServiceNameGuid, &amp;dwSize); dwSize = sizeof(wszAdapterName); RegQueryValueEx( hCardNameKey, L"Description", NULL, NULL, (LPBYTE)wszAdapterName, &amp;dwSize); OutputDebugStringW(wszServiceNameGuid); OutputDebugStringW(L"\n"); RegCloseKey(hCardNameKey); //Get parameters TCHAR wszCardParamKey[MAX_PATH]; wszCardParamKey[0] = '\0'; wsprintf(wszCardParamKey,L"%s\\%s", TCPIP_ROOT, wszServiceNameGuid); HKEY hParamKey = NULL; lStatus = RegOpenKey( HKEY_LOCAL_MACHINE, wszCardParamKey, &amp;hParamKey); if(ERROR_SUCCESS == lStatus) { DWORD dwEnabledDHCP = 0L; DWORD dwDWSize = sizeof(DWORD); TCHAR wszStaticIP[32]; TCHAR wszDHCPIP[32]; DWORD dwIPSize = sizeof(wszDHCPIP); ZeroMemory(wszDHCPIP, dwIPSize); ZeroMemory(wszStaticIP, dwIPSize); lStatus = RegQueryValueEx( hParamKey, L"EnableDHCP", NULL, NULL, (LPBYTE)&amp;dwEnabledDHCP, &amp;dwDWSize); if(SUCCEEDED(lStatus)) { wprintf_s(L"Adapter : %s [%s] \n\tDHCP : %s\n", wszServiceNameGuid, wszAdapterName, dwEnabledDHCP ? L"Yes" : L"No"); } lStatus = RegQueryValueEx( hParamKey, L"IPAddress", NULL, NULL, (LPBYTE)&amp;wszStaticIP, &amp;dwIPSize); if(SUCCEEDED(lStatus)) { wprintf_s(L"\tConfigured IP Address : %s\n", wszStaticIP); } dwIPSize = sizeof(wszDHCPIP); lStatus = RegQueryValueEx( hParamKey, L"DhcpIPAddress", NULL, NULL, (LPBYTE)&amp;wszDHCPIP, &amp;dwIPSize); if(SUCCEEDED(lStatus)) { wprintf_s(L"\tDHCP IP Address : %s\n", wszDHCPIP); } wprintf_s(L"\n"); RegCloseKey(hParamKey); } } } } } RegCloseKey(hNetCardsKey); } return 0; } </code></pre> <p><strong>Simple output:</strong></p> <pre><code>Adapter : {6EC2554F-3359-43A2-AADB-57F427DC72FC} [Marvell Yukon 88E8072 PCI-E Gigabit Ethernet Controller] DHCP : No Configured IP Address : 192.168.5.10 DHCP IP Address : 192.168.1.102 Adapter : {2A28BDA8-ED1D-4E6E-8990-485EE1836828} [Sony Ericsson Device 0016 USB Ethernet Emulation (NDIS 5)] DHCP : Yes Configured IP Address : DHCP IP Address : 0.0.0.0 Adapter : {491DC095-155F-4572-B975-2E1703C17632} [Microsoft Windows Mobile Remote Adapter] DHCP : Yes Configured IP Address : DHCP IP Address : 169.254.2.2 Adapter : {5F987E64-E804-42DA-9453-8E479B6FC835} [Broadcom 802.11b/g Network adapter] DHCP : Yes Configured IP Address : DHCP IP Address : 192.168.1.14 </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload