Andrew Nguyen : oleaut32: Partially implement UnRegisterTypeLibForUser.

Alexandre Julliard julliard at winehq.org
Fri Jul 30 10:24:17 CDT 2010


Module: wine
Branch: master
Commit: f2610a61093a8fb0b75ee043a524f07a1418c249
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=f2610a61093a8fb0b75ee043a524f07a1418c249

Author: Andrew Nguyen <anguyen at codeweavers.com>
Date:   Fri Jul 30 07:44:05 2010 -0500

oleaut32: Partially implement UnRegisterTypeLibForUser.

---

 dlls/oleaut32/oleaut32.spec |    1 +
 dlls/oleaut32/typelib.c     |   20 ++++++++++++++++++++
 include/oleauto.h           |    1 +
 3 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/dlls/oleaut32/oleaut32.spec b/dlls/oleaut32/oleaut32.spec
index 239b022..a86486f 100644
--- a/dlls/oleaut32/oleaut32.spec
+++ b/dlls/oleaut32/oleaut32.spec
@@ -411,6 +411,7 @@
 440 stdcall VarUI8FromUI4(long ptr)
 441 stdcall VarUI8FromDec(long ptr)
 442 stdcall RegisterTypeLibForUser(ptr wstr wstr)
+443 stdcall UnRegisterTypeLibForUser(ptr long long long long)
 
 @ stdcall -private DllCanUnloadNow()
 @ stdcall -private DllGetClassObject(ptr ptr ptr)
diff --git a/dlls/oleaut32/typelib.c b/dlls/oleaut32/typelib.c
index e168953..46c0d28 100644
--- a/dlls/oleaut32/typelib.c
+++ b/dlls/oleaut32/typelib.c
@@ -926,6 +926,26 @@ HRESULT WINAPI RegisterTypeLibForUser(
     return RegisterTypeLib(ptlib, szFullPath, szHelpDir);
 }
 
+/******************************************************************************
+ *	UnRegisterTypeLibForUser	[OLEAUT32.443]
+ * Removes information about a type library from the user registry
+ *
+ * RETURNS
+ *    Success: S_OK
+ *    Failure: Status
+ */
+HRESULT WINAPI UnRegisterTypeLibForUser(
+    REFGUID libid,	/* [in] GUID of the library */
+    WORD wVerMajor,	/* [in] major version */
+    WORD wVerMinor,	/* [in] minor version */
+    LCID lcid,	/* [in] locale id */
+    SYSKIND syskind)
+{
+    FIXME("(%s, %u, %u, %u, %u) unregistering the typelib system-wide\n",
+          debugstr_guid(libid), wVerMajor, wVerMinor, lcid, syskind);
+    return UnRegisterTypeLib(libid, wVerMajor, wVerMinor, lcid, syskind);
+}
+
 /*======================= ITypeLib implementation =======================*/
 
 typedef struct tagTLBCustData
diff --git a/include/oleauto.h b/include/oleauto.h
index 573f5cc..f9862e7 100644
--- a/include/oleauto.h
+++ b/include/oleauto.h
@@ -751,6 +751,7 @@ 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*);
+HRESULT WINAPI UnRegisterTypeLibForUser(REFGUID,WORD,WORD,LCID,SYSKIND);
 
 VOID WINAPI ClearCustData(LPCUSTDATA);
 




More information about the wine-cvs mailing list