summaryrefslogtreecommitdiff
path: root/ext/win32ole/win32ole.h
diff options
context:
space:
mode:
authorsuke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-08-06 12:00:09 +0000
committersuke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-08-06 12:00:09 +0000
commit0e2410f47e29b87f84d68b437130770d1d2cfc02 (patch)
treea76dd11422b10fe24639a90d9ab968b1e6a66de0 /ext/win32ole/win32ole.h
parent9b94249f39bff401465340639bed1f2a93b62ebf (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.h28
1 files changed, 27 insertions, 1 deletions
diff --git a/ext/win32ole/win32ole.h b/ext/win32ole/win32ole.h
index 4b47839..2fc0a09 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