From: Amine Khaldi Date: Sat, 3 Jun 2017 22:38:57 +0000 (+0000) Subject: [SCRRUN] Sync with Wine Staging 2.9. CORE-13362 X-Git-Tag: ReactOS-0.4.6~482 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=f3782aaf23df127879dc991f338c5ad88f530860;ds=sidebyside [SCRRUN] Sync with Wine Staging 2.9. CORE-13362 f601660 scrrun: Added DateLastModified property for IFile. svn path=/trunk/; revision=74845 --- diff --git a/reactos/dll/win32/scrrun/filesystem.c b/reactos/dll/win32/scrrun/filesystem.c index 14c1e36db6f..45370e1e390 100644 --- a/reactos/dll/win32/scrrun/filesystem.c +++ b/reactos/dll/win32/scrrun/filesystem.c @@ -2699,6 +2699,21 @@ static HRESULT WINAPI file_put_Attributes(IFile *iface, FileAttribute pfa) return SetFileAttributesW(This->path, pfa) ? S_OK : create_error(GetLastError()); } +static HRESULT get_date_from_filetime(const FILETIME *ft, DATE *date) +{ + FILETIME ftlocal; + SYSTEMTIME st; + + if (!date) + return E_POINTER; + + FileTimeToLocalFileTime(ft, &ftlocal); + FileTimeToSystemTime(&ftlocal, &st); + SystemTimeToVariantTime(&st, date); + + return S_OK; +} + static HRESULT WINAPI file_get_DateCreated(IFile *iface, DATE *pdate) { struct file *This = impl_from_IFile(iface); @@ -2706,11 +2721,17 @@ static HRESULT WINAPI file_get_DateCreated(IFile *iface, DATE *pdate) return E_NOTIMPL; } -static HRESULT WINAPI file_get_DateLastModified(IFile *iface, DATE *pdate) +static HRESULT WINAPI file_get_DateLastModified(IFile *iface, DATE *date) { struct file *This = impl_from_IFile(iface); - FIXME("(%p)->(%p)\n", This, pdate); - return E_NOTIMPL; + WIN32_FILE_ATTRIBUTE_DATA attrs; + + TRACE("(%p)->(%p)\n", This, date); + + if (GetFileAttributesExW(This->path, GetFileExInfoStandard, &attrs)) + return get_date_from_filetime(&attrs.ftLastWriteTime, date); + + return E_FAIL; } static HRESULT WINAPI file_get_DateLastAccessed(IFile *iface, DATE *pdate) diff --git a/reactos/media/doc/README.WINE b/reactos/media/doc/README.WINE index 74f7811464a..56eb2e906bd 100644 --- a/reactos/media/doc/README.WINE +++ b/reactos/media/doc/README.WINE @@ -165,7 +165,7 @@ reactos/dll/win32/rsabase # Synced to WineStaging-1.9.11 reactos/dll/win32/rsaenh # Synced to WineStaging-2.9 reactos/dll/win32/sccbase # Synced to WineStaging-1.9.11 reactos/dll/win32/schannel # Synced to WineStaging-1.9.11 -reactos/dll/win32/scrrun # Synced to WineStaging-2.2 +reactos/dll/win32/scrrun # Synced to WineStaging-2.9 reactos/dll/win32/secur32 # Forked reactos/dll/win32/security # Forked (different .spec) reactos/dll/win32/sensapi # Synced to WineStaging-1.9.11