From 7bf7bb84d3f9390f787d3ba594893f904dc47dc1 Mon Sep 17 00:00:00 2001 From: suke Date: Tue, 12 Aug 2014 14:00:45 +0000 Subject: * ext/win32ole/win32ole.c: refactoring. move ole_typelib_from_itypeinfo into win32ole_typelib.c. * ext/win32ole/win32ole.h: ditto. * ext/win32ole/win32ole_typelib.h: ditto. * ext/win32ole/win32ole_typelib.h: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47154 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/win32ole/win32ole_typelib.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'ext/win32ole/win32ole_typelib.c') diff --git a/ext/win32ole/win32ole_typelib.c b/ext/win32ole/win32ole_typelib.c index fc164f2e02..f5ecd4c05c 100644 --- a/ext/win32ole/win32ole_typelib.c +++ b/ext/win32ole/win32ole_typelib.c @@ -103,6 +103,22 @@ itypelib(VALUE self) return ptlib->pTypeLib; } +VALUE +ole_typelib_from_itypeinfo(ITypeInfo *pTypeInfo) +{ + HRESULT hr; + ITypeLib *pTypeLib; + unsigned int index; + VALUE retval = Qnil; + + hr = pTypeInfo->lpVtbl->GetContainingTypeLib(pTypeInfo, &pTypeLib, &index); + if(FAILED(hr)) { + return Qnil; + } + retval = create_win32ole_typelib(pTypeLib); + return retval; +} + /* * Document-class: WIN32OLE_TYPELIB * -- cgit v1.2.3