mscoree: Implement GetFileVersion.
authorVincent Povirk <vincent@codeweavers.com>
Thu, 27 Jan 2011 22:05:34 +0000 (16:05 -0600)
committerAlexandre Julliard <julliard@winehq.org>
Fri, 28 Jan 2011 10:59:21 +0000 (11:59 +0100)
dlls/mscoree/metahost.c
dlls/mscoree/mscoree.spec
dlls/mscoree/mscoree_main.c
dlls/mscoree/mscoree_private.h

index 889e1fb2265179055ff2bbfedd5110d12184f38f..2cafcb8f881f3d6cae7c8adf72a10068ee6051a5 100644 (file)
@@ -963,7 +963,7 @@ static HRESULT WINAPI CLRMetaHost_GetRuntime(ICLRMetaHost* iface,
     return CLR_E_SHIM_RUNTIME;
 }
 
-static HRESULT WINAPI CLRMetaHost_GetVersionFromFile(ICLRMetaHost* iface,
+HRESULT WINAPI CLRMetaHost_GetVersionFromFile(ICLRMetaHost* iface,
     LPCWSTR pwzFilePath, LPWSTR pwzBuffer, DWORD *pcchBuffer)
 {
     ASSEMBLY *assembly;
index 1d4d7f74da4244d297c19a94b76ad7dfa7f54bc9..8cf548db802b7f5b718b2f2e7d689ba452794c46 100644 (file)
@@ -43,7 +43,7 @@
 @ stdcall GetCORSystemDirectory(ptr long ptr)
 @ stdcall GetCORVersion(ptr long ptr)
 @ stub GetCompileInfo
-@ stub GetFileVersion
+@ stdcall GetFileVersion(wstr ptr long ptr)
 @ stub GetHashFromAssemblyFile
 @ stub GetHashFromAssemblyFileW
 @ stub GetHashFromBlob
index 1f2cfb03785d70ccc1a0a66620da4c4bd318b765..a3e1ceccaf1d31accb37398a64c091be119a0926 100644 (file)
@@ -250,6 +250,17 @@ HRESULT WINAPI GetRequestedRuntimeInfo(LPCWSTR pExe, LPCWSTR pwszVersion, LPCWST
     return ret;
 }
 
+HRESULT WINAPI GetFileVersion(LPCWSTR szFilename, LPWSTR szBuffer, DWORD cchBuffer, DWORD *dwLength)
+{
+    TRACE("(%s, %p, %d, %p)\n", debugstr_w(szFilename), szBuffer, cchBuffer, dwLength);
+
+    if (!szFilename || !dwLength)
+        return E_POINTER;
+
+    *dwLength = cchBuffer;
+    return CLRMetaHost_GetVersionFromFile(0, szFilename, szBuffer, dwLength);
+}
+
 HRESULT WINAPI LoadLibraryShim( LPCWSTR szDllName, LPCWSTR szVersion, LPVOID pvReserved, HMODULE * phModDll)
 {
     HRESULT ret=S_OK;
index 9ece9ccd543223af82d6da5d94fedcd1a05f99b5..222b3caf8ba6ad16bcaf409f2f618f2f95c238ed 100644 (file)
@@ -28,6 +28,9 @@ extern char *WtoA(LPCWSTR wstr);
 
 extern HRESULT CLRMetaHost_CreateInstance(REFIID riid, void **ppobj);
 
+extern HRESULT WINAPI CLRMetaHost_GetVersionFromFile(ICLRMetaHost* iface,
+    LPCWSTR pwzFilePath, LPWSTR pwzBuffer, DWORD *pcchBuffer);
+
 typedef struct tagASSEMBLY ASSEMBLY;
 
 HRESULT assembly_create(ASSEMBLY **out, LPCWSTR file);