[PATCH v4 1/2] kernel32: resource: Changed QUEUEDUPDATES to match MS offset
Jon Doron
arilou at gmail.com
Sun Jul 22 00:16:25 CDT 2018
The utility muirct.exe for some reason accesses the opaque
HANDLE that is returned by BeginUpdateResource, it assumes
a certain structure in which (on 32bit systems) there is a
pointer to the wide repesentation of the file name in offset
0x18 (0x30 on 64bit).
Refer to: muirct!BldToolsEndUpdateResourceW called from
muirct!CopyChecksumToFile
Sample execution:
MUIRCT.EXE -c "ui.exe" -e "de-DE\ui.exe.mui"
Signed-off-by: Jon Doron <arilou at gmail.com>
---
dlls/kernel32/resource.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dlls/kernel32/resource.c b/dlls/kernel32/resource.c
index 73f3cca363..59bc7a8cdc 100644
--- a/dlls/kernel32/resource.c
+++ b/dlls/kernel32/resource.c
@@ -635,7 +635,8 @@ DWORD WINAPI SizeofResource( HINSTANCE hModule, HRSRC hRsrc )
typedef struct
{
- LPWSTR pFileName;
+ void *Reserved[6];
+ LPWSTR pFileName; /* Must be in offset 0x18 on 32bit and 0x30 on 64bit */
BOOL bDeleteExistingResources;
struct list root;
} QUEUEDUPDATES;
--
2.17.1
More information about the wine-devel
mailing list