diff --git a/dlls/oleaut32/oleaut32.spec b/dlls/oleaut32/oleaut32.spec index 7b764ef96b6..239b0221855 100644 --- a/dlls/oleaut32/oleaut32.spec +++ b/dlls/oleaut32/oleaut32.spec @@ -410,6 +410,7 @@ 439 stdcall VarUI8FromUI2(long ptr) 440 stdcall VarUI8FromUI4(long ptr) 441 stdcall VarUI8FromDec(long ptr) +442 stdcall RegisterTypeLibForUser(ptr wstr wstr) @ stdcall -private DllCanUnloadNow() @ stdcall -private DllGetClassObject(ptr ptr ptr) diff --git a/dlls/oleaut32/typelib.c b/dlls/oleaut32/typelib.c index 81d0ae04b81..e1689535741 100644 --- a/dlls/oleaut32/typelib.c +++ b/dlls/oleaut32/typelib.c @@ -903,6 +903,29 @@ end: return result; } +/****************************************************************************** + * RegisterTypeLibForUser [OLEAUT32.442] + * Adds information about a type library to the user registry + * NOTES + * Docs: ITypeLib FAR * ptlib + * Docs: OLECHAR FAR* szFullPath + * Docs: OLECHAR FAR* szHelpDir + * + * RETURNS + * Success: S_OK + * Failure: Status + */ +HRESULT WINAPI RegisterTypeLibForUser( + ITypeLib * ptlib, /* [in] Pointer to the library*/ + OLECHAR * szFullPath, /* [in] full Path of the library*/ + OLECHAR * szHelpDir) /* [in] dir to the helpfile for the library, + may be NULL*/ +{ + FIXME("(%p, %s, %s) registering the typelib system-wide\n", ptlib, + debugstr_w(szFullPath), debugstr_w(szHelpDir)); + return RegisterTypeLib(ptlib, szFullPath, szHelpDir); +} + /*======================= ITypeLib implementation =======================*/ typedef struct tagTLBCustData diff --git a/include/oleauto.h b/include/oleauto.h index 98e8dbf57ad..573f5cc2aeb 100644 --- a/include/oleauto.h +++ b/include/oleauto.h @@ -750,6 +750,7 @@ HRESULT WINAPI LoadTypeLibEx(LPCOLESTR,REGKIND,ITypeLib**); HRESULT WINAPI QueryPathOfRegTypeLib(REFGUID,WORD,WORD,LCID,LPBSTR); HRESULT WINAPI RegisterTypeLib(ITypeLib*,OLECHAR*,OLECHAR*); HRESULT WINAPI UnRegisterTypeLib(REFGUID,WORD,WORD,LCID,SYSKIND); +HRESULT WINAPI RegisterTypeLibForUser(ITypeLib*,OLECHAR*,OLECHAR*); VOID WINAPI ClearCustData(LPCUSTDATA);