Juan Lang : iphlpapi: Improve GetPerAdapterInfo stub.
Alexandre Julliard
julliard at winehq.org
Mon Oct 15 11:27:50 CDT 2007
Module: wine
Branch: master
Commit: b0efe7f8b883a95e85eb247f22b8de4ba926014b
URL: http://source.winehq.org/git/wine.git/?a=commit;h=b0efe7f8b883a95e85eb247f22b8de4ba926014b
Author: Juan Lang <juan.lang at gmail.com>
Date: Fri Oct 12 16:16:35 2007 -0700
iphlpapi: Improve GetPerAdapterInfo stub.
---
dlls/iphlpapi/iphlpapi_main.c | 24 ++++++++++++++++++++++--
1 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/dlls/iphlpapi/iphlpapi_main.c b/dlls/iphlpapi/iphlpapi_main.c
index 2aac18d..eaccf83 100644
--- a/dlls/iphlpapi/iphlpapi_main.c
+++ b/dlls/iphlpapi/iphlpapi_main.c
@@ -1450,13 +1450,33 @@ DWORD WINAPI GetNumberOfInterfaces(PDWORD pdwNumIf)
* Failure: error code from winerror.h
*
* FIXME
- * Stub, returns ERROR_NOT_SUPPORTED.
+ * Stub, returns empty IP_PER_ADAPTER_INFO in every case.
*/
DWORD WINAPI GetPerAdapterInfo(ULONG IfIndex, PIP_PER_ADAPTER_INFO pPerAdapterInfo, PULONG pOutBufLen)
{
+ ULONG bytesNeeded = sizeof(IP_PER_ADAPTER_INFO);
+ DWORD ret;
+
TRACE("(IfIndex %d, pPerAdapterInfo %p, pOutBufLen %p)\n", IfIndex,
pPerAdapterInfo, pOutBufLen);
- return ERROR_NOT_SUPPORTED;
+ if (!pOutBufLen)
+ ret = ERROR_INVALID_PARAMETER;
+ else if (!pPerAdapterInfo)
+ {
+ *pOutBufLen = bytesNeeded;
+ ret = NO_ERROR;
+ }
+ else if (*pOutBufLen < bytesNeeded)
+ {
+ *pOutBufLen = bytesNeeded;
+ ret = ERROR_BUFFER_OVERFLOW;
+ }
+ else
+ {
+ memset(pPerAdapterInfo, 0, bytesNeeded);
+ ret = NO_ERROR;
+ }
+ return ret;
}
More information about the wine-cvs
mailing list