Added some SetLastError()s in GetProcAddress() and LoadLibrary().

diff --git a/loader/module.c b/loader/module.c
index dfa3719..59a15f3 100644
--- a/loader/module.c
+++ b/loader/module.c
@@ -1179,6 +1179,11 @@
 HMODULE WINAPI LoadLibraryExA(LPCSTR libname,HFILE hfile,DWORD flags)
 {
     HMODULE hmod;
+
+    if (!libname) {
+    	SetLastError(ERROR_INVALID_PARAMETER);
+	return 0;
+    }
     hmod = MODULE_LoadLibraryExA( libname, hfile, flags );
 
     if ( hmod >= 32 )
@@ -1188,6 +1193,7 @@
 
         /* Initialize DLL just loaded */
         MODULE_InitializeDLLs( hmod, DLL_PROCESS_ATTACH, NULL );
+	/* FIXME: check for failure, SLE(ERROR_DLL_INIT_FAILED) */
     }
 
     return hmod;
@@ -1365,21 +1371,29 @@
 	BOOL snoop )
 {
     WINE_MODREF	*wm = MODULE32_LookupHMODULE( hModule );
+    FARPROC	retproc;
 
     if (HIWORD(function))
 	TRACE(win32,"(%08lx,%s)\n",(DWORD)hModule,function);
     else
 	TRACE(win32,"(%08lx,%p)\n",(DWORD)hModule,function);
-    if (!wm)
+    if (!wm) {
+    	SetLastError(ERROR_INVALID_HANDLE);
         return (FARPROC)0;
+    }
     switch (wm->type)
     {
     case MODULE32_PE:
-     	return PE_FindExportedFunction( wm, function, snoop );
+     	retproc = PE_FindExportedFunction( wm, function, snoop );
+	if (!retproc) SetLastError(ERROR_PROC_NOT_FOUND);
+	return retproc;
     case MODULE32_ELF:
-    	return ELF_FindExportedFunction( wm, function);
+    	retproc = ELF_FindExportedFunction( wm, function);
+	if (!retproc) SetLastError(ERROR_PROC_NOT_FOUND);
+	return retproc;
     default:
     	ERR(module,"wine_modref type %d not handled.\n",wm->type);
+    	SetLastError(ERROR_INVALID_HANDLE);
     	return (FARPROC)0;
     }
 }