diff options
author | suke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-08-06 12:00:09 +0000 |
---|---|---|
committer | suke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-08-06 12:00:09 +0000 |
commit | 0e2410f47e29b87f84d68b437130770d1d2cfc02 (patch) | |
tree | a76dd11422b10fe24639a90d9ab968b1e6a66de0 /ext/win32ole/win32ole.h | |
parent | 9b94249f39bff401465340639bed1f2a93b62ebf (diff) |
* ext/win32ole/win32ole.c: separate src of WIN32OLE_TYPELIB from
win32ole.c
* ext/win32ole/win32ole.h: ditto.
* ext/win32ole/win32ole_typelib.c: ditto.
* ext/win32ole/win32ole_typelib.h: ditto.
* ext/win32ole/depend: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47088 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/win32ole/win32ole.h')
-rw-r--r-- | ext/win32ole/win32ole.h | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/ext/win32ole/win32ole.h b/ext/win32ole/win32ole.h index 4b478392d3..2fc0a09107 100644 --- a/ext/win32ole/win32ole.h +++ b/ext/win32ole/win32ole.h @@ -82,12 +82,38 @@ #define V_UINTREF(X) V_UNION(X, puintVal) #endif +#define OLE_RELEASE(X) (X) ? ((X)->lpVtbl->Release(X)) : 0 +#define OLE_FREE(x) {\ + if(ole_initialized() == TRUE) {\ + if(x) {\ + OLE_RELEASE(x);\ + (x) = 0;\ + }\ + }\ +} VALUE cWIN32OLE; - +VALUE cWIN32OLE_TYPE; LCID cWIN32OLE_lcid; +LPWSTR ole_vstr2wc(VALUE vstr); +LONG reg_open_key(HKEY hkey, const char *name, HKEY *phkey); +LONG reg_open_vkey(HKEY hkey, VALUE key, HKEY *phkey); +VALUE reg_enum_key(HKEY hkey, DWORD i); +VALUE reg_get_val(HKEY hkey, const char *subkey); +VALUE reg_get_val2(HKEY hkey, const char *subkey); +void ole_initialize(void); +VALUE default_inspect(VALUE self, const char *class_name); +VALUE ole_wc2vstr(LPWSTR pw, BOOL isfree); + + +#define WC2VSTR(x) ole_wc2vstr((x), TRUE) + +BOOL ole_initialized(); +VALUE create_win32ole_type(ITypeInfo *pTypeInfo, VALUE name); + #include "win32ole_variant_m.h" +#include "win32ole_typelib.h" #include "win32ole_error.h" #endif |