mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-14 14:51:28 +00:00
kernel32: Fix two tests that fail in win2k3 and modify LoadLibraryEx to match this behavior.
This commit is contained in:
parent
b1ff962182
commit
731306bf78
|
@ -922,6 +922,12 @@ HMODULE WINAPI LoadLibraryExW(LPCWSTR libnameW, HANDLE hfile, DWORD flags)
|
|||
UNICODE_STRING wstr;
|
||||
HMODULE res;
|
||||
|
||||
if (hfile)
|
||||
{
|
||||
SetLastError(ERROR_INVALID_PARAMETER);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!libnameW)
|
||||
{
|
||||
SetLastError(ERROR_INVALID_PARAMETER);
|
||||
|
|
|
@ -245,13 +245,12 @@ static void testLoadLibraryEx(void)
|
|||
SetLastError(0xdeadbeef);
|
||||
hmodule = LoadLibraryExA("testfile.dll", hfile, 0);
|
||||
ok(hmodule == 0, "Expected 0, got %p\n", hmodule);
|
||||
todo_wine
|
||||
{
|
||||
ok(GetLastError() == ERROR_SHARING_VIOLATION,
|
||||
"Expected ERROR_SHARING_VIOLATION, got %d\n", GetLastError());
|
||||
}
|
||||
ok(GetLastError() == ERROR_SHARING_VIOLATION ||
|
||||
GetLastError() == ERROR_INVALID_PARAMETER, /* win2k3 */
|
||||
"Expected ERROR_SHARING_VIOLATION or ERROR_INVALID_PARAMETER, got %d\n",
|
||||
GetLastError());
|
||||
|
||||
/* has nothing to do with hFile */
|
||||
/* try to open a file that is locked */
|
||||
SetLastError(0xdeadbeef);
|
||||
hmodule = LoadLibraryExA("testfile.dll", NULL, 0);
|
||||
ok(hmodule == 0, "Expected 0, got %p\n", hmodule);
|
||||
|
@ -261,12 +260,14 @@ static void testLoadLibraryEx(void)
|
|||
"Expected ERROR_SHARING_VIOLATION, got %d\n", GetLastError());
|
||||
}
|
||||
|
||||
/* one last try with hFile */
|
||||
/* lpFileName does not matter */
|
||||
SetLastError(0xdeadbeef);
|
||||
hmodule = LoadLibraryExA(NULL, hfile, 0);
|
||||
ok(hmodule == 0, "Expected 0, got %p\n", hmodule);
|
||||
ok(GetLastError() == ERROR_MOD_NOT_FOUND,
|
||||
"Expected ERROR_MOD_NOT_FOUND, got %d\n", GetLastError());
|
||||
ok(GetLastError() == ERROR_MOD_NOT_FOUND ||
|
||||
GetLastError() == ERROR_INVALID_PARAMETER, /* win2k3 */
|
||||
"Expected ERROR_MOD_NOT_FOUND or ERROR_INVALID_PARAMETER, got %d\n",
|
||||
GetLastError());
|
||||
|
||||
CloseHandle(hfile);
|
||||
|
||||
|
|
Loading…
Reference in a new issue