--- trunk/reactos/lib/iphlpapi/ifenum_reactos.c 2005-09-25 00:35:13 UTC (rev 18040)
+++ trunk/reactos/lib/iphlpapi/ifenum_reactos.c 2005-09-25 04:55:16 UTC (rev 18041)
@@ -363,6 +363,7 @@
if( infoSetInt ) {
for( i = 0; i < numEntities; i++ ) {
if( isInterface( &entIDSet[i] ) ) {
+ infoSetInt[curInterf].entity_id = entIDSet[i];
status = tdiGetMibForIfEntity
( tcpFile,
&entIDSet[i],
@@ -769,7 +770,7 @@
sizeof(info.if_info) );
}
- DPRINT1("entry->bDescr = %s\n", entry->bDescr);
+ DPRINT("entry->bDescr = %s\n", entry->bDescr);
closeTcpFile( tcpFile );
}
--- trunk/reactos/lib/iphlpapi/iphlpapi_main.c 2005-09-25 00:35:13 UTC (rev 18040)
+++ trunk/reactos/lib/iphlpapi/iphlpapi_main.c 2005-09-25 04:55:16 UTC (rev 18041)
@@ -935,8 +935,9 @@
if (!dwOutBufLen)
ret = ERROR_INVALID_PARAMETER;
else {
- DWORD numInterfaces = getNumInterfaces();
- ULONG size = sizeof(IP_INTERFACE_INFO) + (numInterfaces - 1) *
+ DWORD numNonLoopbackInterfaces = getNumNonLoopbackInterfaces();
+ DPRINT("numNonLoopbackInterfaces == 0x%x\n", numNonLoopbackInterfaces);
+ ULONG size = sizeof(IP_INTERFACE_INFO) + (numNonLoopbackInterfaces) *
sizeof(IP_ADAPTER_INDEX_MAP);
if (!pIfTable || *dwOutBufLen < size) {
@@ -944,10 +945,11 @@
ret = ERROR_INSUFFICIENT_BUFFER;
}
else {
- InterfaceIndexTable *table = getInterfaceIndexTable();
+ InterfaceIndexTable *table = getNonLoopbackInterfaceIndexTable();
+ DPRINT("table->numIndexes == 0x%x\n", table->numIndexes);
if (table) {
- size = sizeof(IP_INTERFACE_INFO) + (table->numIndexes - 1) *
+ size = sizeof(IP_INTERFACE_INFO) + (table->numIndexes) *
sizeof(IP_ADAPTER_INDEX_MAP);
if (*dwOutBufLen < size) {
*dwOutBufLen = size;