diff --git a/base/services/dhcpcsvc/dhcp/api.c b/base/services/dhcpcsvc/dhcp/api.c index 1bd44cee931..2a63682d00a 100644 --- a/base/services/dhcpcsvc/dhcp/api.c +++ b/base/services/dhcpcsvc/dhcp/api.c @@ -186,10 +186,20 @@ done: return ret; } - /* Function 2 */ DWORD __stdcall +Server_AcquireParametersByBroadcast( + _In_ PDHCP_SERVER_NAME ServerName, + _In_ LPWSTR AdapterName) +{ + DPRINT1("Server_AcquireParametersByBroadcast(%S) is unimplemented!\n", AdapterName); + return ERROR_SUCCESS; +} + +/* Function 3 */ +DWORD +__stdcall Server_ReleaseParameters( _In_ PDHCP_SERVER_NAME ServerName, _In_ LPWSTR AdapterName) @@ -226,7 +236,7 @@ done: return ret; } -/* Function 3 */ +/* Function 4 */ DWORD __stdcall Server_FallbackRefreshParams( @@ -269,41 +279,6 @@ done: return ret; } -/* Function 4 */ -DWORD -__stdcall -Server_QueryHWInfo( - _In_ PDHCP_SERVER_NAME ServerName, - _In_ DWORD AdapterIndex, - _Out_ PDWORD MediaType, - _Out_ PDWORD Mtu, - _Out_ PDWORD Speed) -{ - PDHCP_ADAPTER Adapter; - DWORD ret = ERROR_SUCCESS; - - DPRINT("Server_QueryHWInfo()\n"); - - ApiLock(); - - Adapter = AdapterFindIndex(AdapterIndex); - if (Adapter == NULL) - { - ret = ERROR_FILE_NOT_FOUND; - goto done; - } - - DPRINT("Adapter: %p\n", Adapter); - - *MediaType = Adapter->IfMib.dwType; - *Mtu = Adapter->IfMib.dwMtu; - *Speed = Adapter->IfMib.dwSpeed; - -done: - ApiUnlock(); - - return ret; -} /* Function 5 */ DWORD diff --git a/base/services/dhcpcsvc/dhcpcsvc.c b/base/services/dhcpcsvc/dhcpcsvc.c index 8877e796a2b..e6894995f90 100644 --- a/base/services/dhcpcsvc/dhcpcsvc.c +++ b/base/services/dhcpcsvc/dhcpcsvc.c @@ -260,6 +260,38 @@ DhcpAcquireParameters( return ret; } +/*! + * Renews a DHCP Lease + * + * \param[in] AdapterName + * Name (GUID) of the Adapter + * + * \return ERROR_SUCCESS on success + * + * \remarks Undocumented by Microsoft + */ +DWORD +APIENTRY +DhcpAcquireParametersByBroadcast( + _In_ PWSTR AdapterName) +{ + DWORD ret; + + DPRINT("DhcpAcquireParametersByBroadcast(%S)\n", AdapterName); + + RpcTryExcept + { + ret = Client_AcquireParametersByBroadcast(NULL, AdapterName); + } + RpcExcept(EXCEPTION_EXECUTE_HANDLER) + { + ret = I_RpcMapWin32Status(RpcExceptionCode()); + } + RpcEndExcept; + + return ret; +} + /*! * Enumerates the DHCP user classes for the given adapter * @@ -531,29 +563,6 @@ DhcpNotifyConfigChangeEx( return ret; } -DWORD APIENTRY -DhcpQueryHWInfo(DWORD AdapterIndex, - PDWORD MediaType, - PDWORD Mtu, - PDWORD Speed) -{ - DWORD ret; - - DPRINT("DhcpQueryHWInfo()\n"); - - RpcTryExcept - { - ret = Client_QueryHWInfo(NULL, AdapterIndex, MediaType, Mtu, Speed); - } - RpcExcept(EXCEPTION_EXECUTE_HANDLER) - { - ret = I_RpcMapWin32Status(RpcExceptionCode()); - } - RpcEndExcept; - - return (ret == ERROR_SUCCESS) ? 1 : 0; -} - /*! * Releases a DHCP Lease * diff --git a/base/services/dhcpcsvc/dhcpcsvc.spec b/base/services/dhcpcsvc/dhcpcsvc.spec index 3091bb6053e..7843b41b671 100644 --- a/base/services/dhcpcsvc/dhcpcsvc.spec +++ b/base/services/dhcpcsvc/dhcpcsvc.spec @@ -6,7 +6,7 @@ # COPYRIGHT: Copyright 2006 Ge van Geldorp # @ stdcall DhcpAcquireParameters(wstr) -@ stub DhcpAcquireParametersByBroadcast +@ stdcall DhcpAcquireParametersByBroadcast(wstr) @ stdcall DhcpCApiCleanup() @ stdcall DhcpCApiInitialize(ptr) @ stub DhcpDelPersistentRequestParams @@ -22,7 +22,7 @@ @ stub DhcpNotifyMediaReconnected @ stub DhcpOpenGlobalEvent @ stub DhcpPersistentRequestParams -@ stdcall DhcpQueryHWInfo(long ptr ptr ptr) +@ stub DhcpQueryHWInfo @ stub DhcpRegisterOptions @ stub DhcpRegisterParamChange @ stub DhcpReleaseIpAddressLease diff --git a/sdk/include/psdk/dhcpcapi.h b/sdk/include/psdk/dhcpcapi.h index 4899502693f..77113bad644 100644 --- a/sdk/include/psdk/dhcpcapi.h +++ b/sdk/include/psdk/dhcpcapi.h @@ -25,6 +25,11 @@ APIENTRY DhcpAcquireParameters( _In_ PWSTR AdapterName); +DWORD +APIENTRY +DhcpAcquireParametersByBroadcast( + _In_ PWSTR AdapterName); + DWORD APIENTRY DhcpEnumClasses( @@ -70,22 +75,17 @@ DhcpNotifyConfigChangeEx( _In_ INT DhcpAction, _In_ DWORD Unknown8); -DWORD -APIENTRY -DhcpQueryHWInfo( - _In_ DWORD AdapterIndex, - _Out_ PDWORD MediaType, - _Out_ PDWORD Mtu, - _Out_ PDWORD Speed); - DWORD APIENTRY DhcpReleaseParameters( _In_ PWSTR AdapterName); -DWORD APIENTRY DhcpStaticRefreshParams( DWORD AdapterIndex, - DWORD Address, - DWORD Netmask ); +DWORD +APIENTRY +DhcpStaticRefreshParams( + DWORD AdapterIndex, + DWORD Address, + DWORD Netmask); #ifdef __cplusplus } diff --git a/sdk/include/reactos/idl/dhcpcsvc.idl b/sdk/include/reactos/idl/dhcpcsvc.idl index 39e2f644fdf..bc4289b55ec 100644 --- a/sdk/include/reactos/idl/dhcpcsvc.idl +++ b/sdk/include/reactos/idl/dhcpcsvc.idl @@ -38,26 +38,23 @@ interface dhcpcsvc /* Function 2 */ DWORD __stdcall - ReleaseParameters( + AcquireParametersByBroadcast( [in, string, unique] PDHCP_SERVER_NAME ServerName, [in, string] LPWSTR AdapterName); /* Function 3 */ DWORD __stdcall - FallbackRefreshParams( + ReleaseParameters( [in, string, unique] PDHCP_SERVER_NAME ServerName, [in, string] LPWSTR AdapterName); /* Function 4 */ DWORD __stdcall - QueryHWInfo( + FallbackRefreshParams( [in, string, unique] PDHCP_SERVER_NAME ServerName, - [in] DWORD AdapterIndex, - [out] PDWORD MediaType, - [out] PDWORD Mtu, - [out] PDWORD Speed); + [in, string] LPWSTR AdapterName); /* Function 5 */ DWORD