--- trunk/reactos/lib/kernel32/file/create.c 2005-08-25 17:38:15 UTC (rev 17541)
+++ trunk/reactos/lib/kernel32/file/create.c 2005-08-25 18:21:50 UTC (rev 17542)
@@ -357,4 +357,51 @@
return FileHandle;
}
+
+/*
+ * @unimplemented
+ */
+BOOL STDCALL
+CreateSymbolicLinkW(IN LPCWSTR lpSymlinkFileName,
+ IN LPCWSTR lpTargetFileName,
+ IN DWORD dwFlags)
+{
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+ return FALSE;
+}
+
+
+/*
+ * @implemented
+ */
+BOOL STDCALL
+CreateSymbolicLinkA(IN LPCSTR lpSymlinkFileName,
+ IN LPCSTR lpTargetFileName,
+ IN DWORD dwFlags)
+{
+ PWCHAR SymlinkW, TargetW;
+ BOOL Ret;
+
+ if(!lpSymlinkFileName || !lpTargetFileName)
+ {
+ SetLastError(ERROR_INVALID_PARAMETER);
+ return FALSE;
+ }
+
+ if (!(SymlinkW = FilenameA2W(lpSymlinkFileName, FALSE)))
+ return FALSE;
+
+ if (!(TargetW = FilenameA2W(lpTargetFileName, TRUE)))
+ return FALSE;
+
+ Ret = CreateSymbolicLinkW(SymlinkW,
+ TargetW,
+ dwFlags);
+
+ RtlFreeHeap(RtlGetProcessHeap(), 0, TargetW);
+
+ return Ret;
+}
+
+
/* EOF */
--- trunk/reactos/lib/kernel32/kernel32.def 2005-08-25 17:38:15 UTC (rev 17541)
+++ trunk/reactos/lib/kernel32/kernel32.def 2005-08-25 18:21:50 UTC (rev 17542)
@@ -135,6 +135,8 @@
CreateSemaphoreA@16
CreateSemaphoreW@16
CreateSocketHandle@0
+CreateSymbolicLinkA@12
+CreateSymbolicLinkW@12
CreateTapePartition@16
CreateThread@24
CreateTimerQueue@0