diff --git a/api/api.vcxproj b/api/api.vcxproj
index da3e78a..327ee44 100644
--- a/api/api.vcxproj
+++ b/api/api.vcxproj
@@ -121,7 +121,8 @@
_M_ARM64=1;%(PreprocessorDefinitions)
- lib.exe /def:nci.def /out:"$(IntDir)nci.lib" /machine:$(PlatformTarget) /nologo
+ cl.exe /nologo /DGENERATE_LIB /Ob0 /c /Fo"$(IntDir)nci.obj" /Tc nci.h
+lib.exe /def:nci.def /out:"$(IntDir)nci.lib" /machine:$(PlatformTarget) /nologo "$(IntDir)nci.obj"
bcrypt.dll;iphlpapi.dll;nci.dll;newdev.dll;version.dll
@@ -201,4 +202,4 @@
-
+
\ No newline at end of file
diff --git a/api/exports.def b/api/exports.def
index 58add40..fc31c6f 100644
--- a/api/exports.def
+++ b/api/exports.def
@@ -1,3 +1,4 @@
+LIBRARY wintun.dll
EXPORTS
WintunAllocateSendPacket
WintunCreateAdapter
diff --git a/api/nci.def b/api/nci.def
index de1b6ea..db484b7 100644
--- a/api/nci.def
+++ b/api/nci.def
@@ -1,3 +1,4 @@
+LIBRARY nci.dll
EXPORTS
NciGetConnectionName
NciSetConnectionName
diff --git a/api/nci.h b/api/nci.h
index 1346d7a..0d13b19 100644
--- a/api/nci.h
+++ b/api/nci.h
@@ -7,10 +7,21 @@
#include
-extern DWORD WINAPI NciSetConnectionName(_In_ const GUID *Guid, _In_z_ const WCHAR *NewName);
+#ifdef GENERATE_LIB
+# define DECLSPEC __declspec(dllexport)
+# define STUB { return 0; }
+#else
+# define DECLSPEC __declspec(dllimport)
+# define STUB ;
+#endif
-extern DWORD WINAPI NciGetConnectionName(
+
+EXTERN_C DECLSPEC DWORD WINAPI
+NciSetConnectionName(_In_ const GUID *Guid, _In_z_ const WCHAR *NewName) STUB
+
+EXTERN_C DECLSPEC DWORD WINAPI
+NciGetConnectionName(
_In_ const GUID *Guid,
_Out_z_bytecap_(InDestNameBytes) WCHAR *Name,
_In_ DWORD InDestNameBytes,
- _Out_opt_ DWORD *OutDestNameBytes);
\ No newline at end of file
+ _Out_opt_ DWORD *OutDestNameBytes) STUB
\ No newline at end of file