Module: wine Branch: master Commit: ddfab6bb9d474172526abb9e1b7ff5fd3cc50d14 URL: http://source.winehq.org/git/wine.git/?a=commit;h=ddfab6bb9d474172526abb9e1b...
Author: David Hedberg david.hedberg@gmail.com Date: Sat Jul 31 20:02:46 2010 +0200
explorerframe: Implement DllGetVersion.
---
dlls/explorerframe/explorerframe.spec | 2 +- dlls/explorerframe/explorerframe_main.c | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletions(-)
diff --git a/dlls/explorerframe/explorerframe.spec b/dlls/explorerframe/explorerframe.spec index dbd9c41..58777b0 100644 --- a/dlls/explorerframe/explorerframe.spec +++ b/dlls/explorerframe/explorerframe.spec @@ -4,4 +4,4 @@
@ stdcall -private DllCanUnloadNow() @ stub DllGetClassObject -@ stub DllGetVersion +@ stdcall -private DllGetVersion(ptr) diff --git a/dlls/explorerframe/explorerframe_main.c b/dlls/explorerframe/explorerframe_main.c index 4fa5cc6..51f7d39 100644 --- a/dlls/explorerframe/explorerframe_main.c +++ b/dlls/explorerframe/explorerframe_main.c @@ -64,3 +64,33 @@ HRESULT WINAPI DllCanUnloadNow(void) TRACE("refCount is %d\n", EFRAME_refCount); return EFRAME_refCount ? S_FALSE : S_OK; } + +/************************************************************************* + * DllGetVersion (ExplorerFrame.@) + */ +HRESULT WINAPI DllGetVersion(DLLVERSIONINFO *info) +{ + TRACE("%p\n", info); + if(info->cbSize == sizeof(DLLVERSIONINFO) || + info->cbSize == sizeof(DLLVERSIONINFO2)) + { + /* Windows 7 */ + info->dwMajorVersion = 6; + info->dwMinorVersion = 1; + info->dwBuildNumber = 7600; + info->dwPlatformID = DLLVER_PLATFORM_WINDOWS; + if(info->cbSize == sizeof(DLLVERSIONINFO2)) + { + DLLVERSIONINFO2 *info2 = (DLLVERSIONINFO2*)info; + info2->dwFlags = 0; + info2->ullVersion = MAKEDLLVERULL(info->dwMajorVersion, + info->dwMinorVersion, + info->dwBuildNumber, + 16385); /* "hotfix number" */ + } + return S_OK; + } + + WARN("wrong DLLVERSIONINFO size from app.\n"); + return E_INVALIDARG; +}