diff --git a/dlls/mscoree/mscoree.spec b/dlls/mscoree/mscoree.spec index 92efe943432..1d110a80863 100644 --- a/dlls/mscoree/mscoree.spec +++ b/dlls/mscoree/mscoree.spec @@ -2,7 +2,7 @@ 18 stub PostError 19 stub InitSSAutoEnterThread 20 stub UpdateError -22 stub LoadStringRC +22 stdcall LoadStringRC(long ptr long long) 23 stub ReOpenMetaDataWithMemory @ stub CallFunctionShim @@ -69,7 +69,7 @@ @ stub GetXMLObject @ stdcall LoadLibraryShim(ptr ptr ptr ptr) @ stub LoadLibraryWithPolicyShim -@ stub LoadStringRCEx +@ stdcall LoadStringRCEx(long long ptr long long ptr) @ stub LockClrVersion @ stub MetaDataGetDispenser @ stub OpenCtrs diff --git a/dlls/mscoree/mscoree_main.c b/dlls/mscoree/mscoree_main.c index 35564ac9fad..b60d4d31ac8 100644 --- a/dlls/mscoree/mscoree_main.c +++ b/dlls/mscoree/mscoree_main.c @@ -273,6 +273,28 @@ HRESULT WINAPI GetVersionFromProcess(HANDLE hProcess, LPWSTR pVersion, DWORD cch return E_NOTIMPL; } +HRESULT WINAPI LoadStringRCEx(LCID culture, UINT resId, LPWSTR pBuffer, int iBufLen, int bQuiet, int* pBufLen) +{ + HRESULT res = S_OK; + if ((iBufLen <= 0) || !pBuffer) + return E_INVALIDARG; + pBuffer[0] = 0; + if (resId) { + FIXME("(%d, %x, %p, %d, %d, %p): semi-stub\n", culture, resId, pBuffer, iBufLen, bQuiet, pBufLen); + res = E_NOTIMPL; + } + else + res = E_FAIL; + if (pBufLen) + *pBufLen = lstrlenW(pBuffer); + return res; +} + +HRESULT WINAPI LoadStringRC(UINT resId, LPWSTR pBuffer, int iBufLen, int bQuiet) +{ + return LoadStringRCEx(-1, resId, pBuffer, iBufLen, bQuiet, NULL); +} + HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv) { FIXME("(%p, %p, %p): stub\n", rclsid, riid, ppv);