From bf4456df60cc417e8902a110aedb07027eb2b9a2 Mon Sep 17 00:00:00 2001 From: Hans Leidekker Date: Fri, 7 Oct 2011 11:07:11 +0200 Subject: [PATCH] mspatcha: Add a stub implementation of GetFilePatchSignatureA/W. --- dlls/mspatcha/mspatcha.spec | 4 ++-- dlls/mspatcha/mspatcha_main.c | 28 +++++++++++++++++++++++++++- include/patchapi.h | 13 +++++++++++++ 3 files changed, 42 insertions(+), 3 deletions(-) diff --git a/dlls/mspatcha/mspatcha.spec b/dlls/mspatcha/mspatcha.spec index 40feedf4398..cc8ca94fbde 100644 --- a/dlls/mspatcha/mspatcha.spec +++ b/dlls/mspatcha/mspatcha.spec @@ -4,9 +4,9 @@ 4 stub ApplyPatchToFileExA 5 stub ApplyPatchToFileExW 6 stdcall ApplyPatchToFileW(wstr wstr wstr long) -7 stub GetFilePatchSignatureA +7 stdcall GetFilePatchSignatureA(str long ptr long ptr long ptr long ptr) 8 stub GetFilePatchSignatureByHandle -9 stub GetFilePatchSignatureW +9 stdcall GetFilePatchSignatureW(wstr long ptr long ptr long ptr long ptr) 10 stub TestApplyPatchToFileA 11 stub TestApplyPatchToFileByHandles 12 stub TestApplyPatchToFileW diff --git a/dlls/mspatcha/mspatcha_main.c b/dlls/mspatcha/mspatcha_main.c index ed763c9a164..fcce619c867 100644 --- a/dlls/mspatcha/mspatcha_main.c +++ b/dlls/mspatcha/mspatcha_main.c @@ -64,7 +64,7 @@ static inline WCHAR *strdupAW( const char *src ) } /***************************************************** - * ApplyPatchToFileA (MSPATCHA.6) + * ApplyPatchToFileA (MSPATCHA.1) */ BOOL WINAPI ApplyPatchToFileA(LPCSTR patch_file, LPCSTR old_file, LPCSTR new_file, ULONG apply_flags) { @@ -101,3 +101,29 @@ BOOL WINAPI ApplyPatchToFileW(LPCWSTR patch_file, LPCWSTR old_file, LPCWSTR new_ SetLastError(ERROR_CALL_NOT_IMPLEMENTED); return FALSE; } + +/***************************************************** + * GetFilePatchSignatureA (MSPATCHA.7) + */ +BOOL WINAPI GetFilePatchSignatureA(LPCSTR filename, ULONG flags, PVOID data, ULONG ignore_range_count, + PPATCH_IGNORE_RANGE ignore_range, ULONG retain_range_count, + PPATCH_RETAIN_RANGE retain_range, ULONG bufsize, LPSTR buffer) +{ + FIXME("stub - %s, %x, %p, %u, %p, %u, %p, %u, %p\n", debugstr_a(filename), flags, data, + ignore_range_count, ignore_range, retain_range_count, retain_range, bufsize, buffer); + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return FALSE; +} + +/***************************************************** + * GetFilePatchSignatureW (MSPATCHA.9) + */ +BOOL WINAPI GetFilePatchSignatureW(LPCWSTR filename, ULONG flags, PVOID data, ULONG ignore_range_count, + PPATCH_IGNORE_RANGE ignore_range, ULONG retain_range_count, + PPATCH_RETAIN_RANGE retain_range, ULONG bufsize, LPWSTR buffer) +{ + FIXME("stub - %s, %x, %p, %u, %p, %u, %p, %u, %p\n", debugstr_w(filename), flags, data, + ignore_range_count, ignore_range, retain_range_count, retain_range, bufsize, buffer); + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return FALSE; +} diff --git a/include/patchapi.h b/include/patchapi.h index 44a4a152247..9a62a0ff64e 100644 --- a/include/patchapi.h +++ b/include/patchapi.h @@ -28,6 +28,19 @@ extern "C" { #define APPLY_OPTION_TEST_ONLY 0x00000004 #define APPLY_OPTION_VALID_FLAGS 0x00000007 +typedef struct _PATCH_IGNORE_RANGE +{ + ULONG OffsetInOldFile; + ULONG LengthInBytes; +} PATCH_IGNORE_RANGE, *PPATCH_IGNORE_RANGE; + +typedef struct _PATCH_RETAIN_RANGE +{ + ULONG OffsetInOldFile; + ULONG LengthInBytes; + ULONG OffsetInNewFile; +} PATCH_RETAIN_RANGE, *PPATCH_RETAIN_RANGE; + BOOL WINAPI ApplyPatchToFileA(LPCSTR,LPCSTR,LPCSTR,ULONG); BOOL WINAPI ApplyPatchToFileW(LPCWSTR,LPCWSTR,LPCWSTR,ULONG); #define ApplyPatchToFile WINELIB_NAME_AW(ApplyPatchToFile)