diff --git a/Makefile.in b/Makefile.in
index 763851f..c63c782 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -242,6 +242,7 @@
 	dlls/hid/Makefile \
 	dlls/hlink/Makefile \
 	dlls/hlink/tests/Makefile \
+	dlls/hnetcfg/Makefile \
 	dlls/iccvid/Makefile \
 	dlls/icmp/Makefile \
 	dlls/ifsmgr.vxd/Makefile \
@@ -596,6 +597,7 @@
 dlls/hid/Makefile: dlls/hid/Makefile.in dlls/Makedll.rules
 dlls/hlink/Makefile: dlls/hlink/Makefile.in dlls/Makedll.rules
 dlls/hlink/tests/Makefile: dlls/hlink/tests/Makefile.in dlls/Maketest.rules
+dlls/hnetcfg/Makefile: dlls/hnetcfg/Makefile.in dlls/Makedll.rules
 dlls/iccvid/Makefile: dlls/iccvid/Makefile.in dlls/Makedll.rules
 dlls/icmp/Makefile: dlls/icmp/Makefile.in dlls/Makedll.rules
 dlls/ifsmgr.vxd/Makefile: dlls/ifsmgr.vxd/Makefile.in dlls/Makedll.rules
diff --git a/configure b/configure
index d6abf81..0828b37 100755
--- a/configure
+++ b/configure
@@ -20548,6 +20548,8 @@
 
 ac_config_files="$ac_config_files dlls/hlink/tests/Makefile"
 
+ac_config_files="$ac_config_files dlls/hnetcfg/Makefile"
+
 ac_config_files="$ac_config_files dlls/iccvid/Makefile"
 
 ac_config_files="$ac_config_files dlls/icmp/Makefile"
@@ -21708,6 +21710,7 @@
     "dlls/hid/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/hid/Makefile" ;;
     "dlls/hlink/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/hlink/Makefile" ;;
     "dlls/hlink/tests/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/hlink/tests/Makefile" ;;
+    "dlls/hnetcfg/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/hnetcfg/Makefile" ;;
     "dlls/iccvid/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/iccvid/Makefile" ;;
     "dlls/icmp/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/icmp/Makefile" ;;
     "dlls/ifsmgr.vxd/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/ifsmgr.vxd/Makefile" ;;
diff --git a/configure.ac b/configure.ac
index 96b2c5c..5d6fce7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1525,6 +1525,7 @@
 AC_CONFIG_FILES([dlls/hid/Makefile])
 AC_CONFIG_FILES([dlls/hlink/Makefile])
 AC_CONFIG_FILES([dlls/hlink/tests/Makefile])
+AC_CONFIG_FILES([dlls/hnetcfg/Makefile])
 AC_CONFIG_FILES([dlls/iccvid/Makefile])
 AC_CONFIG_FILES([dlls/icmp/Makefile])
 AC_CONFIG_FILES([dlls/ifsmgr.vxd/Makefile])
diff --git a/dlls/Makefile.in b/dlls/Makefile.in
index f1366f6..9c16a9a 100644
--- a/dlls/Makefile.in
+++ b/dlls/Makefile.in
@@ -78,6 +78,7 @@
 	hhctrl.ocx \
 	hid \
 	hlink \
+	hnetcfg \
 	iccvid \
 	icmp \
 	ifsmgr.vxd \
diff --git a/dlls/hnetcfg/Makefile.in b/dlls/hnetcfg/Makefile.in
new file mode 100644
index 0000000..b858b5a
--- /dev/null
+++ b/dlls/hnetcfg/Makefile.in
@@ -0,0 +1,13 @@
+TOPSRCDIR = @top_srcdir@
+TOPOBJDIR = ../..
+SRCDIR    = @srcdir@
+VPATH     = @srcdir@
+MODULE    = hnetcfg.dll
+IMPORTS   = kernel32
+
+C_SRCS = \
+	hnetcfg.c
+
+@MAKE_DLL_RULES@
+
+@DEPENDENCIES@  # everything below this line is overwritten by make depend
diff --git a/dlls/hnetcfg/hnetcfg.c b/dlls/hnetcfg/hnetcfg.c
new file mode 100644
index 0000000..a95b443
--- /dev/null
+++ b/dlls/hnetcfg/hnetcfg.c
@@ -0,0 +1,86 @@
+/*
+ * Copyright (C) 2007 Jeff Latimer
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#include <stdarg.h>
+
+#include "windef.h"
+#include "winbase.h"
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(hnetcfg);
+
+BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpvReserved)
+{
+    TRACE("(0x%p, %d, %p)\n",hInstDLL,fdwReason,lpvReserved);
+
+    switch(fdwReason) {
+        case DLL_WINE_PREATTACH:
+            return FALSE;
+        case DLL_PROCESS_ATTACH:
+            DisableThreadLibraryCalls(hInstDLL);
+            break;
+        case DLL_PROCESS_DETACH:
+            break;
+    }
+    return TRUE;
+}
+
+/******************************************************************
+ *      DllCanUnloadNow (HNETCFG.@)
+ *
+ *
+ */
+HRESULT WINAPI DllCanUnloadNow(void)
+{
+    FIXME(":stub\n");
+    return S_OK;
+}
+
+
+/******************************************************************
+ *      DllGetClassObject (HNETCFG.@)
+ *
+ *
+ */
+HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
+{
+
+    FIXME("(%s,%s,%p)\n", debugstr_guid(rclsid), debugstr_guid(riid), ppv);
+
+    return E_NOINTERFACE;
+}
+
+/******************************************************************
+ *      DllRegisterServer (HNETCFG.@)
+ *
+ *
+ */
+HRESULT WINAPI DllRegisterServer(void)
+{
+    return S_OK;
+}
+
+/******************************************************************
+ *      DllUnregisterServer (HNETCFG.@)
+ *
+ *
+ */
+HRESULT WINAPI DllUnregisterServer(void)
+{
+    return S_OK;
+}
diff --git a/dlls/hnetcfg/hnetcfg.spec b/dlls/hnetcfg/hnetcfg.spec
new file mode 100644
index 0000000..be44a59
--- /dev/null
+++ b/dlls/hnetcfg/hnetcfg.spec
@@ -0,0 +1,4 @@
+@ stdcall -private DllCanUnloadNow()
+@ stdcall -private DllGetClassObject( ptr ptr ptr )
+@ stdcall -private DllRegisterServer()
+@ stdcall -private DllUnregisterServer()
