kernel32: Add semi-stub for LoadPackagedLibrary().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48229 Signed-off-by: Paul Gofman <gofmanp@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
6c8f52c4fb
commit
c28225fe5a
|
@ -1049,6 +1049,7 @@
|
||||||
@ stdcall -import LoadLibraryExW(wstr long long)
|
@ stdcall -import LoadLibraryExW(wstr long long)
|
||||||
@ stdcall -import LoadLibraryW(wstr)
|
@ stdcall -import LoadLibraryW(wstr)
|
||||||
@ stdcall LoadModule(str ptr)
|
@ stdcall LoadModule(str ptr)
|
||||||
|
@ stdcall -import LoadPackagedLibrary(wstr long)
|
||||||
@ stdcall -import LoadResource(long long)
|
@ stdcall -import LoadResource(long long)
|
||||||
# @ stub LoadStringBaseExW
|
# @ stub LoadStringBaseExW
|
||||||
# @ stub LoadStringBaseW
|
# @ stub LoadStringBaseW
|
||||||
|
|
|
@ -86,6 +86,7 @@ static BOOL (WINAPI *pFlsFree)(DWORD);
|
||||||
static BOOL (WINAPI *pIsWow64Process)(HANDLE,PBOOL);
|
static BOOL (WINAPI *pIsWow64Process)(HANDLE,PBOOL);
|
||||||
static BOOL (WINAPI *pWow64DisableWow64FsRedirection)(void **);
|
static BOOL (WINAPI *pWow64DisableWow64FsRedirection)(void **);
|
||||||
static BOOL (WINAPI *pWow64RevertWow64FsRedirection)(void *);
|
static BOOL (WINAPI *pWow64RevertWow64FsRedirection)(void *);
|
||||||
|
static HMODULE (WINAPI *pLoadPackagedLibrary)(LPCWSTR lpwLibFileName, DWORD Reserved);
|
||||||
|
|
||||||
static PVOID RVAToAddr(DWORD_PTR rva, HMODULE module)
|
static PVOID RVAToAddr(DWORD_PTR rva, HMODULE module)
|
||||||
{
|
{
|
||||||
|
@ -3917,6 +3918,22 @@ static void test_dll_file( const char *name )
|
||||||
#undef OK_FIELD
|
#undef OK_FIELD
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void test_LoadPackagedLibrary(void)
|
||||||
|
{
|
||||||
|
HMODULE h;
|
||||||
|
|
||||||
|
if (!pLoadPackagedLibrary)
|
||||||
|
{
|
||||||
|
win_skip("LoadPackagedLibrary is not available.\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
SetLastError( 0xdeadbeef );
|
||||||
|
h = pLoadPackagedLibrary(L"kernel32.dll", 0);
|
||||||
|
ok(!h && GetLastError() == APPMODEL_ERROR_NO_PACKAGE, "Got unexpected handle %p, GetLastError() %u.\n",
|
||||||
|
h, GetLastError());
|
||||||
|
}
|
||||||
|
|
||||||
START_TEST(loader)
|
START_TEST(loader)
|
||||||
{
|
{
|
||||||
int argc;
|
int argc;
|
||||||
|
@ -3954,6 +3971,7 @@ START_TEST(loader)
|
||||||
pWow64DisableWow64FsRedirection = (void *)GetProcAddress(kernel32, "Wow64DisableWow64FsRedirection");
|
pWow64DisableWow64FsRedirection = (void *)GetProcAddress(kernel32, "Wow64DisableWow64FsRedirection");
|
||||||
pWow64RevertWow64FsRedirection = (void *)GetProcAddress(kernel32, "Wow64RevertWow64FsRedirection");
|
pWow64RevertWow64FsRedirection = (void *)GetProcAddress(kernel32, "Wow64RevertWow64FsRedirection");
|
||||||
pResolveDelayLoadedAPI = (void *)GetProcAddress(kernel32, "ResolveDelayLoadedAPI");
|
pResolveDelayLoadedAPI = (void *)GetProcAddress(kernel32, "ResolveDelayLoadedAPI");
|
||||||
|
pLoadPackagedLibrary = (void *)GetProcAddress(kernel32, "LoadPackagedLibrary");
|
||||||
|
|
||||||
if (pIsWow64Process) pIsWow64Process( GetCurrentProcess(), &is_wow64 );
|
if (pIsWow64Process) pIsWow64Process( GetCurrentProcess(), &is_wow64 );
|
||||||
GetSystemInfo( &si );
|
GetSystemInfo( &si );
|
||||||
|
@ -3986,6 +4004,7 @@ START_TEST(loader)
|
||||||
test_import_resolution();
|
test_import_resolution();
|
||||||
test_ExitProcess();
|
test_ExitProcess();
|
||||||
test_InMemoryOrderModuleList();
|
test_InMemoryOrderModuleList();
|
||||||
|
test_LoadPackagedLibrary();
|
||||||
test_wow64_redirection();
|
test_wow64_redirection();
|
||||||
test_dll_file( "ntdll.dll" );
|
test_dll_file( "ntdll.dll" );
|
||||||
test_dll_file( "kernel32.dll" );
|
test_dll_file( "kernel32.dll" );
|
||||||
|
|
|
@ -926,7 +926,7 @@
|
||||||
@ stdcall LoadLibraryExA( str long long)
|
@ stdcall LoadLibraryExA( str long long)
|
||||||
@ stdcall LoadLibraryExW(wstr long long)
|
@ stdcall LoadLibraryExW(wstr long long)
|
||||||
@ stdcall LoadLibraryW(wstr)
|
@ stdcall LoadLibraryW(wstr)
|
||||||
# @ stub LoadPackagedLibrary
|
@ stdcall LoadPackagedLibrary(wstr long)
|
||||||
@ stdcall LoadResource(long long)
|
@ stdcall LoadResource(long long)
|
||||||
@ stdcall LoadStringA(long long ptr long)
|
@ stdcall LoadStringA(long long ptr long)
|
||||||
@ stub LoadStringBaseExW
|
@ stub LoadStringBaseExW
|
||||||
|
|
|
@ -535,6 +535,17 @@ HMODULE WINAPI DECLSPEC_HOTPATCH LoadLibraryExW( LPCWSTR name, HANDLE file, DWOR
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* LoadPackagedLibrary (kernelbase.@)
|
||||||
|
*/
|
||||||
|
HMODULE WINAPI /* DECLSPEC_HOTPATCH */ LoadPackagedLibrary( LPCWSTR name, DWORD reserved )
|
||||||
|
{
|
||||||
|
FIXME( "semi-stub, name %s, reserved %#x.\n", debugstr_w(name), reserved );
|
||||||
|
SetLastError( APPMODEL_ERROR_NO_PACKAGE );
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* RemoveDllDirectory (kernelbase.@)
|
* RemoveDllDirectory (kernelbase.@)
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -2418,6 +2418,7 @@ WINBASEAPI HMODULE WINAPI LoadLibraryExA(LPCSTR,HANDLE,DWORD);
|
||||||
WINBASEAPI HMODULE WINAPI LoadLibraryExW(LPCWSTR,HANDLE,DWORD);
|
WINBASEAPI HMODULE WINAPI LoadLibraryExW(LPCWSTR,HANDLE,DWORD);
|
||||||
#define LoadLibraryEx WINELIB_NAME_AW(LoadLibraryEx)
|
#define LoadLibraryEx WINELIB_NAME_AW(LoadLibraryEx)
|
||||||
WINBASEAPI DWORD WINAPI LoadModule(LPCSTR,LPVOID);
|
WINBASEAPI DWORD WINAPI LoadModule(LPCSTR,LPVOID);
|
||||||
|
WINBASEAPI HMODULE WINAPI LoadPackagedLibrary(LPCWSTR,DWORD);
|
||||||
WINBASEAPI HGLOBAL WINAPI LoadResource(HMODULE,HRSRC);
|
WINBASEAPI HGLOBAL WINAPI LoadResource(HMODULE,HRSRC);
|
||||||
WINBASEAPI HLOCAL WINAPI LocalAlloc(UINT,SIZE_T) __WINE_ALLOC_SIZE(2);
|
WINBASEAPI HLOCAL WINAPI LocalAlloc(UINT,SIZE_T) __WINE_ALLOC_SIZE(2);
|
||||||
WINBASEAPI SIZE_T WINAPI LocalCompact(UINT);
|
WINBASEAPI SIZE_T WINAPI LocalCompact(UINT);
|
||||||
|
|
Loading…
Reference in New Issue