From e468f15d20f4bb6ce6996458e022bb502ef3e8ea Mon Sep 17 00:00:00 2001 From: Mark Harmstone Date: Mon, 11 May 2015 22:30:57 +0100 Subject: [PATCH] kernel32: Add GetFileMUIInfo stub. --- .../api-ms-win-core-localization-l1-2-0.spec | 2 +- .../api-ms-win-core-localization-l1-2-1.spec | 2 +- dlls/kernel32/kernel32.spec | 2 +- dlls/kernel32/locale.c | 12 ++++++++++++ include/winnls.h | 17 +++++++++++++++++ 5 files changed, 32 insertions(+), 3 deletions(-) diff --git a/dlls/api-ms-win-core-localization-l1-2-0/api-ms-win-core-localization-l1-2-0.spec b/dlls/api-ms-win-core-localization-l1-2-0/api-ms-win-core-localization-l1-2-0.spec index d5daa656cb4..60da5fe81a0 100644 --- a/dlls/api-ms-win-core-localization-l1-2-0/api-ms-win-core-localization-l1-2-0.spec +++ b/dlls/api-ms-win-core-localization-l1-2-0/api-ms-win-core-localization-l1-2-0.spec @@ -11,7 +11,7 @@ @ stdcall GetCPInfoExW(long long ptr) kernel32.GetCPInfoExW @ stdcall GetCalendarInfoEx(wstr long ptr long ptr long ptr) kernel32.GetCalendarInfoEx @ stdcall GetCalendarInfoW(long long long ptr long ptr) kernel32.GetCalendarInfoW -@ stub GetFileMUIInfo +@ stdcall GetFileMUIInfo(long wstr ptr ptr) kernel32.GetFileMUIInfo @ stdcall GetFileMUIPath(long wstr wstr ptr ptr ptr ptr) kernel32.GetFileMUIPath @ stdcall GetGeoInfoW(long long ptr long long) kernel32.GetGeoInfoW @ stdcall GetLocaleInfoA(long long ptr long) kernel32.GetLocaleInfoA diff --git a/dlls/api-ms-win-core-localization-l1-2-1/api-ms-win-core-localization-l1-2-1.spec b/dlls/api-ms-win-core-localization-l1-2-1/api-ms-win-core-localization-l1-2-1.spec index 50e113e17be..3a29cb72c22 100644 --- a/dlls/api-ms-win-core-localization-l1-2-1/api-ms-win-core-localization-l1-2-1.spec +++ b/dlls/api-ms-win-core-localization-l1-2-1/api-ms-win-core-localization-l1-2-1.spec @@ -12,7 +12,7 @@ @ stdcall GetCPInfoExW(long long ptr) kernel32.GetCPInfoExW @ stdcall GetCalendarInfoEx(wstr long ptr long ptr long ptr) kernel32.GetCalendarInfoEx @ stdcall GetCalendarInfoW(long long long ptr long ptr) kernel32.GetCalendarInfoW -@ stub GetFileMUIInfo +@ stdcall GetFileMUIInfo(long wstr ptr ptr) kernel32.GetFileMUIInfo @ stdcall GetFileMUIPath(long wstr wstr ptr ptr ptr ptr) kernel32.GetFileMUIPath @ stdcall GetGeoInfoW(long long ptr long long) kernel32.GetGeoInfoW @ stdcall GetLocaleInfoA(long long ptr long) kernel32.GetLocaleInfoA diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec index bb720415319..08097617e52 100644 --- a/dlls/kernel32/kernel32.spec +++ b/dlls/kernel32/kernel32.spec @@ -676,7 +676,7 @@ # @ stub GetFileBandwidthReservation @ stdcall GetFileInformationByHandle(long ptr) @ stdcall GetFileInformationByHandleEx(long long ptr long) -# @ stub GetFileMUIInfo +@ stdcall GetFileMUIInfo(long wstr ptr ptr) @ stdcall GetFileMUIPath(long wstr wstr ptr ptr ptr ptr) @ stdcall GetFileSize(long ptr) @ stdcall GetFileSizeEx(long ptr) diff --git a/dlls/kernel32/locale.c b/dlls/kernel32/locale.c index 9896872e820..bcdcdbadf62 100644 --- a/dlls/kernel32/locale.c +++ b/dlls/kernel32/locale.c @@ -5315,3 +5315,15 @@ BOOL WINAPI GetFileMUIPath(DWORD flags, PCWSTR filepath, PWSTR language, PULONG return FALSE; } + +/****************************************************************************** + * GetFileMUIInfo (KERNEL32.@) + */ + +BOOL WINAPI GetFileMUIInfo(DWORD flags, PCWSTR path, FILEMUIINFO *info, DWORD *size) +{ + FIXME("stub: %u, %s, %p, %p\n", flags, debugstr_w(path), info, size); + + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return FALSE; +} diff --git a/include/winnls.h b/include/winnls.h index b1ce0cd5fdb..7e9bfa528f9 100644 --- a/include/winnls.h +++ b/include/winnls.h @@ -604,6 +604,22 @@ static const WCHAR LOCALE_NAME_SYSTEM_DEFAULT[] = {'!','s','y','s','-','d','e',' #define MUI_LANGUAGE_INSTALLED 0x20 #define MUI_LANGUAGE_LICENSED 0x40 +typedef struct _FILEMUIINFO { + DWORD dwSize; + DWORD dwVersion; + DWORD dwFileType; + BYTE pChecksum[16]; + BYTE pServiceChecksum[16]; + DWORD dwLanguageNameOffset; + DWORD dwTypeIDMainSize; + DWORD dwTypeIDMainOffset; + DWORD dwTypeNameMainOffset; + DWORD dwTypeIDMUISize; + DWORD dwTypeIDMUIOffset; + DWORD dwTypeNameMUIOffset; + BYTE abBuffer[8]; +} FILEMUIINFO, *PFILEMUIINFO; + /* Types */ @@ -860,6 +876,7 @@ WINBASEAPI INT WINAPI GetDateFormatA(LCID,DWORD,const SYSTEMTIME*,LPCSTR WINBASEAPI INT WINAPI GetDateFormatEx(LPCWSTR,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,INT,LPCWSTR); WINBASEAPI INT WINAPI GetDateFormatW(LCID,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,INT); #define GetDateFormat WINELIB_NAME_AW(GetDateFormat) +WINBASEAPI BOOL WINAPI GetFileMUIInfo(DWORD,PCWSTR,PFILEMUIINFO,DWORD*); WINBASEAPI INT WINAPI GetGeoInfoA(GEOID,GEOTYPE,LPSTR,INT,LANGID); WINBASEAPI INT WINAPI GetGeoInfoW(GEOID,GEOTYPE,LPWSTR,INT,LANGID); #define GetGeoInfo WINELIB_NAME_AW(GetGeoInfo)