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;
@ 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
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;
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);