summaryrefslogtreecommitdiff
path: root/ext/win32ole/win32ole.h
diff options
context:
space:
mode:
Diffstat (limited to 'ext/win32ole/win32ole.h')
-rw-r--r--ext/win32ole/win32ole.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/ext/win32ole/win32ole.h b/ext/win32ole/win32ole.h
index 0508c654ec..6be2d63795 100644
--- a/ext/win32ole/win32ole.h
+++ b/ext/win32ole/win32ole.h
@@ -82,6 +82,18 @@
#define V_UINTREF(X) V_UNION(X, puintVal)
#endif
+#ifdef HAVE_LONG_LONG
+#define I8_2_NUM LL2NUM
+#define UI8_2_NUM ULL2NUM
+#define NUM2I8 NUM2LL
+#define NUM2UI8 NUM2ULL
+#else
+#define I8_2_NUM INT2NUM
+#define UI8_2_NUM UINT2NUM
+#define NUM2I8 NUM2INT
+#define NUM2UI8 NUM2UINT
+#endif
+
#define OLE_ADDREF(X) (X) ? ((X)->lpVtbl->AddRef(X)) : 0
#define OLE_RELEASE(X) (X) ? ((X)->lpVtbl->Release(X)) : 0
#define OLE_FREE(x) {\
@@ -116,7 +128,12 @@ BOOL ole_initialized();
HRESULT ole_docinfo_from_type(ITypeInfo *pTypeInfo, BSTR *name, BSTR *helpstr, DWORD *helpcontext, BSTR *helpfile);
VALUE ole_typedesc2val(ITypeInfo *pTypeInfo, TYPEDESC *pTypeDesc, VALUE typedetails);
VALUE make_inspect(const char *class_name, VALUE detail);
+void ole_val2variant(VALUE val, VARIANT *var);
+void ole_val2variant2(VALUE val, VARIANT *var);
+void ole_val2variant_ex(VALUE val, VARIANT *var, VARTYPE vt);
VALUE ole_variant2val(VARIANT *pvar);
+HRESULT ole_val_ary2variant_ary(VALUE val, VARIANT *var, VARTYPE vt);
+VOID *val2variant_ptr(VALUE val, VARIANT *var, VARTYPE vt);
#include "win32ole_variant_m.h"
#include "win32ole_typelib.h"
@@ -124,6 +141,7 @@ VALUE ole_variant2val(VARIANT *pvar);
#include "win32ole_variable.h"
#include "win32ole_method.h"
#include "win32ole_param.h"
+#include "win32ole_variant.h"
#include "win32ole_error.h"
#endif