Add stub for LockFileEx (KERNEL32.513).

diff --git a/files/file.c b/files/file.c
index 91b8da8..a53a5a3 100644
--- a/files/file.c
+++ b/files/file.c
@@ -1915,6 +1915,36 @@
     return !CLIENT_WaitReply( NULL, NULL, 0 );
 }
 
+/**************************************************************************
+ * LockFileEx [KERNEL32.512]
+ *
+ * Locks a byte range within an open file for shared or exclusive access.
+ *
+ * RETURNS
+ *   success: TRUE
+ *   failure: FALSE
+ * NOTES
+ *
+ * Per Microsoft docs, the third parameter (reserved) must be set to 0.
+ */
+BOOL WINAPI LockFileEx( HANDLE hFile, DWORD flags, DWORD reserved,
+		      DWORD nNumberOfBytesToLockLow, DWORD nNumberOfBytesToLockHigh,
+		      LPOVERLAPPED pOverlapped )
+{
+    FIXME(file, "hFile=%d,flags=%ld,reserved=%ld,lowbytes=%ld,highbytes=%ld,overlapped=%p: stub.\n",
+	  hFile, flags, reserved, nNumberOfBytesToLockLow, nNumberOfBytesToLockHigh,
+	  pOverlapped);
+    if (reserved == 0)
+	SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+    else
+    {
+	ERR(file, "reserved == %ld: Supposed to be 0??\n", reserved);
+	SetLastError(ERROR_INVALID_PARAMETER);
+    }
+
+    return FALSE;
+}
+
 
 /**************************************************************************
  *           UnlockFile   (KERNEL32.703)
diff --git a/include/winbase.h b/include/winbase.h
index 2579ad7..282c2a9 100644
--- a/include/winbase.h
+++ b/include/winbase.h
@@ -1369,6 +1369,7 @@
 BOOL      WINAPI IsValidLocale(DWORD,DWORD);
 BOOL      WINAPI LocalFileTimeToFileTime(const FILETIME*,LPFILETIME);
 BOOL      WINAPI LockFile(HFILE,DWORD,DWORD,DWORD,DWORD);
+BOOL      WINAPI LockFileEx(HANDLE, DWORD, DWORD, DWORD, DWORD, LPOVERLAPPED);    
 HMODULE   WINAPI MapHModuleSL(HMODULE16);
 HMODULE16   WINAPI MapHModuleLS(HMODULE);
 SEGPTR      WINAPI MapLS(LPVOID);
diff --git a/relay32/kernel32.spec b/relay32/kernel32.spec
index 7eeb4ce..058fbbf 100644
--- a/relay32/kernel32.spec
+++ b/relay32/kernel32.spec
@@ -530,7 +530,7 @@
 510 stdcall LocalSize(long) LocalSize
 511 stdcall LocalUnlock(long) LocalUnlock
 512 stdcall LockFile(long long long long long) LockFile
-513 stub LockFileEx
+513 stdcall LockFileEx(long long long long long ptr) LockFileEx
 514 stdcall LockResource(long) LockResource
 515 stdcall MakeCriticalSectionGlobal(ptr) MakeCriticalSectionGlobal
 516 register MapHInstLS() MapHInstLS