Ruby  1.9.3p448(2013-06-27revision41675)
Data Structures | Macros | Typedefs | Functions | Variables
win32ole.c File Reference
#include "ruby/ruby.h"
#include "ruby/st.h"
#include "ruby/encoding.h"
#include <ctype.h>
#include <windows.h>
#include <ocidl.h>
#include <olectl.h>
#include <ole2.h>
#include <stdlib.h>
#include <math.h>
#include <varargs.h>
#include <objidl.h>
Include dependency graph for win32ole.c:

Go to the source code of this file.

Data Structures

struct  IEventSink
 
struct  IEventSinkVtbl
 
struct  tagIEVENTSINKOBJ
 
struct  oledata
 
struct  oletypelibdata
 
struct  oletypedata
 
struct  olemethoddata
 
struct  olevariabledata
 
struct  oleparamdata
 
struct  oleeventdata
 
struct  oleparam
 
struct  olevariantdata
 
struct  _Win32OLEIDispatch
 
struct  myCPINFOEX
 

Macros

#define GNUC_OLDER_3_4_4
 
#define va_init_list(a, b)   va_start(a)
 
#define DOUT   fprintf(stderr,"[%d]\n",__LINE__)
 
#define DOUTS(x)   fprintf(stderr,"[%d]:" #x "=%s\n",__LINE__,x)
 
#define DOUTMSG(x)   fprintf(stderr, "[%d]:" #x "\n",__LINE__)
 
#define DOUTI(x)   fprintf(stderr, "[%ld]:" #x "=%d\n",__LINE__,x)
 
#define DOUTD(x)   fprintf(stderr, "[%d]:" #x "=%f\n",__LINE__,x)
 
#define V_UNION1(X, Y)   ((X)->Y)
 
#define V_I1REF(X)   V_UNION(X, pcVal)
 
#define V_UI2REF(X)   V_UNION(X, puiVal)
 
#define V_INT(X)   V_UNION(X, intVal)
 
#define V_INTREF(X)   V_UNION(X, pintVal)
 
#define V_UINT(X)   V_UNION(X, uintVal)
 
#define V_UINTREF(X)   V_UNION(X, puintVal)
 
#define OLE_RELEASE(X)   (X) ? ((X)->lpVtbl->Release(X)) : 0
 
#define OLE_ADDREF(X)   (X) ? ((X)->lpVtbl->AddRef(X)) : 0
 
#define OLE_GET_TYPEATTR(X, Y)   ((X)->lpVtbl->GetTypeAttr((X), (Y)))
 
#define OLE_RELEASE_TYPEATTR(X, Y)   ((X)->lpVtbl->ReleaseTypeAttr((X), (Y)))
 
#define OLE_FREE(x)
 
#define OLEData_Get_Struct(obj, pole)
 
#define I8_2_NUM   INT2NUM
 
#define UI8_2_NUM   UINT2NUM
 
#define NUM2I8   NUM2INT
 
#define NUM2UI8   NUM2UINT
 
#define WC2VSTR(x)   ole_wc2vstr((x), TRUE)
 
#define WIN32OLE_VERSION   "1.5.3"
 
#define pIMultiLanguage   NULL /* dummy */
 
#define ENC_MACHING_CP(enc, encname, cp)   if(strcasecmp(rb_enc_name((enc)),(encname)) == 0) return cp
 
#define load_conv_function51932()   failed_load_conv51932()
 
#define conv_51932(cp)   ((cp) == 51932 && (load_conv_function51932(), 1))
 

Typedefs

typedef IUnknown DWORD
 
typedef IUnknown COSERVERINFO
MULTI_QI *typedef 
HWND (WINAPI FNHTMLHELP)(HWND hwndCaller
 
typedef IUnknown COSERVERINFO
MULTI_QI *typedef LPCSTR 
pszFile
 
typedef IUnknown COSERVERINFO
MULTI_QI *typedef LPCSTR UINT 
uCommand
 
typedef IUnknown COSERVERINFO
MULTI_QI *typedef LPCSTR UINT
DWORD 
dwData
 
typedef BOOL( FNENUMSYSEMCODEPAGES )(CODEPAGE_ENUMPROC, DWORD)
 
typedef struct IEventSinkPEVENTSINK
 
typedef struct IEventSinkVtbl IEventSinkVtbl
 
typedef struct tagIEVENTSINKOBJ IEVENTSINKOBJ
 
typedef struct tagIEVENTSINKOBJPIEVENTSINKOBJ
 
typedef struct _Win32OLEIDispatch Win32OLEIDispatch
 

Functions

typedef HRESULT (STDAPICALLTYPE FNCOCREATEINSTANCEEX)(REFCLSID
 
static HRESULT (STDMETHODCALLTYPE QueryInterface)(IDispatch __RPC_FAR *
 
static ULONG (STDMETHODCALLTYPE AddRef)(IDispatch __RPC_FAR *This)
 
static IDispatch * val2dispatch (VALUE val)
 
static double rbtime2vtdate (VALUE tmobj)
 
static VALUE vtdate2rbtime (double date)
 
static rb_encodingole_cp2encoding (UINT cp)
 
static UINT ole_encoding2cp (rb_encoding *enc)
 
 NORETURN (static void failed_load_conv51932(void))
 
static UINT ole_init_cp (void)
 
static char * ole_wc2mb (LPWSTR pw)
 
static VALUE ole_hresult2msg (HRESULT hr)
 
static void ole_freeexceptinfo (EXCEPINFO *pExInfo)
 
static VALUE ole_excepinfo2msg (EXCEPINFO *pExInfo)
 
static void ole_raise (HRESULT hr, VALUE ecs, const char *fmt,...)
 
static void ole_initialize ()
 
static void ole_msg_loop ()
 
static void ole_free (struct oledata *pole)
 
static void oletypelib_free (struct oletypelibdata *poletypelib)
 
static void oletype_free (struct oletypedata *poletype)
 
static void olemethod_free (struct olemethoddata *polemethod)
 
static void olevariable_free (struct olevariabledata *polevar)
 
static void oleparam_free (struct oleparamdata *pole)
 
static LPWSTR ole_vstr2wc (VALUE vstr)
 
static LPWSTR ole_mb2wc (char *pm, int len)
 
static VALUE ole_wc2vstr (LPWSTR pw, BOOL isfree)
 
static VALUE ole_ary_m_entry (VALUE val, long *pid)
 
static void * get_ptr_of_variant (VARIANT *pvar)
 
static VALUE is_all_index_under (long *pid, long *pub, long dim)
 
static void ole_set_safe_array (long n, SAFEARRAY *psa, long *pid, long *pub, VALUE val, long dim, VARTYPE vt)
 
static long dimension (VALUE val)
 
static long ary_len_of_dim (VALUE ary, long dim)
 
static HRESULT ole_val_ary2variant_ary (VALUE val, VARIANT *var, VARTYPE vt)
 
static void ole_val2variant (VALUE val, VARIANT *var)
 
static void ole_val2variant_ex (VALUE val, VARIANT *var, VARTYPE vt)
 
static void ole_val2ptr_variant (VALUE val, VARIANT *var)
 
static void ole_set_byref (VARIANT *realvar, VARIANT *var, VARTYPE vt)
 
static void ole_val2olevariantdata (VALUE val, VARTYPE vt, struct olevariantdata *pvar)
 
static void ole_val2variant2 (VALUE val, VARIANT *var)
 
static VALUE make_inspect (const char *class_name, VALUE detail)
 
static VALUE default_inspect (VALUE self, const char *class_name)
 
static VALUE ole_set_member (VALUE self, IDispatch *dispatch)
 
static VALUE fole_s_allocate (VALUE klass)
 
static VALUE create_win32ole_object (VALUE klass, IDispatch *pDispatch, int argc, VALUE *argv)
 
static VALUE ary_new_dim (VALUE myary, long *pid, long *plb, long dim)
 
static void ary_store_dim (VALUE myary, long *pid, long *plb, long dim, VALUE val)
 
static VALUE ole_variant2val (VARIANT *pvar)
 
static LONG reg_open_key (HKEY hkey, const char *name, HKEY *phkey)
 
static LONG reg_open_vkey (HKEY hkey, VALUE key, HKEY *phkey)
 
static VALUE reg_enum_key (HKEY hkey, DWORD i)
 
static VALUE reg_get_val (HKEY hkey, const char *subkey)
 
static VALUE reg_get_typelib_file_path (HKEY hkey)
 
static VALUE typelib_file_from_clsid (VALUE ole)
 
static VALUE typelib_file_from_typelib (VALUE ole)
 
static VALUE typelib_file (VALUE ole)
 
static void ole_const_load (ITypeLib *pTypeLib, VALUE klass, VALUE self)
 
static HRESULT clsid_from_remote (VALUE host, VALUE com, CLSID *pclsid)
 
static VALUE ole_create_dcom (int argc, VALUE *argv, VALUE self)
 
static VALUE ole_bind_obj (VALUE moniker, int argc, VALUE *argv, VALUE self)
 
static VALUE fole_s_connect (int argc, VALUE *argv, VALUE self)
 
static VALUE fole_s_const_load (int argc, VALUE *argv, VALUE self)
 
static VALUE ole_types_from_typelib (ITypeLib *pTypeLib, VALUE classes)
 
static ULONG reference_count (struct oledata *pole)
 
static VALUE fole_s_reference_count (VALUE self, VALUE obj)
 
static VALUE fole_s_free (VALUE self, VALUE obj)
 
static HWND ole_show_help (VALUE helpfile, VALUE helpcontext)
 
static VALUE fole_s_show_help (int argc, VALUE *argv, VALUE self)
 
static VALUE fole_s_get_code_page (VALUE self)
 
static BOOL CALLBACK installed_code_page_proc (LPTSTR str)
 
static BOOL code_page_installed (UINT cp)
 
static VALUE fole_s_set_code_page (VALUE self, VALUE vcp)
 
static VALUE fole_s_get_locale (VALUE self)
 
static BOOL CALLBACK installed_lcid_proc (LPTSTR str)
 
static BOOL lcid_installed (LCID lcid)
 
static VALUE fole_s_set_locale (VALUE self, VALUE vlcid)
 
static VALUE fole_s_create_guid (VALUE self)
 
static void ole_pure_initialize ()
 
static VALUE fole_s_ole_initialize (VALUE self)
 
static void ole_pure_uninitialize ()
 
static VALUE fole_s_ole_uninitialize (VALUE self)
 
static VALUE fole_initialize (int argc, VALUE *argv, VALUE self)
 
static VALUE hash2named_arg (VALUE pair, struct oleparam *pOp)
 
static VALUE set_argv (VARIANTARG *realargs, unsigned int beg, unsigned int end)
 
static VALUE ole_invoke (int argc, VALUE *argv, VALUE self, USHORT wFlags, BOOL is_bracket)
 
static VALUE fole_invoke (int argc, VALUE *argv, VALUE self)
 
static VALUE ole_invoke2 (VALUE self, VALUE dispid, VALUE args, VALUE types, USHORT dispkind)
 
static VALUE fole_invoke2 (VALUE self, VALUE dispid, VALUE args, VALUE types)
 
static VALUE fole_getproperty2 (VALUE self, VALUE dispid, VALUE args, VALUE types)
 
static VALUE fole_setproperty2 (VALUE self, VALUE dispid, VALUE args, VALUE types)
 
static VALUE fole_setproperty_with_bracket (int argc, VALUE *argv, VALUE self)
 
static VALUE fole_setproperty (int argc, VALUE *argv, VALUE self)
 
static VALUE fole_getproperty_with_bracket (int argc, VALUE *argv, VALUE self)
 
static VALUE ole_propertyput (VALUE self, VALUE property, VALUE value)
 
static VALUE fole_free (VALUE self)
 
static VALUE ole_each_sub (VALUE pEnumV)
 
static VALUE ole_ienum_free (VALUE pEnumV)
 
static VALUE fole_each (VALUE self)
 
static VALUE fole_missing (int argc, VALUE *argv, VALUE self)
 
static VALUE ole_method_sub (VALUE self, ITypeInfo *pOwnerTypeInfo, ITypeInfo *pTypeInfo, VALUE name)
 
static VALUE olemethod_from_typeinfo (VALUE self, ITypeInfo *pTypeInfo, VALUE name)
 
static VALUE ole_methods_sub (ITypeInfo *pOwnerTypeInfo, ITypeInfo *pTypeInfo, VALUE methods, int mask)
 
static VALUE ole_methods_from_typeinfo (ITypeInfo *pTypeInfo, int mask)
 
static HRESULT typeinfo_from_ole (struct oledata *pole, ITypeInfo **ppti)
 
static VALUE ole_methods (VALUE self, int mask)
 
static VALUE fole_methods (VALUE self)
 
static VALUE fole_get_methods (VALUE self)
 
static VALUE fole_put_methods (VALUE self)
 
static VALUE fole_func_methods (VALUE self)
 
static VALUE ole_type_from_itypeinfo (ITypeInfo *pTypeInfo)
 
static VALUE fole_type (VALUE self)
 
static VALUE ole_typelib_from_itypeinfo (ITypeInfo *pTypeInfo)
 
static VALUE fole_typelib (VALUE self)
 
static VALUE fole_query_interface (VALUE self, VALUE str_iid)
 
static VALUE fole_respond_to (VALUE self, VALUE method)
 
static HRESULT ole_docinfo_from_type (ITypeInfo *pTypeInfo, BSTR *name, BSTR *helpstr, DWORD *helpcontext, BSTR *helpfile)
 
static VALUE ole_usertype2val (ITypeInfo *pTypeInfo, TYPEDESC *pTypeDesc, VALUE typedetails)
 
static VALUE ole_ptrtype2val (ITypeInfo *pTypeInfo, TYPEDESC *pTypeDesc, VALUE typedetails)
 
static VALUE ole_typedesc2val (ITypeInfo *pTypeInfo, TYPEDESC *pTypeDesc, VALUE typedetails)
 
static VALUE fole_method_help (VALUE self, VALUE cmdname)
 
static VALUE fole_activex_initialize (VALUE self)
 
static VALUE foletype_s_ole_classes (VALUE self, VALUE typelib)
 
static VALUE foletype_s_typelibs (VALUE self)
 
static VALUE foletype_s_progids (VALUE self)
 
static VALUE foletype_s_allocate (VALUE klass)
 
static VALUE oletype_set_member (VALUE self, ITypeInfo *pTypeInfo, VALUE name)
 
static VALUE oleclass_from_typelib (VALUE self, ITypeLib *pTypeLib, VALUE oleclass)
 
static VALUE oletypelib_set_member (VALUE self, ITypeLib *pTypeLib)
 
static ITypeLib * oletypelib_get_typelib (VALUE self)
 
static void oletypelib_get_libattr (ITypeLib *pTypeLib, TLIBATTR **ppTLibAttr)
 
static VALUE foletypelib_s_typelibs (VALUE self)
 
static VALUE make_version_str (VALUE major, VALUE minor)
 
static VALUE oletypelib_search_registry2 (VALUE self, VALUE args)
 
static VALUE oletypelib_search_registry (VALUE self, VALUE typelib)
 
static VALUE foletypelib_s_allocate (VALUE klass)
 
static VALUE foletypelib_initialize (VALUE self, VALUE args)
 
static VALUE foletypelib_guid (VALUE self)
 
static VALUE foletypelib_name (VALUE self)
 
static VALUE foletypelib_version (VALUE self)
 
static VALUE foletypelib_major_version (VALUE self)
 
static VALUE foletypelib_minor_version (VALUE self)
 
static VALUE oletypelib_path (VALUE guid, VALUE version)
 
static HRESULT oletypelib_from_guid (VALUE guid, VALUE version, ITypeLib **ppTypeLib)
 
static VALUE foletypelib_path (VALUE self)
 
static VALUE foletypelib_visible (VALUE self)
 
static VALUE foletypelib_library_name (VALUE self)
 
static VALUE foletypelib_ole_types (VALUE self)
 
static VALUE foletypelib_inspect (VALUE self)
 
static VALUE foletype_initialize (VALUE self, VALUE typelib, VALUE oleclass)
 
static VALUE foletype_name (VALUE self)
 
static VALUE ole_ole_type (ITypeInfo *pTypeInfo)
 
static VALUE foletype_ole_type (VALUE self)
 
static VALUE ole_type_guid (ITypeInfo *pTypeInfo)
 
static VALUE foletype_guid (VALUE self)
 
static VALUE ole_type_progid (ITypeInfo *pTypeInfo)
 
static VALUE foletype_progid (VALUE self)
 
static VALUE ole_type_visible (ITypeInfo *pTypeInfo)
 
static VALUE foletype_visible (VALUE self)
 
static VALUE ole_type_major_version (ITypeInfo *pTypeInfo)
 
static VALUE foletype_major_version (VALUE self)
 
static VALUE ole_type_minor_version (ITypeInfo *pTypeInfo)
 
static VALUE foletype_minor_version (VALUE self)
 
static VALUE ole_type_typekind (ITypeInfo *pTypeInfo)
 
static VALUE foletype_typekind (VALUE self)
 
static VALUE ole_type_helpstring (ITypeInfo *pTypeInfo)
 
static VALUE foletype_helpstring (VALUE self)
 
static VALUE ole_type_src_type (ITypeInfo *pTypeInfo)
 
static VALUE foletype_src_type (VALUE self)
 
static VALUE ole_type_helpfile (ITypeInfo *pTypeInfo)
 
static VALUE foletype_helpfile (VALUE self)
 
static VALUE ole_type_helpcontext (ITypeInfo *pTypeInfo)
 
static VALUE foletype_helpcontext (VALUE self)
 
static VALUE foletype_ole_typelib (VALUE self)
 
static VALUE ole_type_impl_ole_types (ITypeInfo *pTypeInfo, int implflags)
 
static VALUE foletype_impl_ole_types (VALUE self)
 
static VALUE foletype_source_ole_types (VALUE self)
 
static VALUE foletype_default_event_sources (VALUE self)
 
static VALUE foletype_default_ole_types (VALUE self)
 
static VALUE foletype_inspect (VALUE self)
 
static VALUE ole_variables (ITypeInfo *pTypeInfo)
 
static VALUE foletype_variables (VALUE self)
 
static VALUE foletype_methods (VALUE self)
 
static VALUE folevariable_name (VALUE self)
 
static VALUE ole_variable_ole_type (ITypeInfo *pTypeInfo, UINT var_index)
 
static VALUE folevariable_ole_type (VALUE self)
 
static VALUE ole_variable_ole_type_detail (ITypeInfo *pTypeInfo, UINT var_index)
 
static VALUE folevariable_ole_type_detail (VALUE self)
 
static VALUE ole_variable_value (ITypeInfo *pTypeInfo, UINT var_index)
 
static VALUE folevariable_value (VALUE self)
 
static VALUE ole_variable_visible (ITypeInfo *pTypeInfo, UINT var_index)
 
static VALUE folevariable_visible (VALUE self)
 
static VALUE ole_variable_kind (ITypeInfo *pTypeInfo, UINT var_index)
 
static VALUE folevariable_variable_kind (VALUE self)
 
static VALUE ole_variable_varkind (ITypeInfo *pTypeInfo, UINT var_index)
 
static VALUE folevariable_varkind (VALUE self)
 
static VALUE folevariable_inspect (VALUE self)
 
static VALUE olemethod_set_member (VALUE self, ITypeInfo *pTypeInfo, ITypeInfo *pOwnerTypeInfo, int index, VALUE name)
 
static VALUE folemethod_s_allocate (VALUE klass)
 
static VALUE folemethod_initialize (VALUE self, VALUE oletype, VALUE method)
 
static VALUE folemethod_name (VALUE self)
 
static VALUE ole_method_return_type (ITypeInfo *pTypeInfo, UINT method_index)
 
static VALUE folemethod_return_type (VALUE self)
 
static VALUE ole_method_return_vtype (ITypeInfo *pTypeInfo, UINT method_index)
 
static VALUE folemethod_return_vtype (VALUE self)
 
static VALUE ole_method_return_type_detail (ITypeInfo *pTypeInfo, UINT method_index)
 
static VALUE folemethod_return_type_detail (VALUE self)
 
static VALUE ole_method_invkind (ITypeInfo *pTypeInfo, UINT method_index)
 
static VALUE ole_method_invoke_kind (ITypeInfo *pTypeInfo, UINT method_index)
 
static VALUE folemethod_invkind (VALUE self)
 
static VALUE folemethod_invoke_kind (VALUE self)
 
static VALUE ole_method_visible (ITypeInfo *pTypeInfo, UINT method_index)
 
static VALUE folemethod_visible (VALUE self)
 
static VALUE ole_method_event (ITypeInfo *pTypeInfo, UINT method_index, VALUE method_name)
 
static VALUE folemethod_event (VALUE self)
 
static VALUE folemethod_event_interface (VALUE self)
 
static VALUE ole_method_docinfo_from_type (ITypeInfo *pTypeInfo, UINT method_index, BSTR *name, BSTR *helpstr, DWORD *helpcontext, BSTR *helpfile)
 
static VALUE ole_method_helpstring (ITypeInfo *pTypeInfo, UINT method_index)
 
static VALUE folemethod_helpstring (VALUE self)
 
static VALUE ole_method_helpfile (ITypeInfo *pTypeInfo, UINT method_index)
 
static VALUE folemethod_helpfile (VALUE self)
 
static VALUE ole_method_helpcontext (ITypeInfo *pTypeInfo, UINT method_index)
 
static VALUE folemethod_helpcontext (VALUE self)
 
static VALUE ole_method_dispid (ITypeInfo *pTypeInfo, UINT method_index)
 
static VALUE folemethod_dispid (VALUE self)
 
static VALUE ole_method_offset_vtbl (ITypeInfo *pTypeInfo, UINT method_index)
 
static VALUE folemethod_offset_vtbl (VALUE self)
 
static VALUE ole_method_size_params (ITypeInfo *pTypeInfo, UINT method_index)
 
static VALUE folemethod_size_params (VALUE self)
 
static VALUE ole_method_size_opt_params (ITypeInfo *pTypeInfo, UINT method_index)
 
static VALUE folemethod_size_opt_params (VALUE self)
 
static VALUE ole_method_params (ITypeInfo *pTypeInfo, UINT method_index)
 
static VALUE folemethod_params (VALUE self)
 
static VALUE folemethod_inspect (VALUE self)
 
static VALUE foleparam_s_allocate (VALUE klass)
 
static VALUE oleparam_ole_param_from_index (VALUE self, ITypeInfo *pTypeInfo, UINT method_index, int param_index)
 
static VALUE oleparam_ole_param (VALUE self, VALUE olemethod, int n)
 
static VALUE foleparam_initialize (VALUE self, VALUE olemethod, VALUE n)
 
static VALUE foleparam_name (VALUE self)
 
static VALUE ole_param_ole_type (ITypeInfo *pTypeInfo, UINT method_index, UINT index)
 
static VALUE foleparam_ole_type (VALUE self)
 
static VALUE ole_param_ole_type_detail (ITypeInfo *pTypeInfo, UINT method_index, UINT index)
 
static VALUE foleparam_ole_type_detail (VALUE self)
 
static VALUE ole_param_flag_mask (ITypeInfo *pTypeInfo, UINT method_index, UINT index, USHORT mask)
 
static VALUE foleparam_input (VALUE self)
 
static VALUE foleparam_output (VALUE self)
 
static VALUE foleparam_optional (VALUE self)
 
static VALUE foleparam_retval (VALUE self)
 
static VALUE ole_param_default (ITypeInfo *pTypeInfo, UINT method_index, UINT index)
 
static VALUE foleparam_default (VALUE self)
 
static VALUE foleparam_inspect (VALUE self)
 
static long ole_search_event_at (VALUE ary, VALUE ev)
 
static VALUE ole_search_event (VALUE ary, VALUE ev, BOOL *is_default)
 
static VALUE ole_search_handler_method (VALUE handler, VALUE ev, BOOL *is_default_handler)
 
static void ole_delete_event (VALUE ary, VALUE ev)
 
static void hash2ptr_dispparams (VALUE hash, ITypeInfo *pTypeInfo, DISPID dispid, DISPPARAMS *pdispparams)
 
static VALUE hash2result (VALUE hash)
 
static void ary2ptr_dispparams (VALUE ary, DISPPARAMS *pdispparams)
 
static VALUE exec_callback (VALUE arg)
 
static VALUE rescue_callback (VALUE arg)
 
static HRESULT find_iid (VALUE ole, char *pitf, IID *piid, ITypeInfo **ppTypeInfo)
 
static HRESULT find_coclass (ITypeInfo *pTypeInfo, TYPEATTR *pTypeAttr, ITypeInfo **pTypeInfo2, TYPEATTR **pTypeAttr2)
 
static HRESULT find_default_source_from_typeinfo (ITypeInfo *pTypeInfo, TYPEATTR *pTypeAttr, ITypeInfo **ppTypeInfo)
 
static HRESULT find_default_source (VALUE ole, IID *piid, ITypeInfo **ppTypeInfo)
 
static void ole_event_free (struct oleeventdata *poleev)
 
static VALUE fev_s_allocate (VALUE klass)
 
static VALUE ev_advise (int argc, VALUE *argv, VALUE self)
 
static VALUE fev_initialize (int argc, VALUE *argv, VALUE self)
 
static VALUE fev_s_msg_loop (VALUE klass)
 
static void add_event_call_back (VALUE obj, VALUE event, VALUE data)
 
static VALUE ev_on_event (int argc, VALUE *argv, VALUE self, VALUE is_ary_arg)
 
static VALUE fev_on_event (int argc, VALUE *argv, VALUE self)
 
static VALUE fev_on_event_with_outargs (int argc, VALUE *argv, VALUE self)
 
static VALUE fev_off_event (int argc, VALUE *argv, VALUE self)
 
static VALUE fev_unadvise (VALUE self)
 
static VALUE fev_set_handler (VALUE self, VALUE val)
 
static VALUE fev_get_handler (VALUE self)
 
static VALUE evs_push (VALUE ev)
 
static VALUE evs_delete (long i)
 
static VALUE evs_entry (long i)
 
static VALUE evs_length ()
 
static void olevariant_free (struct olevariantdata *pvar)
 
static VALUE folevariant_s_allocate (VALUE klass)
 
static VALUE folevariant_s_array (VALUE klass, VALUE dims, VALUE vvt)
 
static VALUE folevariant_initialize (VALUE self, VALUE args)
 
static longary2safe_array_index (int ary_size, VALUE *ary, SAFEARRAY *psa)
 
static void unlock_safe_array (SAFEARRAY *psa)
 
static SAFEARRAY * get_locked_safe_array (VALUE val)
 
static VALUE folevariant_ary_aref (int argc, VALUE *argv, VALUE self)
 
static VOID * val2variant_ptr (VALUE val, VARIANT *var, VARTYPE vt)
 
static VALUE folevariant_ary_aset (int argc, VALUE *argv, VALUE self)
 
static VALUE folevariant_value (VALUE self)
 
static VALUE folevariant_vartype (VALUE self)
 
static VALUE folevariant_set_value (VALUE self, VALUE val)
 
static void init_enc2cp ()
 
static void free_enc2cp ()
 
static DWORD (STDMETHODCALLTYPE mf_HandleInComingCall)(IMessageFilter __RPC_FAR *pThis
 
 free (psz)
 
 for (i=0;i< args;i++)
 
 if (dispIdMember==DISPID_VALUE)
 
 ole_val2variant (v, pVarResult)
 
static void failed_load_conv51932 (void)
 
static void set_ole_codepage (UINT cp)
 
void ole_uninitialize ()
 
static VALUE reg_get_val2 (HKEY hkey, const char *subkey)
 
void EVENTSINK_Destructor (PIEVENTSINKOBJ)
 
STDMETHODIMP EVENTSINK_QueryInterface (PEVENTSINK pEV, REFIID iid, LPVOID *ppv)
 
 EVENTSINK_AddRef (PEVENTSINK pEV)
 
 STDMETHODIMP_ (ULONG)
 
STDMETHODIMP EVENTSINK_GetTypeInfoCount (PEVENTSINK pEV, UINT *pct)
 
STDMETHODIMP EVENTSINK_GetTypeInfo (PEVENTSINK pEV, UINT info, LCID lcid, ITypeInfo **pInfo)
 
STDMETHODIMP EVENTSINK_GetIDsOfNames (PEVENTSINK pEventSink, REFIID riid, OLECHAR **szNames, UINT cNames, LCID lcid, DISPID *pDispID)
 
STDMETHODIMP EVENTSINK_Invoke (PEVENTSINK pEventSink, DISPID dispid, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pdispparams, VARIANT *pvarResult, EXCEPINFO *pexcepinfo, UINT *puArgErr)
 
PIEVENTSINKOBJ EVENTSINK_Constructor ()
 
void Init_win32ole ()
 

Variables

VALUE cWIN32OLE
 
VALUE cWIN32OLE_TYPELIB
 
VALUE cWIN32OLE_TYPE
 
VALUE cWIN32OLE_VARIABLE
 
VALUE cWIN32OLE_METHOD
 
VALUE cWIN32OLE_PARAM
 
VALUE cWIN32OLE_EVENT
 
VALUE cWIN32OLE_VARIANT
 
VALUE eWIN32OLERuntimeError
 
VALUE mWIN32OLE_VARIANT
 
VALUE cWIN32OLE_PROPERTY
 
static VALUE ary_ole_event
 
static ID id_events
 
static BOOL g_ole_initialized = FALSE
 
static BOOL g_cp_installed = FALSE
 
static BOOL g_lcid_installed = FALSE
 
static HINSTANCE ghhctrl = NULL
 
static HINSTANCE gole32 = NULL
 
static FNCOCREATEINSTANCEEX * gCoCreateInstanceEx = NULL
 
static VALUE com_hash
 
static IDispatchVtbl com_vtbl
 
static UINT cWIN32OLE_cp = CP_ACP
 
static LCID cWIN32OLE_lcid = LOCALE_SYSTEM_DEFAULT
 
static rb_encodingcWIN32OLE_enc
 
static UINT g_cp_to_check = CP_ACP
 
static char g_lcid_to_check [8+1]
 
static VARTYPE g_nil_to = VT_ERROR
 
static st_tableenc2cp_table
 
static IMessageFilterVtbl message_filter
 
static IMessageFilter imessage_filter = { &message_filter }
 
static IMessageFilter * previous_filter
 
static REFIID riid
 
static REFIID void __RPC_FAR
*__RPC_FAR * 
ppvObject
 
static UINT __RPC_FAR * pctinfo
 
static UINT iTInfo
 
static UINT LCID lcid
 
static UINT LCID ITypeInfo
__RPC_FAR *__RPC_FAR * 
ppTInfo
 
static REFIID LPOLESTR __RPC_FAR * rgszNames
 
static REFIID LPOLESTR
__RPC_FAR UINT 
cNames
 
static REFIID LPOLESTR
__RPC_FAR UINT LCID DISPID
__RPC_FAR * 
rgDispId
 
static DISPID dispIdMember
 
static DISPID REFIID LCID WORD wFlags
 
static DISPID REFIID LCID WORD
DISPPARAMS __RPC_FAR * 
pDispParams
 
static DISPID REFIID LCID WORD
DISPPARAMS __RPC_FAR VARIANT
__RPC_FAR * 
pVarResult
 
static DISPID REFIID LCID WORD
DISPPARAMS __RPC_FAR VARIANT
__RPC_FAR EXCEPINFO __RPC_FAR * 
pExcepInfo
 
static DISPID REFIID LCID WORD
DISPPARAMS __RPC_FAR VARIANT
__RPC_FAR EXCEPINFO __RPC_FAR
UINT __RPC_FAR * 
puArgErr
 
static DWORD dwCallType
 
static DWORD HTASK threadIDCaller
 
static DWORD HTASK DWORD dwTickCount
 
static DWORD HTASK DWORD
LPINTERFACEINFO 
lpInterfaceInfo
 
static HTASK threadIDCallee
 
static HTASK DWORD DWORD dwRejectType
 
static HTASK DWORD DWORD dwPendingType
 
return S_OK
 
int i
 
int args = pDispParams->cArgs
 
Win32OLEIDispatchp = (Win32OLEIDispatch*)This
 
VALUEparg = ALLOCA_N(VALUE, args)
 
 v = rb_funcall2(p->obj, dispIdMember, args, parg)
 
static IEventSinkVtbl vtEventSink
 
static BOOL g_IsEventSinkVtblInitialized = FALSE
 

Macro Definition Documentation

#define conv_51932 (   cp)    ((cp) == 51932 && (load_conv_function51932(), 1))

Definition at line 950 of file win32ole.c.

Referenced by ole_mb2wc(), ole_vstr2wc(), and ole_wc2mb().

#define DOUT   fprintf(stderr,"[%d]\n",__LINE__)

Definition at line 53 of file win32ole.c.

#define DOUTD (   x)    fprintf(stderr, "[%d]:" #x "=%f\n",__LINE__,x)

Definition at line 57 of file win32ole.c.

#define DOUTI (   x)    fprintf(stderr, "[%ld]:" #x "=%d\n",__LINE__,x)

Definition at line 56 of file win32ole.c.

#define DOUTMSG (   x)    fprintf(stderr, "[%d]:" #x "\n",__LINE__)

Definition at line 55 of file win32ole.c.

#define DOUTS (   x)    fprintf(stderr,"[%d]:" #x "=%s\n",__LINE__,x)

Definition at line 54 of file win32ole.c.

#define ENC_MACHING_CP (   enc,
  encname,
  cp 
)    if(strcasecmp(rb_enc_name((enc)),(encname)) == 0) return cp

Definition at line 853 of file win32ole.c.

Referenced by ole_encoding2cp().

#define GNUC_OLDER_3_4_4
Value:
((__GNUC__ < 3) || \
((__GNUC__ <= 3) && (__GNUC_MINOR__ < 4)) || \
((__GNUC__ <= 3) && (__GNUC_MINOR__ <= 4) && (__GNUC_PATCHLEVEL__ <= 4)))

Definition at line 22 of file win32ole.c.

#define I8_2_NUM   INT2NUM

Definition at line 138 of file win32ole.c.

Referenced by ole_variant2val().

#define load_conv_function51932 ( )    failed_load_conv51932()

Definition at line 947 of file win32ole.c.

Referenced by ole_cp2encoding(), and set_ole_codepage().

#define NUM2I8   NUM2INT

Definition at line 140 of file win32ole.c.

Referenced by ole_val2variant_ex().

#define NUM2UI8   NUM2UINT

Definition at line 141 of file win32ole.c.

Referenced by ole_val2variant_ex().

#define OLE_ADDREF (   X)    (X) ? ((X)->lpVtbl->AddRef(X)) : 0
#define OLE_FREE (   x)
Value:
{\
if(x) {\
(x) = 0;\
}\
}\
}
if(dispIdMember==DISPID_VALUE)
Definition: win32ole.c:783
static BOOL g_ole_initialized
Definition: win32ole.c:217
#define TRUE
Definition: nkf.h:186
#define OLE_RELEASE(X)
Definition: win32ole.c:109

Definition at line 116 of file win32ole.c.

Referenced by fole_free(), ole_free(), olemethod_free(), oleparam_free(), oletype_free(), oletypelib_free(), and olevariable_free().

#define OLE_GET_TYPEATTR (   X,
 
)    ((X)->lpVtbl->GetTypeAttr((X), (Y)))
#define OLE_RELEASE (   X)    (X) ? ((X)->lpVtbl->Release(X)) : 0
#define OLE_RELEASE_TYPEATTR (   X,
 
)    ((X)->lpVtbl->ReleaseTypeAttr((X), (Y)))
#define OLEData_Get_Struct (   obj,
  pole 
)
Value:
{\
Data_Get_Struct(obj, struct oledata, pole);\
if(!pole->pDispatch) {\
rb_raise(rb_eRuntimeError, "failed to get Dispatch Interface");\
}\
}
#define Data_Get_Struct(obj, type, sval)
Definition: ruby.h:835
if(dispIdMember==DISPID_VALUE)
Definition: win32ole.c:783
void rb_raise(VALUE exc, const char *fmt,...)
Definition: error.c:1574
VALUE rb_eRuntimeError
Definition: error.c:466

Definition at line 125 of file win32ole.c.

Referenced by ev_advise(), find_default_source(), find_iid(), fole_activex_initialize(), fole_each(), fole_free(), fole_method_help(), fole_query_interface(), fole_respond_to(), fole_s_const_load(), fole_s_free(), fole_s_reference_count(), fole_type(), fole_typelib(), ole_invoke(), ole_invoke2(), ole_methods(), and ole_propertyput().

#define pIMultiLanguage   NULL /* dummy */

Definition at line 241 of file win32ole.c.

Referenced by ole_mb2wc(), ole_vstr2wc(), and ole_wc2mb().

#define UI8_2_NUM   UINT2NUM

Definition at line 139 of file win32ole.c.

Referenced by ole_variant2val().

#define V_I1REF (   X)    V_UNION(X, pcVal)

Definition at line 77 of file win32ole.c.

Referenced by ole_set_byref(), and ole_variant2val().

#define V_INT (   X)    V_UNION(X, intVal)

Definition at line 85 of file win32ole.c.

Referenced by get_ptr_of_variant(), ole_set_byref(), and ole_variant2val().

#define V_INTREF (   X)    V_UNION(X, pintVal)

Definition at line 89 of file win32ole.c.

Referenced by ole_set_byref(), and ole_variant2val().

#define V_UI2REF (   X)    V_UNION(X, puiVal)

Definition at line 81 of file win32ole.c.

Referenced by ole_set_byref(), and ole_variant2val().

#define V_UINT (   X)    V_UNION(X, uintVal)

Definition at line 93 of file win32ole.c.

Referenced by get_ptr_of_variant(), ole_set_byref(), and ole_variant2val().

#define V_UINTREF (   X)    V_UNION(X, puintVal)

Definition at line 97 of file win32ole.c.

Referenced by ole_set_byref(), and ole_variant2val().

#define V_UNION1 (   X,
 
)    ((X)->Y)
#define va_init_list (   a,
 
)    va_start(a)

Definition at line 49 of file win32ole.c.

Referenced by ole_raise().

#define WC2VSTR (   x)    ole_wc2vstr((x), TRUE)
#define WIN32OLE_VERSION   "1.5.3"

Definition at line 146 of file win32ole.c.

Referenced by Init_win32ole().

Typedef Documentation

typedef IUnknown COSERVERINFO MULTI_QI* typedef LPCSTR UINT DWORD dwData

Definition at line 151 of file win32ole.c.

static DWORD

Definition at line 149 of file win32ole.c.

typedef BOOL( FNENUMSYSEMCODEPAGES)(CODEPAGE_ENUMPROC, DWORD)

Definition at line 153 of file win32ole.c.

typedef IUnknown COSERVERINFO MULTI_QI* typedef HWND(WINAPI FNHTMLHELP)(HWND hwndCaller

Definition at line 151 of file win32ole.c.

Definition at line 158 of file win32ole.c.

typedef struct IEventSink * PEVENTSINK
typedef struct tagIEVENTSINKOBJ * PIEVENTSINKOBJ
typedef IUnknown COSERVERINFO MULTI_QI* typedef LPCSTR pszFile

Definition at line 151 of file win32ole.c.

typedef IUnknown COSERVERINFO MULTI_QI* typedef LPCSTR UINT uCommand

Definition at line 151 of file win32ole.c.

Function Documentation

static void add_event_call_back ( VALUE  obj,
VALUE  event,
VALUE  data 
)
static
static void ary2ptr_dispparams ( VALUE  ary,
DISPPARAMS *  pdispparams 
)
static

Definition at line 7771 of file win32ole.c.

References i, ole_val2ptr_variant(), RARRAY_LEN, rb_ary_entry(), and v.

Referenced by EVENTSINK_Invoke().

static long * ary2safe_array_index ( int  ary_size,
VALUE ary,
SAFEARRAY *  psa 
)
static

Definition at line 8810 of file win32ole.c.

References ALLOC_N, i, NULL, NUM2INT, rb_eArgError, rb_eRuntimeError, and rb_raise().

Referenced by folevariant_ary_aref(), and folevariant_ary_aset().

static long ary_len_of_dim ( VALUE  ary,
long  dim 
)
static

Definition at line 1528 of file win32ole.c.

References len, RARRAY_LEN, rb_ary_entry(), T_ARRAY, and TYPE.

Referenced by ole_val_ary2variant_ary().

static VALUE ary_new_dim ( VALUE  myary,
long pid,
long plb,
long  dim 
)
static
static void ary_store_dim ( VALUE  myary,
long pid,
long plb,
long  dim,
VALUE  val 
)
static

Definition at line 2050 of file win32ole.c.

References ary_new_dim(), and rb_ary_store().

Referenced by ole_variant2val().

static HRESULT clsid_from_remote ( VALUE  host,
VALUE  com,
CLSID *  pclsid 
)
static

Definition at line 2555 of file win32ole.c.

References err, HRESULT(), len, NULL, ole_mb2wc(), rb_str_cat2(), rb_str_concat(), rb_str_new2(), S_OK, and StringValuePtr.

Referenced by ole_create_dcom().

static BOOL code_page_installed ( UINT  cp)
static
static VALUE create_win32ole_object ( VALUE  klass,
IDispatch *  pDispatch,
int  argc,
VALUE argv 
)
static
static VALUE default_inspect ( VALUE  self,
const char *  class_name 
)
static

Definition at line 1984 of file win32ole.c.

References make_inspect(), rb_funcall(), and rb_intern.

Referenced by folemethod_inspect(), foletype_inspect(), and foletypelib_inspect().

static long dimension ( VALUE  val)
static

Definition at line 1509 of file win32ole.c.

References len, RARRAY_LEN, rb_ary_entry(), T_ARRAY, and TYPE.

Referenced by ole_val_ary2variant_ary().

static DWORD ( STDMETHODCALLTYPE  mf_HandleInComingCall)
static
static VALUE ev_advise ( int  argc,
VALUE argv,
VALUE  self 
)
static
static VALUE ev_on_event ( int  argc,
VALUE argv,
VALUE  self,
VALUE  is_ary_arg 
)
static
EVENTSINK_AddRef ( PEVENTSINK  pEV)

Definition at line 7599 of file win32ole.c.

References tagIEVENTSINKOBJ::m_cRef.

Referenced by EVENTSINK_Constructor().

PIEVENTSINKOBJ EVENTSINK_Constructor ( )
void EVENTSINK_Destructor ( PIEVENTSINKOBJ  pEVObj)

Definition at line 7938 of file win32ole.c.

References free(), NULL, OLE_RELEASE, and tagIEVENTSINKOBJ::pTypeInfo.

Referenced by STDMETHODIMP_().

STDMETHODIMP EVENTSINK_GetIDsOfNames ( PEVENTSINK  pEventSink,
REFIID  riid,
OLECHAR **  szNames,
UINT  cNames,
LCID  lcid,
DISPID *  pDispID 
)

Definition at line 7635 of file win32ole.c.

References tagIEVENTSINKOBJ::pTypeInfo, and oleparamdata::pTypeInfo.

Referenced by EVENTSINK_Constructor().

STDMETHODIMP EVENTSINK_GetTypeInfo ( PEVENTSINK  pEV,
UINT  info,
LCID  lcid,
ITypeInfo **  pInfo 
)

Definition at line 7625 of file win32ole.c.

References NULL.

Referenced by EVENTSINK_Constructor().

STDMETHODIMP EVENTSINK_GetTypeInfoCount ( PEVENTSINK  pEV,
UINT *  pct 
)

Definition at line 7617 of file win32ole.c.

Referenced by EVENTSINK_Constructor().

STDMETHODIMP EVENTSINK_Invoke ( PEVENTSINK  pEventSink,
DISPID  dispid,
REFIID  riid,
LCID  lcid,
WORD  wFlags,
DISPPARAMS *  pdispparams,
VARIANT *  pvarResult,
EXCEPINFO *  pexcepinfo,
UINT *  puArgErr 
)
STDMETHODIMP EVENTSINK_QueryInterface ( PEVENTSINK  pEV,
REFIID  iid,
LPVOID *  ppv 
)

Definition at line 7580 of file win32ole.c.

References NULL.

Referenced by EVENTSINK_Constructor().

static VALUE evs_delete ( long  i)
static

Definition at line 8560 of file win32ole.c.

References ary_ole_event, Qnil, and rb_ary_store().

Referenced by fev_unadvise().

static VALUE evs_entry ( long  i)
static

Definition at line 8567 of file win32ole.c.

References ary_ole_event, and rb_ary_entry().

Referenced by EVENTSINK_Invoke().

static VALUE evs_length ( )
static

Definition at line 8573 of file win32ole.c.

References ary_ole_event, rb_funcall(), and rb_intern.

Referenced by ev_advise().

static VALUE evs_push ( VALUE  ev)
static

Definition at line 8554 of file win32ole.c.

References ary_ole_event, and rb_ary_push().

Referenced by fev_initialize().

static VALUE exec_callback ( VALUE  arg)
static

Definition at line 7784 of file win32ole.c.

References rb_apply().

Referenced by EVENTSINK_Invoke().

static void failed_load_conv51932 ( void  )
static

Definition at line 921 of file win32ole.c.

References eWIN32OLERuntimeError, and rb_raise().

static VALUE fev_get_handler ( VALUE  self)
static

Definition at line 8631 of file win32ole.c.

References rb_intern, and rb_ivar_get().

Referenced by Init_win32ole().

static VALUE fev_initialize ( int  argc,
VALUE argv,
VALUE  self 
)
static

Definition at line 8371 of file win32ole.c.

References ev_advise(), evs_push(), fev_set_handler(), id_events, Qnil, rb_ary_new(), and rb_ivar_set().

Referenced by Init_win32ole().

static VALUE fev_off_event ( int  argc,
VALUE argv,
VALUE  self 
)
static
static VALUE fev_on_event ( int  argc,
VALUE argv,
VALUE  self 
)
static

Definition at line 8459 of file win32ole.c.

References ev_on_event(), and Qfalse.

Referenced by Init_win32ole().

static VALUE fev_on_event_with_outargs ( int  argc,
VALUE argv,
VALUE  self 
)
static

Definition at line 8479 of file win32ole.c.

References ev_on_event(), and Qtrue.

Referenced by Init_win32ole().

static VALUE fev_s_allocate ( VALUE  klass)
static
static VALUE fev_s_msg_loop ( VALUE  klass)
static

Definition at line 8387 of file win32ole.c.

References ole_msg_loop(), and Qnil.

Referenced by Init_win32ole().

static VALUE fev_set_handler ( VALUE  self,
VALUE  val 
)
static

Definition at line 8618 of file win32ole.c.

References rb_intern, and rb_ivar_set().

Referenced by fev_initialize(), and Init_win32ole().

static VALUE fev_unadvise ( VALUE  self)
static
static HRESULT find_coclass ( ITypeInfo *  pTypeInfo,
TYPEATTR *  pTypeAttr,
ITypeInfo **  pTypeInfo2,
TYPEATTR **  pTypeAttr2 
)
static

Definition at line 8060 of file win32ole.c.

References count, FALSE, HRESULT(), i, NULL, OLE_GET_TYPEATTR, OLE_RELEASE, OLE_RELEASE_TYPEATTR, S_OK, and TRUE.

Referenced by find_default_source().

static HRESULT find_default_source ( VALUE  ole,
IID *  piid,
ITypeInfo **  ppTypeInfo 
)
static
static HRESULT find_default_source_from_typeinfo ( ITypeInfo *  pTypeInfo,
TYPEATTR *  pTypeAttr,
ITypeInfo **  ppTypeInfo 
)
static

Definition at line 8135 of file win32ole.c.

References HRESULT().

Referenced by find_default_source().

static HRESULT find_iid ( VALUE  ole,
char *  pitf,
IID *  piid,
ITypeInfo **  ppTypeInfo 
)
static
static VALUE fole_activex_initialize ( VALUE  self)
static
static VALUE fole_each ( VALUE  self)
static
static VALUE fole_free ( VALUE  self)
static

Definition at line 3955 of file win32ole.c.

References NULL, OLE_FREE, OLEData_Get_Struct, oledata::pDispatch, Qnil, and rb_secure().

Referenced by Init_win32ole().

static VALUE fole_func_methods ( VALUE  self)
static

Definition at line 4347 of file win32ole.c.

References ole_methods().

Referenced by Init_win32ole().

static VALUE fole_get_methods ( VALUE  self)
static

Definition at line 4314 of file win32ole.c.

References ole_methods().

Referenced by Init_win32ole().

static VALUE fole_getproperty2 ( VALUE  self,
VALUE  dispid,
VALUE  args,
VALUE  types 
)
static

Definition at line 3800 of file win32ole.c.

References ole_invoke2().

Referenced by Init_win32ole().

static VALUE fole_getproperty_with_bracket ( int  argc,
VALUE argv,
VALUE  self 
)
static

Definition at line 3883 of file win32ole.c.

References ole_invoke(), and TRUE.

Referenced by Init_win32ole().

static VALUE fole_initialize ( int  argc,
VALUE argv,
VALUE  self 
)
static
static VALUE fole_invoke ( int  argc,
VALUE argv,
VALUE  self 
)
static

Definition at line 3574 of file win32ole.c.

References FALSE, and ole_invoke().

Referenced by Init_win32ole().

static VALUE fole_invoke2 ( VALUE  self,
VALUE  dispid,
VALUE  args,
VALUE  types 
)
static

Definition at line 3782 of file win32ole.c.

References ole_invoke2().

Referenced by Init_win32ole().

static VALUE fole_method_help ( VALUE  self,
VALUE  cmdname 
)
static
static VALUE fole_methods ( VALUE  self)
static

Definition at line 4298 of file win32ole.c.

References ole_methods().

Referenced by Init_win32ole().

static VALUE fole_missing ( int  argc,
VALUE argv,
VALUE  self 
)
static
static VALUE fole_put_methods ( VALUE  self)
static

Definition at line 4330 of file win32ole.c.

References ole_methods().

Referenced by Init_win32ole().

static VALUE fole_query_interface ( VALUE  self,
VALUE  str_iid 
)
static
static VALUE fole_respond_to ( VALUE  self,
VALUE  method 
)
static
static VALUE fole_s_allocate ( VALUE  klass)
static

Definition at line 2005 of file win32ole.c.

References Data_Make_Struct, NULL, ole_free(), ole_initialize(), and oledata::pDispatch.

Referenced by create_win32ole_object(), and Init_win32ole().

static VALUE fole_s_connect ( int  argc,
VALUE argv,
VALUE  self 
)
static
static VALUE fole_s_const_load ( int  argc,
VALUE argv,
VALUE  self 
)
static
static VALUE fole_s_create_guid ( VALUE  self)
static

Definition at line 3113 of file win32ole.c.

References eWIN32OLERuntimeError, FALSE, HRESULT(), len, ole_raise(), ole_wc2vstr(), rb_eRuntimeError, and rb_raise().

Referenced by Init_win32ole().

static VALUE fole_s_free ( VALUE  self,
VALUE  obj 
)
static

Definition at line 2910 of file win32ole.c.

References INT2NUM(), OLE_RELEASE, OLEData_Get_Struct, oledata::pDispatch, reference_count(), and ULONG().

Referenced by Init_win32ole().

static VALUE fole_s_get_code_page ( VALUE  self)
static

Definition at line 2995 of file win32ole.c.

References cWIN32OLE_cp, and INT2FIX.

Referenced by Init_win32ole().

static VALUE fole_s_get_locale ( VALUE  self)
static

Definition at line 3052 of file win32ole.c.

References cWIN32OLE_lcid, and INT2FIX.

Referenced by Init_win32ole().

static VALUE fole_s_ole_initialize ( VALUE  self)
static

Definition at line 3152 of file win32ole.c.

References ole_pure_initialize(), and Qnil.

Referenced by Init_win32ole().

static VALUE fole_s_ole_uninitialize ( VALUE  self)
static

Definition at line 3160 of file win32ole.c.

References ole_pure_uninitialize(), and Qnil.

Referenced by Init_win32ole().

static VALUE fole_s_reference_count ( VALUE  self,
VALUE  obj 
)
static

Definition at line 2893 of file win32ole.c.

References INT2NUM(), OLEData_Get_Struct, and reference_count().

Referenced by Init_win32ole().

static VALUE fole_s_set_code_page ( VALUE  self,
VALUE  vcp 
)
static

Definition at line 3032 of file win32ole.c.

References FIX2INT, Qnil, and set_ole_codepage().

Referenced by Init_win32ole().

static VALUE fole_s_set_locale ( VALUE  self,
VALUE  vlcid 
)
static

Definition at line 3087 of file win32ole.c.

References cWIN32OLE_lcid, eWIN32OLERuntimeError, FIX2INT, lcid, lcid_installed(), Qnil, and rb_raise().

Referenced by Init_win32ole().

static VALUE fole_s_show_help ( int  argc,
VALUE argv,
VALUE  self 
)
static
static VALUE fole_setproperty ( int  argc,
VALUE argv,
VALUE  self 
)
static

Definition at line 3861 of file win32ole.c.

References FALSE, and ole_invoke().

Referenced by Init_win32ole().

static VALUE fole_setproperty2 ( VALUE  self,
VALUE  dispid,
VALUE  args,
VALUE  types 
)
static

Definition at line 3818 of file win32ole.c.

References ole_invoke2().

Referenced by Init_win32ole().

static VALUE fole_setproperty_with_bracket ( int  argc,
VALUE argv,
VALUE  self 
)
static

Definition at line 3842 of file win32ole.c.

References ole_invoke(), and TRUE.

Referenced by Init_win32ole().

static VALUE fole_type ( VALUE  self)
static
static VALUE fole_typelib ( VALUE  self)
static
static VALUE folemethod_dispid ( VALUE  self)
static
static VALUE folemethod_event ( VALUE  self)
static
static VALUE folemethod_event_interface ( VALUE  self)
static
static VALUE folemethod_helpcontext ( VALUE  self)
static
static VALUE folemethod_helpfile ( VALUE  self)
static
static VALUE folemethod_helpstring ( VALUE  self)
static
static VALUE folemethod_initialize ( VALUE  self,
VALUE  oletype,
VALUE  method 
)
static
static VALUE folemethod_inspect ( VALUE  self)
static

Definition at line 7227 of file win32ole.c.

References default_inspect().

Referenced by Init_win32ole().

static VALUE folemethod_invkind ( VALUE  self)
static
static VALUE folemethod_invoke_kind ( VALUE  self)
static
static VALUE folemethod_name ( VALUE  self)
static

Definition at line 6595 of file win32ole.c.

References rb_intern, and rb_ivar_get().

Referenced by Init_win32ole().

static VALUE folemethod_offset_vtbl ( VALUE  self)
static
static VALUE folemethod_params ( VALUE  self)
static
static VALUE folemethod_return_type ( VALUE  self)
static
static VALUE folemethod_return_type_detail ( VALUE  self)
static
static VALUE folemethod_return_vtype ( VALUE  self)
static
static VALUE folemethod_s_allocate ( VALUE  klass)
static
static VALUE folemethod_size_opt_params ( VALUE  self)
static
static VALUE folemethod_size_params ( VALUE  self)
static
static VALUE folemethod_visible ( VALUE  self)
static
static VALUE foleparam_default ( VALUE  self)
static
static VALUE foleparam_initialize ( VALUE  self,
VALUE  olemethod,
VALUE  n 
)
static
static VALUE foleparam_input ( VALUE  self)
static
static VALUE foleparam_inspect ( VALUE  self)
static
static VALUE foleparam_name ( VALUE  self)
static

Definition at line 7318 of file win32ole.c.

References rb_intern, and rb_ivar_get().

Referenced by foleparam_inspect(), and Init_win32ole().

static VALUE foleparam_ole_type ( VALUE  self)
static
static VALUE foleparam_ole_type_detail ( VALUE  self)
static
static VALUE foleparam_optional ( VALUE  self)
static
static VALUE foleparam_output ( VALUE  self)
static
static VALUE foleparam_retval ( VALUE  self)
static
static VALUE foleparam_s_allocate ( VALUE  klass)
static
static VALUE foletype_default_event_sources ( VALUE  self)
static

Definition at line 6074 of file win32ole.c.

References Data_Get_Struct, ole_type_impl_ole_types(), and oletypedata::pTypeInfo.

Referenced by Init_win32ole().

static VALUE foletype_default_ole_types ( VALUE  self)
static

Definition at line 6092 of file win32ole.c.

References Data_Get_Struct, ole_type_impl_ole_types(), and oletypedata::pTypeInfo.

Referenced by Init_win32ole().

static VALUE foletype_guid ( VALUE  self)
static

Definition at line 5683 of file win32ole.c.

References Data_Get_Struct, ole_type_guid(), and oletypedata::pTypeInfo.

Referenced by Init_win32ole().

static VALUE foletype_helpcontext ( VALUE  self)
static

Definition at line 5964 of file win32ole.c.

References Data_Get_Struct, ole_type_helpcontext(), and oletypedata::pTypeInfo.

Referenced by Init_win32ole().

static VALUE foletype_helpfile ( VALUE  self)
static

Definition at line 5936 of file win32ole.c.

References Data_Get_Struct, ole_type_helpfile(), and oletypedata::pTypeInfo.

Referenced by Init_win32ole().

static VALUE foletype_helpstring ( VALUE  self)
static

Definition at line 5872 of file win32ole.c.

References Data_Get_Struct, ole_type_helpstring(), and oletypedata::pTypeInfo.

Referenced by Init_win32ole().

static VALUE foletype_impl_ole_types ( VALUE  self)
static

Definition at line 6039 of file win32ole.c.

References Data_Get_Struct, ole_type_impl_ole_types(), and oletypedata::pTypeInfo.

Referenced by Init_win32ole().

static VALUE foletype_initialize ( VALUE  self,
VALUE  typelib,
VALUE  oleclass 
)
static
static VALUE foletype_inspect ( VALUE  self)
static

Definition at line 6109 of file win32ole.c.

References default_inspect().

Referenced by Init_win32ole().

static VALUE foletype_major_version ( VALUE  self)
static

Definition at line 5783 of file win32ole.c.

References Data_Get_Struct, ole_type_major_version(), and oletypedata::pTypeInfo.

Referenced by Init_win32ole().

static VALUE foletype_methods ( VALUE  self)
static

Definition at line 6199 of file win32ole.c.

References Data_Get_Struct, ole_methods_from_typeinfo(), and oletypedata::pTypeInfo.

Referenced by Init_win32ole().

static VALUE foletype_minor_version ( VALUE  self)
static

Definition at line 5813 of file win32ole.c.

References Data_Get_Struct, ole_type_minor_version(), and oletypedata::pTypeInfo.

Referenced by Init_win32ole().

static VALUE foletype_name ( VALUE  self)
static

Definition at line 5588 of file win32ole.c.

References rb_intern, and rb_ivar_get().

Referenced by Init_win32ole().

static VALUE foletype_ole_type ( VALUE  self)
static

Definition at line 5648 of file win32ole.c.

References Data_Get_Struct, ole_ole_type(), and oletypedata::pTypeInfo.

Referenced by Init_win32ole().

static VALUE foletype_ole_typelib ( VALUE  self)
static

Definition at line 5981 of file win32ole.c.

References Data_Get_Struct, ole_typelib_from_itypeinfo(), and oletypedata::pTypeInfo.

Referenced by Init_win32ole().

static VALUE foletype_progid ( VALUE  self)
static

Definition at line 5718 of file win32ole.c.

References Data_Get_Struct, ole_type_progid(), and oletypedata::pTypeInfo.

Referenced by Init_win32ole().

static VALUE foletype_s_allocate ( VALUE  klass)
static
static VALUE foletype_s_ole_classes ( VALUE  self,
VALUE  typelib 
)
static

Definition at line 4801 of file win32ole.c.

References cWIN32OLE_TYPELIB, rb_funcall(), and rb_intern.

Referenced by Init_win32ole().

static VALUE foletype_s_progids ( VALUE  self)
static
static VALUE foletype_s_typelibs ( VALUE  self)
static

Definition at line 4823 of file win32ole.c.

References rb_eval_string().

Referenced by Init_win32ole().

static VALUE foletype_source_ole_types ( VALUE  self)
static

Definition at line 6057 of file win32ole.c.

References Data_Get_Struct, ole_type_impl_ole_types(), and oletypedata::pTypeInfo.

Referenced by Init_win32ole().

static VALUE foletype_src_type ( VALUE  self)
static

Definition at line 5907 of file win32ole.c.

References Data_Get_Struct, ole_type_src_type(), and oletypedata::pTypeInfo.

Referenced by Init_win32ole().

static VALUE foletype_typekind ( VALUE  self)
static

Definition at line 5844 of file win32ole.c.

References Data_Get_Struct, ole_type_typekind(), and oletypedata::pTypeInfo.

Referenced by Init_win32ole().

static VALUE foletype_variables ( VALUE  self)
static

Definition at line 6179 of file win32ole.c.

References Data_Get_Struct, ole_variables(), and oletypedata::pTypeInfo.

Referenced by Init_win32ole().

static VALUE foletype_visible ( VALUE  self)
static

Definition at line 5753 of file win32ole.c.

References Data_Get_Struct, ole_type_visible(), and oletypedata::pTypeInfo.

Referenced by Init_win32ole().

static VALUE foletypelib_guid ( VALUE  self)
static
static VALUE foletypelib_initialize ( VALUE  self,
VALUE  args 
)
static
static VALUE foletypelib_inspect ( VALUE  self)
static

Definition at line 5529 of file win32ole.c.

References default_inspect().

Referenced by Init_win32ole().

static VALUE foletypelib_library_name ( VALUE  self)
static
static VALUE foletypelib_major_version ( VALUE  self)
static
static VALUE foletypelib_minor_version ( VALUE  self)
static
static VALUE foletypelib_name ( VALUE  self)
static
static VALUE foletypelib_ole_types ( VALUE  self)
static
static VALUE foletypelib_path ( VALUE  self)
static
static VALUE foletypelib_s_allocate ( VALUE  klass)
static

Definition at line 5153 of file win32ole.c.

References Data_Make_Struct, NULL, ole_initialize(), oletypelib_free(), and oletypelibdata::pTypeLib.

Referenced by Init_win32ole().

static VALUE foletypelib_s_typelibs ( VALUE  self)
static
static VALUE foletypelib_version ( VALUE  self)
static
static VALUE foletypelib_visible ( VALUE  self)
static
static VALUE folevariable_inspect ( VALUE  self)
static

Definition at line 6508 of file win32ole.c.

References make_inspect(), rb_funcall(), rb_intern, rb_str_cat2(), and rb_str_concat().

Referenced by Init_win32ole().

static VALUE folevariable_name ( VALUE  self)
static

Definition at line 6233 of file win32ole.c.

References rb_intern, and rb_ivar_get().

Referenced by Init_win32ole().

static VALUE folevariable_ole_type ( VALUE  self)
static
static VALUE folevariable_ole_type_detail ( VALUE  self)
static
static VALUE folevariable_value ( VALUE  self)
static
static VALUE folevariable_variable_kind ( VALUE  self)
static
static VALUE folevariable_varkind ( VALUE  self)
static
static VALUE folevariable_visible ( VALUE  self)
static
static VALUE folevariant_ary_aref ( int  argc,
VALUE argv,
VALUE  self 
)
static
static VALUE folevariant_ary_aset ( int  argc,
VALUE argv,
VALUE  self 
)
static
static VALUE folevariant_initialize ( VALUE  self,
VALUE  args 
)
static
static VALUE folevariant_s_allocate ( VALUE  klass)
static
static VALUE folevariant_s_array ( VALUE  klass,
VALUE  dims,
VALUE  vvt 
)
static
static VALUE folevariant_set_value ( VALUE  self,
VALUE  val 
)
static
static VALUE folevariant_value ( VALUE  self)
static
static VALUE folevariant_vartype ( VALUE  self)
static

Definition at line 9028 of file win32ole.c.

References Data_Get_Struct, INT2FIX, and olevariantdata::var.

Referenced by Init_win32ole().

for ( )

Definition at line 780 of file win32ole.c.

References i, and ole_variant2val().

Referenced by glob_helper().

free ( psz  )

Referenced by ary_new_dim(), cmdglob(), do_spawn(), EVENTSINK_Destructor(), fgdbm_clear(), fgdbm_empty_p(), fgdbm_length(), fgdbm_values(), filename_completion_proc_call(), find_iid(), fitpair(), folevariant_ary_aref(), folevariant_ary_aset(), folevariant_s_array(), free_invoke_arguments(), free_stack_chunks(), free_unused_heaps(), freeaddrinfo(), get_addr(), get_name(), getaddrinfo(), init_heap(), Init_readline(), ip_invoke_core(), ip_ruby_cmd_receiver_const_get(), link(), mSyslog_close(), nsdr(), ole_const_load(), ole_event_free(), ole_excepinfo2msg(), ole_free(), ole_val_ary2variant_ary(), ole_variant2val(), ole_wc2vstr(), olemethod_free(), oleparam_free(), oletype_free(), oletypelib_free(), olevariable_free(), olevariant_free(), open_ifs_socket(), rb_gdbm_fetch(), rb_gdbm_firstkey(), rb_gdbm_nextkey(), rb_objspace_free(), rb_remove_history(), rb_vm_bugreport(), rb_w32_aspawn_flags(), rb_w32_closedir(), rb_w32_cmdvector(), rb_w32_free_environ(), rb_w32_getcwd(), rb_w32_mkdir(), rb_w32_open(), rb_w32_opendir(), rb_w32_rename(), rb_w32_rmdir(), rb_w32_spawn(), rb_w32_stati64(), rb_w32_uchdir(), rb_w32_uchmod(), rb_w32_ulink(), rb_w32_umkdir(), rb_w32_unlink(), rb_w32_uopen(), rb_w32_uopendir(), rb_w32_urename(), rb_w32_urmdir(), rb_w32_ustati64(), rb_w32_utime(), rb_w32_uunlink(), rb_w32_uutime(), readdir_internal(), readline_readline(), reg_get_val(), ruby_setenv(), sdbm_close(), sdbm_open(), sdbm_prep(), shrink_stack_chunk_cache(), sip_hash_free(), slot_sweep(), st_cleanup_safe(), st_clear(), st_copy(), st_delete(), st_foreach(), st_free_table(), st_shift(), subst_free(), syck_emit(), syck_emit_indent(), syck_emitter_pop_level(), syck_parser_pop_level(), sycklex_bytecode_utf8(), sycklex_yaml_utf8(), tcl_eval(), tcl_global_eval(), thread_free(), username_completion_proc_call(), and vm_xfree().

static void free_enc2cp ( )
static

Definition at line 9071 of file win32ole.c.

References st_free_table.

Referenced by Init_win32ole().

static SAFEARRAY * get_locked_safe_array ( VALUE  val)
static
static void * get_ptr_of_variant ( VARIANT *  pvar)
static

Definition at line 1396 of file win32ole.c.

References NULL, V_INT, and V_UINT.

Referenced by val2variant_ptr().

static VALUE hash2named_arg ( VALUE  pair,
struct oleparam pOp 
)
static
static void hash2ptr_dispparams ( VALUE  hash,
ITypeInfo *  pTypeInfo,
DISPID  dispid,
DISPPARAMS *  pdispparams 
)
static

Definition at line 7732 of file win32ole.c.

References ALLOCA_N, HRESULT(), i, INT2FIX, key, len, ole_val2ptr_variant(), Qnil, rb_hash_aref(), rb_str_intern(), and WC2VSTR.

Referenced by EVENTSINK_Invoke().

static VALUE hash2result ( VALUE  hash)
static

Definition at line 7761 of file win32ole.c.

References Qnil, rb_hash_aref(), rb_str_intern(), and rb_str_new2().

Referenced by EVENTSINK_Invoke().

typedef HRESULT ( STDAPICALLTYPE  FNCOCREATEINSTANCEEX)

Referenced by clsid_from_remote(), ev_advise(), EVENTSINK_Invoke(), find_coclass(), find_default_source(), find_default_source_from_typeinfo(), find_iid(), fole_activex_initialize(), fole_each(), fole_initialize(), fole_method_help(), fole_query_interface(), fole_respond_to(), fole_s_connect(), fole_s_const_load(), fole_s_create_guid(), fole_type(), fole_typelib(), folemethod_event_interface(), foletype_initialize(), foletypelib_initialize(), foletypelib_library_name(), foletypelib_name(), foletypelib_path(), foletypelib_s_typelibs(), folevariant_ary_aref(), folevariant_ary_aset(), get_locked_safe_array(), hash2ptr_dispparams(), ole_bind_obj(), ole_const_load(), ole_create_dcom(), ole_docinfo_from_type(), ole_initialize(), ole_invoke(), ole_invoke2(), ole_mb2wc(), ole_method_dispid(), ole_method_docinfo_from_type(), ole_method_event(), ole_method_helpcontext(), ole_method_helpfile(), ole_method_helpstring(), ole_method_invkind(), ole_method_offset_vtbl(), ole_method_params(), ole_method_return_type(), ole_method_return_type_detail(), ole_method_return_vtype(), ole_method_size_opt_params(), ole_method_size_params(), ole_method_sub(), ole_method_visible(), ole_methods(), ole_methods_from_typeinfo(), ole_methods_sub(), ole_ole_type(), ole_param_default(), ole_param_flag_mask(), ole_param_ole_type(), ole_param_ole_type_detail(), ole_propertyput(), ole_pure_initialize(), ole_set_safe_array(), ole_type_from_itypeinfo(), ole_type_guid(), ole_type_helpcontext(), ole_type_helpfile(), ole_type_helpstring(), ole_type_impl_ole_types(), ole_type_major_version(), ole_type_minor_version(), ole_type_progid(), ole_type_src_type(), ole_type_typekind(), ole_type_visible(), ole_typelib_from_itypeinfo(), ole_types_from_typelib(), ole_usertype2val(), ole_val2olevariantdata(), ole_val_ary2variant_ary(), ole_variable_kind(), ole_variable_ole_type(), ole_variable_ole_type_detail(), ole_variable_value(), ole_variable_varkind(), ole_variable_visible(), ole_variables(), ole_variant2val(), ole_vstr2wc(), ole_wc2mb(), oleclass_from_typelib(), olemethod_from_typeinfo(), oleparam_ole_param_from_index(), oletypelib_from_guid(), oletypelib_get_libattr(), oletypelib_search_registry(), oletypelib_search_registry2(), typeinfo_from_ole(), unlock_safe_array(), and val2variant_ptr().

static HRESULT ( STDMETHODCALLTYPE  QueryInterface)
static
if ( dispIdMember  = = DISPID_VALUE)

Definition at line 783 of file win32ole.c.

References rb_intern.

static void init_enc2cp ( )
static

Definition at line 9065 of file win32ole.c.

References st_init_numtable.

Referenced by Init_win32ole().

void Init_win32ole ( )

Definition at line 9077 of file win32ole.c.

References ary_ole_event, com_hash, com_vtbl, cWIN32OLE, cWIN32OLE_EVENT, cWIN32OLE_METHOD, cWIN32OLE_PARAM, cWIN32OLE_TYPE, cWIN32OLE_TYPELIB, cWIN32OLE_VARIABLE, cWIN32OLE_VARIANT, Data_Wrap_Struct, eWIN32OLERuntimeError, fev_get_handler(), fev_initialize(), fev_off_event(), fev_on_event(), fev_on_event_with_outargs(), fev_s_allocate(), fev_s_msg_loop(), fev_set_handler(), fev_unadvise(), fole_activex_initialize(), fole_each(), fole_free(), fole_func_methods(), fole_get_methods(), fole_getproperty2(), fole_getproperty_with_bracket(), fole_initialize(), fole_invoke(), fole_invoke2(), fole_method_help(), fole_methods(), fole_missing(), fole_put_methods(), fole_query_interface(), fole_respond_to(), fole_s_allocate(), fole_s_connect(), fole_s_const_load(), fole_s_create_guid(), fole_s_free(), fole_s_get_code_page(), fole_s_get_locale(), fole_s_ole_initialize(), fole_s_ole_uninitialize(), fole_s_reference_count(), fole_s_set_code_page(), fole_s_set_locale(), fole_s_show_help(), fole_setproperty(), fole_setproperty2(), fole_setproperty_with_bracket(), fole_type(), fole_typelib(), folemethod_dispid(), folemethod_event(), folemethod_event_interface(), folemethod_helpcontext(), folemethod_helpfile(), folemethod_helpstring(), folemethod_initialize(), folemethod_inspect(), folemethod_invkind(), folemethod_invoke_kind(), folemethod_name(), folemethod_offset_vtbl(), folemethod_params(), folemethod_return_type(), folemethod_return_type_detail(), folemethod_return_vtype(), folemethod_s_allocate(), folemethod_size_opt_params(), folemethod_size_params(), folemethod_visible(), foleparam_default(), foleparam_initialize(), foleparam_input(), foleparam_inspect(), foleparam_name(), foleparam_ole_type(), foleparam_ole_type_detail(), foleparam_optional(), foleparam_output(), foleparam_retval(), foleparam_s_allocate(), foletype_default_event_sources(), foletype_default_ole_types(), foletype_guid(), foletype_helpcontext(), foletype_helpfile(), foletype_helpstring(), foletype_impl_ole_types(), foletype_initialize(), foletype_inspect(), foletype_major_version(), foletype_methods(), foletype_minor_version(), foletype_name(), foletype_ole_type(), foletype_ole_typelib(), foletype_progid(), foletype_s_allocate(), foletype_s_ole_classes(), foletype_s_progids(), foletype_s_typelibs(), foletype_source_ole_types(), foletype_src_type(), foletype_typekind(), foletype_variables(), foletype_visible(), foletypelib_guid(), foletypelib_initialize(), foletypelib_inspect(), foletypelib_library_name(), foletypelib_major_version(), foletypelib_minor_version(), foletypelib_name(), foletypelib_ole_types(), foletypelib_path(), foletypelib_s_allocate(), foletypelib_s_typelibs(), foletypelib_version(), foletypelib_visible(), folevariable_inspect(), folevariable_name(), folevariable_ole_type(), folevariable_ole_type_detail(), folevariable_value(), folevariable_variable_kind(), folevariable_varkind(), folevariable_visible(), folevariant_ary_aref(), folevariant_ary_aset(), folevariant_initialize(), folevariant_s_allocate(), folevariant_s_array(), folevariant_set_value(), folevariant_value(), folevariant_vartype(), free_enc2cp(), id_events, init_enc2cp(), INT2FIX, message_filter, mWIN32OLE_VARIANT, ole_init_cp(), Qnil, rb_ary_new(), rb_cData, rb_cObject, rb_define_alias(), rb_define_alloc_func(), rb_define_class(), rb_define_const(), rb_define_method(), rb_define_module_under(), rb_define_singleton_method(), rb_eRuntimeError, rb_funcall(), rb_gc_register_mark_object(), rb_intern, rb_mark_hash(), rb_str_new2(), st_free_table, st_init_numtable, and WIN32OLE_VERSION.

static BOOL CALLBACK installed_code_page_proc ( LPTSTR  str)
static

Definition at line 3001 of file win32ole.c.

References FALSE, g_cp_installed, g_cp_to_check, NULL, and TRUE.

Referenced by code_page_installed().

static BOOL CALLBACK installed_lcid_proc ( LPTSTR  str)
static

Definition at line 3058 of file win32ole.c.

References FALSE, g_lcid_installed, g_lcid_to_check, and TRUE.

Referenced by lcid_installed().

static VALUE is_all_index_under ( long pid,
long pub,
long  dim 
)
static

Definition at line 1465 of file win32ole.c.

References Qfalse, and Qtrue.

Referenced by ole_set_safe_array().

static BOOL lcid_installed ( LCID  lcid)
static

Definition at line 3068 of file win32ole.c.

References FALSE, g_lcid_installed, g_lcid_to_check, installed_lcid_proc(), and snprintf.

Referenced by fole_s_set_locale().

static VALUE make_inspect ( const char *  class_name,
VALUE  detail 
)
static

Definition at line 1972 of file win32ole.c.

References rb_str_cat2(), rb_str_concat(), and rb_str_new2().

Referenced by default_inspect(), foleparam_inspect(), and folevariable_inspect().

static VALUE make_version_str ( VALUE  major,
VALUE  minor 
)
static

Definition at line 5013 of file win32ole.c.

References Qnil, rb_str_append(), rb_str_cat2(), and rb_String().

Referenced by foletypelib_version(), and oletypelib_search_registry2().

NORETURN ( static void   failed_load_conv51932void)
static VALUE ole_ary_m_entry ( VALUE  val,
long pid 
)
static

Definition at line 1383 of file win32ole.c.

References Qnil, rb_ary_entry(), T_ARRAY, and TYPE.

Referenced by ole_set_safe_array().

static VALUE ole_bind_obj ( VALUE  moniker,
int  argc,
VALUE argv,
VALUE  self 
)
static
static void ole_const_load ( ITypeLib *  pTypeLib,
VALUE  klass,
VALUE  self 
)
static
static rb_encoding * ole_cp2encoding ( UINT  cp)
static
static VALUE ole_create_dcom ( int  argc,
VALUE argv,
VALUE  self 
)
static
static void ole_delete_event ( VALUE  ary,
VALUE  ev 
)
static

Definition at line 7722 of file win32ole.c.

References ole_search_event_at(), and rb_ary_delete_at().

Referenced by add_event_call_back(), and fev_off_event().

static HRESULT ole_docinfo_from_type ( ITypeInfo *  pTypeInfo,
BSTR *  name,
BSTR *  helpstr,
DWORD helpcontext,
BSTR *  helpfile 
)
static
static VALUE ole_each_sub ( VALUE  pEnumV)
static

Definition at line 3966 of file win32ole.c.

References NULL, ole_variant2val(), Qnil, rb_yield(), and S_OK.

Referenced by fole_each().

static UINT ole_encoding2cp ( rb_encoding enc)
static

Definition at line 855 of file win32ole.c.

References ENC_MACHING_CP.

Referenced by ole_init_cp(), and ole_vstr2wc().

static void ole_event_free ( struct oleeventdata poleev)
static

Definition at line 8257 of file win32ole.c.

References oleeventdata::dwCookie, free(), NULL, OLE_RELEASE, and oleeventdata::pConnectionPoint.

Referenced by fev_s_allocate().

static VALUE ole_excepinfo2msg ( EXCEPINFO *  pExInfo)
static
static void ole_free ( struct oledata pole)
static

Definition at line 1245 of file win32ole.c.

References free(), OLE_FREE, and oledata::pDispatch.

Referenced by fole_s_allocate().

static void ole_freeexceptinfo ( EXCEPINFO *  pExInfo)
static

Definition at line 1135 of file win32ole.c.

Referenced by ole_excepinfo2msg(), and ole_invoke().

static VALUE ole_hresult2msg ( HRESULT  hr)
static

Definition at line 1095 of file win32ole.c.

References cWIN32OLE_lcid, msg, NULL, Qnil, rb_str_cat2(), rb_str_new2(), and strlen().

Referenced by ole_raise().

static VALUE ole_ienum_free ( VALUE  pEnumV)
static

Definition at line 3982 of file win32ole.c.

References OLE_RELEASE, and Qnil.

Referenced by fole_each().

static UINT ole_init_cp ( void  )
static
static void ole_initialize ( )
static
static VALUE ole_invoke ( int  argc,
VALUE argv,
VALUE  self,
USHORT  wFlags,
BOOL  is_bracket 
)
static
static VALUE ole_invoke2 ( VALUE  self,
VALUE  dispid,
VALUE  args,
VALUE  types,
USHORT  dispkind 
)
static
static LPWSTR ole_mb2wc ( char *  pm,
int  len 
)
static
static VALUE ole_method_dispid ( ITypeInfo *  pTypeInfo,
UINT  method_index 
)
static

Definition at line 7034 of file win32ole.c.

References HRESULT(), INT2NUM(), and Qnil.

Referenced by folemethod_dispid().

static VALUE ole_method_docinfo_from_type ( ITypeInfo *  pTypeInfo,
UINT  method_index,
BSTR *  name,
BSTR *  helpstr,
DWORD helpcontext,
BSTR *  helpfile 
)
static

Definition at line 6921 of file win32ole.c.

References HRESULT().

Referenced by ole_method_helpcontext(), ole_method_helpfile(), and ole_method_helpstring().

static VALUE ole_method_event ( ITypeInfo *  pTypeInfo,
UINT  method_index,
VALUE  method_name 
)
static
static VALUE ole_method_helpcontext ( ITypeInfo *  pTypeInfo,
UINT  method_index 
)
static

Definition at line 7005 of file win32ole.c.

References HRESULT(), INT2FIX, NULL, ole_method_docinfo_from_type(), and Qnil.

Referenced by folemethod_helpcontext().

static VALUE ole_method_helpfile ( ITypeInfo *  pTypeInfo,
UINT  method_index 
)
static

Definition at line 6974 of file win32ole.c.

References HRESULT(), NULL, ole_method_docinfo_from_type(), Qnil, and WC2VSTR.

Referenced by folemethod_helpfile().

static VALUE ole_method_helpstring ( ITypeInfo *  pTypeInfo,
UINT  method_index 
)
static

Definition at line 6943 of file win32ole.c.

References HRESULT(), NULL, ole_method_docinfo_from_type(), Qnil, and WC2VSTR.

Referenced by folemethod_helpstring().

static VALUE ole_method_invkind ( ITypeInfo *  pTypeInfo,
UINT  method_index 
)
static

Definition at line 6703 of file win32ole.c.

References eWIN32OLERuntimeError, HRESULT(), INT2FIX, and ole_raise().

Referenced by folemethod_invkind(), and ole_method_invoke_kind().

static VALUE ole_method_invoke_kind ( ITypeInfo *  pTypeInfo,
UINT  method_index 
)
static

Definition at line 6717 of file win32ole.c.

References FIX2INT, ole_method_invkind(), rb_str_new2(), and type.

Referenced by folemethod_invoke_kind().

static VALUE ole_method_offset_vtbl ( ITypeInfo *  pTypeInfo,
UINT  method_index 
)
static

Definition at line 7065 of file win32ole.c.

References HRESULT(), INT2FIX, and Qnil.

Referenced by folemethod_offset_vtbl().

static VALUE ole_method_params ( ITypeInfo *  pTypeInfo,
UINT  method_index 
)
static
static VALUE ole_method_return_type ( ITypeInfo *  pTypeInfo,
UINT  method_index 
)
static

Definition at line 6601 of file win32ole.c.

References eWIN32OLERuntimeError, HRESULT(), ole_raise(), ole_typedesc2val(), Qnil, and type.

Referenced by folemethod_return_type().

static VALUE ole_method_return_type_detail ( ITypeInfo *  pTypeInfo,
UINT  method_index 
)
static

Definition at line 6669 of file win32ole.c.

References HRESULT(), ole_typedesc2val(), rb_ary_new(), and type.

Referenced by folemethod_return_type_detail().

static VALUE ole_method_return_vtype ( ITypeInfo *  pTypeInfo,
UINT  method_index 
)
static

Definition at line 6635 of file win32ole.c.

References eWIN32OLERuntimeError, HRESULT(), INT2FIX, and ole_raise().

Referenced by folemethod_return_vtype().

static VALUE ole_method_size_opt_params ( ITypeInfo *  pTypeInfo,
UINT  method_index 
)
static

Definition at line 7128 of file win32ole.c.

References HRESULT(), INT2FIX, and Qnil.

Referenced by folemethod_size_opt_params().

static VALUE ole_method_size_params ( ITypeInfo *  pTypeInfo,
UINT  method_index 
)
static

Definition at line 7096 of file win32ole.c.

References HRESULT(), INT2FIX, and Qnil.

Referenced by folemethod_size_params().

static VALUE ole_method_sub ( VALUE  self,
ITypeInfo *  pOwnerTypeInfo,
ITypeInfo *  pTypeInfo,
VALUE  name 
)
static
static VALUE ole_method_visible ( ITypeInfo *  pTypeInfo,
UINT  method_index 
)
static

Definition at line 6774 of file win32ole.c.

References HRESULT(), Qfalse, and Qtrue.

Referenced by folemethod_visible().

static VALUE ole_methods ( VALUE  self,
int  mask 
)
static
static VALUE ole_methods_from_typeinfo ( ITypeInfo *  pTypeInfo,
int  mask 
)
static
static VALUE ole_methods_sub ( ITypeInfo *  pOwnerTypeInfo,
ITypeInfo *  pTypeInfo,
VALUE  methods,
int  mask 
)
static
static void ole_msg_loop ( )
static

Definition at line 1236 of file win32ole.c.

References msg, and NULL.

Referenced by fev_s_msg_loop(), and fev_unadvise().

static VALUE ole_ole_type ( ITypeInfo *  pTypeInfo)
static

Definition at line 5594 of file win32ole.c.

References HRESULT(), OLE_GET_TYPEATTR, OLE_RELEASE_TYPEATTR, Qnil, rb_str_new2(), and type.

Referenced by foletype_ole_type().

static VALUE ole_param_default ( ITypeInfo *  pTypeInfo,
UINT  method_index,
UINT  index 
)
static

Definition at line 7489 of file win32ole.c.

References HRESULT(), oleparamdata::index, ole_variant2val(), Qnil, and V_UNION1.

Referenced by foleparam_default().

static VALUE ole_param_flag_mask ( ITypeInfo *  pTypeInfo,
UINT  method_index,
UINT  index,
USHORT  mask 
)
static

Definition at line 7392 of file win32ole.c.

References HRESULT(), Qfalse, Qtrue, and V_UNION1.

Referenced by foleparam_input(), foleparam_optional(), foleparam_output(), and foleparam_retval().

static VALUE ole_param_ole_type ( ITypeInfo *  pTypeInfo,
UINT  method_index,
UINT  index 
)
static

Definition at line 7324 of file win32ole.c.

References HRESULT(), ole_typedesc2val(), Qnil, rb_str_new2(), and type.

Referenced by foleparam_ole_type().

static VALUE ole_param_ole_type_detail ( ITypeInfo *  pTypeInfo,
UINT  method_index,
UINT  index 
)
static

Definition at line 7358 of file win32ole.c.

References HRESULT(), ole_typedesc2val(), and rb_ary_new().

Referenced by foleparam_ole_type_detail().

static VALUE ole_propertyput ( VALUE  self,
VALUE  property,
VALUE  value 
)
static
static VALUE ole_ptrtype2val ( ITypeInfo *  pTypeInfo,
TYPEDESC *  pTypeDesc,
VALUE  typedetails 
)
static

Definition at line 4585 of file win32ole.c.

References ole_typedesc2val(), rb_str_new2(), type, and V_UNION1.

Referenced by ole_typedesc2val().

static void ole_pure_initialize ( )
static

Definition at line 3136 of file win32ole.c.

References HRESULT(), NULL, ole_raise(), and rb_eRuntimeError.

Referenced by fole_s_ole_initialize().

static void ole_pure_uninitialize ( )
static

Definition at line 3145 of file win32ole.c.

Referenced by fole_s_ole_uninitialize().

static void ole_raise ( HRESULT  hr,
VALUE  ecs,
const char *  fmt,
  ... 
)
static
static VALUE ole_search_event ( VALUE  ary,
VALUE  ev,
BOOL *  is_default 
)
static

Definition at line 7680 of file win32ole.c.

References FALSE, i, len, NIL_P, Qnil, RARRAY_LEN, rb_ary_entry(), rb_str_cmp(), and TRUE.

Referenced by EVENTSINK_Invoke().

static long ole_search_event_at ( VALUE  ary,
VALUE  ev 
)
static

Definition at line 7653 of file win32ole.c.

References i, len, NIL_P, Qnil, RARRAY_LEN, rb_ary_entry(), rb_str_cmp(), T_STRING, and TYPE.

Referenced by ole_delete_event().

static VALUE ole_search_handler_method ( VALUE  handler,
VALUE  ev,
BOOL *  is_default_handler 
)
static

Definition at line 7704 of file win32ole.c.

References FALSE, Qnil, rb_intern, rb_respond_to(), rb_sprintf(), rb_to_id(), StringValuePtr, and TRUE.

Referenced by EVENTSINK_Invoke().

static void ole_set_byref ( VARIANT *  realvar,
VARIANT *  var,
VARTYPE  vt 
)
static
static VALUE ole_set_member ( VALUE  self,
IDispatch *  dispatch 
)
static
static void ole_set_safe_array ( long  n,
SAFEARRAY *  psa,
long pid,
long pub,
VALUE  val,
long  dim,
VARTYPE  vt 
)
static
static HWND ole_show_help ( VALUE  helpfile,
VALUE  helpcontext 
)
static

Definition at line 2924 of file win32ole.c.

References ghhctrl, NUM2INT, and StringValuePtr.

Referenced by fole_s_show_help().

static VALUE ole_type_from_itypeinfo ( ITypeInfo *  pTypeInfo)
static
static VALUE ole_type_guid ( ITypeInfo *  pTypeInfo)
static

Definition at line 5656 of file win32ole.c.

References FALSE, HRESULT(), len, OLE_GET_TYPEATTR, OLE_RELEASE_TYPEATTR, ole_wc2vstr(), and Qnil.

Referenced by foletype_guid().

static VALUE ole_type_helpcontext ( ITypeInfo *  pTypeInfo)
static

Definition at line 5944 of file win32ole.c.

References HRESULT(), INT2FIX, NULL, ole_docinfo_from_type(), and Qnil.

Referenced by foletype_helpcontext().

static VALUE ole_type_helpfile ( ITypeInfo *  pTypeInfo)
static

Definition at line 5915 of file win32ole.c.

References HRESULT(), NULL, ole_docinfo_from_type(), Qnil, and WC2VSTR.

Referenced by foletype_helpfile().

static VALUE ole_type_helpstring ( ITypeInfo *  pTypeInfo)
static

Definition at line 5852 of file win32ole.c.

References HRESULT(), NULL, ole_docinfo_from_type(), Qnil, and WC2VSTR.

Referenced by foletype_helpstring().

static VALUE ole_type_impl_ole_types ( ITypeInfo *  pTypeInfo,
int  implflags 
)
static
static VALUE ole_type_major_version ( ITypeInfo *  pTypeInfo)
static
static VALUE ole_type_minor_version ( ITypeInfo *  pTypeInfo)
static
static VALUE ole_type_progid ( ITypeInfo *  pTypeInfo)
static

Definition at line 5691 of file win32ole.c.

References FALSE, HRESULT(), OLE_GET_TYPEATTR, OLE_RELEASE_TYPEATTR, ole_wc2vstr(), and Qnil.

Referenced by foletype_progid().

static VALUE ole_type_src_type ( ITypeInfo *  pTypeInfo)
static

Definition at line 5880 of file win32ole.c.

References alias, HRESULT(), OLE_GET_TYPEATTR, OLE_RELEASE_TYPEATTR, ole_typedesc2val(), and Qnil.

Referenced by foletype_src_type().

static VALUE ole_type_typekind ( ITypeInfo *  pTypeInfo)
static
static VALUE ole_type_visible ( ITypeInfo *  pTypeInfo)
static

Definition at line 5727 of file win32ole.c.

References HRESULT(), OLE_GET_TYPEATTR, OLE_RELEASE_TYPEATTR, Qfalse, and Qtrue.

Referenced by foletype_visible().

static VALUE ole_typedesc2val ( ITypeInfo *  pTypeInfo,
TYPEDESC *  pTypeDesc,
VALUE  typedetails 
)
static
static VALUE ole_typelib_from_itypeinfo ( ITypeInfo *  pTypeInfo)
static
static VALUE ole_types_from_typelib ( ITypeLib *  pTypeLib,
VALUE  classes 
)
static
void ole_uninitialize ( )

Definition at line 1204 of file win32ole.c.

References FALSE, and g_ole_initialized.

static VALUE ole_usertype2val ( ITypeInfo *  pTypeInfo,
TYPEDESC *  pTypeDesc,
VALUE  typedetails 
)
static

Definition at line 4560 of file win32ole.c.

References HRESULT(), NULL, ole_docinfo_from_type(), OLE_RELEASE, Qnil, rb_ary_push(), type, V_UNION1, and WC2VSTR.

Referenced by ole_typedesc2val().

static void ole_val2olevariantdata ( VALUE  val,
VARTYPE  vt,
struct olevariantdata pvar 
)
static
static void ole_val2ptr_variant ( VALUE  val,
VARIANT *  var 
)
static
static void ole_val2variant ( VALUE  val,
VARIANT *  var 
)
static
ole_val2variant ( v  ,
pVarResult   
)
static void ole_val2variant2 ( VALUE  val,
VARIANT *  var 
)
static

Definition at line 1964 of file win32ole.c.

References g_nil_to, and ole_val2variant().

Referenced by ole_invoke(), and ole_val2variant_ex().

static void ole_val2variant_ex ( VALUE  val,
VARIANT *  var,
VARTYPE  vt 
)
static

Definition at line 1681 of file win32ole.c.

References NULL, NUM2I8, NUM2UI8, ole_val2variant2(), and Qnil.

Referenced by ole_val2olevariantdata(), and val2variant_ptr().

static HRESULT ole_val_ary2variant_ary ( VALUE  val,
VARIANT *  var,
VARTYPE  vt 
)
static
static VALUE ole_variable_kind ( ITypeInfo *  pTypeInfo,
UINT  var_index 
)
static

Definition at line 6405 of file win32ole.c.

References HRESULT(), and rb_str_new2().

Referenced by folevariable_variable_kind().

static VALUE ole_variable_ole_type ( ITypeInfo *  pTypeInfo,
UINT  var_index 
)
static

Definition at line 6239 of file win32ole.c.

References eWIN32OLERuntimeError, HRESULT(), ole_raise(), ole_typedesc2val(), Qnil, and type.

Referenced by folevariable_ole_type().

static VALUE ole_variable_ole_type_detail ( ITypeInfo *  pTypeInfo,
UINT  var_index 
)
static
static VALUE ole_variable_value ( ITypeInfo *  pTypeInfo,
UINT  var_index 
)
static

Definition at line 6315 of file win32ole.c.

References HRESULT(), ole_variant2val(), Qnil, and V_UNION1.

Referenced by folevariable_value().

static VALUE ole_variable_varkind ( ITypeInfo *  pTypeInfo,
UINT  var_index 
)
static

Definition at line 6461 of file win32ole.c.

References HRESULT(), INT2FIX, and Qnil.

Referenced by folevariable_varkind().

static VALUE ole_variable_visible ( ITypeInfo *  pTypeInfo,
UINT  var_index 
)
static

Definition at line 6359 of file win32ole.c.

References HRESULT(), Qfalse, and Qtrue.

Referenced by folevariable_visible().

static VALUE ole_variables ( ITypeInfo *  pTypeInfo)
static
static VALUE ole_variant2val ( VARIANT *  pvar)
static
static LPWSTR ole_vstr2wc ( VALUE  vstr)
static
static char * ole_wc2mb ( LPWSTR  pw)
static
static VALUE ole_wc2vstr ( LPWSTR  pw,
BOOL  isfree 
)
static
static VALUE oleclass_from_typelib ( VALUE  self,
ITypeLib *  pTypeLib,
VALUE  oleclass 
)
static
static void olemethod_free ( struct olemethoddata polemethod)
static

Definition at line 1266 of file win32ole.c.

References free(), OLE_FREE, olemethoddata::pOwnerTypeInfo, and olemethoddata::pTypeInfo.

Referenced by folemethod_s_allocate().

static VALUE olemethod_from_typeinfo ( VALUE  self,
ITypeInfo *  pTypeInfo,
VALUE  name 
)
static
static VALUE olemethod_set_member ( VALUE  self,
ITypeInfo *  pTypeInfo,
ITypeInfo *  pOwnerTypeInfo,
int  index,
VALUE  name 
)
static
static void oleparam_free ( struct oleparamdata pole)
static

Definition at line 1281 of file win32ole.c.

References free(), OLE_FREE, and oleparamdata::pTypeInfo.

Referenced by foleparam_s_allocate(), and ole_method_params().

static VALUE oleparam_ole_param ( VALUE  self,
VALUE  olemethod,
int  n 
)
static
static VALUE oleparam_ole_param_from_index ( VALUE  self,
ITypeInfo *  pTypeInfo,
UINT  method_index,
int  param_index 
)
static
static void oletype_free ( struct oletypedata poletype)
static

Definition at line 1259 of file win32ole.c.

References free(), OLE_FREE, and oletypedata::pTypeInfo.

Referenced by foletype_s_allocate().

static VALUE oletype_set_member ( VALUE  self,
ITypeInfo *  pTypeInfo,
VALUE  name 
)
static
static void oletypelib_free ( struct oletypelibdata poletypelib)
static

Definition at line 1252 of file win32ole.c.

References free(), OLE_FREE, and oletypelibdata::pTypeLib.

Referenced by foletypelib_s_allocate().

static HRESULT oletypelib_from_guid ( VALUE  guid,
VALUE  version,
ITypeLib **  ppTypeLib 
)
static
static void oletypelib_get_libattr ( ITypeLib *  pTypeLib,
TLIBATTR **  ppTLibAttr 
)
static
static ITypeLib * oletypelib_get_typelib ( VALUE  self)
static
static VALUE oletypelib_path ( VALUE  guid,
VALUE  version 
)
static
static VALUE oletypelib_search_registry ( VALUE  self,
VALUE  typelib 
)
static
static VALUE oletypelib_search_registry2 ( VALUE  self,
VALUE  args 
)
static
static VALUE oletypelib_set_member ( VALUE  self,
ITypeLib *  pTypeLib 
)
static
static void olevariable_free ( struct olevariabledata polevar)
static

Definition at line 1274 of file win32ole.c.

References free(), OLE_FREE, and olevariabledata::pTypeInfo.

Referenced by ole_variables().

static void olevariant_free ( struct olevariantdata pvar)
static

Definition at line 8637 of file win32ole.c.

References free(), olevariantdata::realvar, and olevariantdata::var.

Referenced by folevariant_s_allocate().

static double rbtime2vtdate ( VALUE  tmobj)
static

Definition at line 817 of file win32ole.c.

References FIX2INT, rb_funcall(), and rb_intern.

Referenced by ole_val2variant().

static ULONG reference_count ( struct oledata pole)
static

Definition at line 2874 of file win32ole.c.

References OLE_ADDREF, OLE_RELEASE, oledata::pDispatch, and ULONG().

Referenced by fole_s_free(), and fole_s_reference_count().

static VALUE reg_enum_key ( HKEY  hkey,
DWORD  i 
)
static
static VALUE reg_get_typelib_file_path ( HKEY  hkey)
static

Definition at line 2380 of file win32ole.c.

References Qnil, and reg_get_val2().

Referenced by oletypelib_path(), and typelib_file_from_typelib().

static VALUE reg_get_val ( HKEY  hkey,
const char *  subkey 
)
static
static VALUE reg_get_val2 ( HKEY  hkey,
const char *  subkey 
)
static
static LONG reg_open_key ( HKEY  hkey,
const char *  name,
HKEY *  phkey 
)
static
static LONG reg_open_vkey ( HKEY  hkey,
VALUE  key,
HKEY *  phkey 
)
static
static VALUE rescue_callback ( VALUE  arg)
static
static VALUE set_argv ( VARIANTARG *  realargs,
unsigned int  beg,
unsigned int  end 
)
static
static void set_ole_codepage ( UINT  cp)
static
STDMETHODIMP_ ( ULONG  )

Definition at line 7606 of file win32ole.c.

References EVENTSINK_Destructor(), and tagIEVENTSINKOBJ::m_cRef.

static HRESULT typeinfo_from_ole ( struct oledata pole,
ITypeInfo **  ppti 
)
static
static VALUE typelib_file ( VALUE  ole)
static

Definition at line 2482 of file win32ole.c.

References Qnil, typelib_file_from_clsid(), and typelib_file_from_typelib().

Referenced by fole_s_const_load(), and foletype_initialize().

static VALUE typelib_file_from_clsid ( VALUE  ole)
static

Definition at line 2396 of file win32ole.c.

References err, Qnil, rb_str_new2(), reg_get_val2(), reg_open_key(), and StringValuePtr.

Referenced by typelib_file().

static VALUE typelib_file_from_typelib ( VALUE  ole)
static
static ULONG ( STDMETHODCALLTYPE  AddRef)
static
static void unlock_safe_array ( SAFEARRAY *  psa)
static

Definition at line 8830 of file win32ole.c.

References HRESULT(), ole_raise(), and rb_eRuntimeError.

Referenced by folevariant_ary_aref(), and folevariant_ary_aset().

static IDispatch * val2dispatch ( VALUE  val)
static
static VOID * val2variant_ptr ( VALUE  val,
VARIANT *  var,
VARTYPE  vt 
)
static
static VALUE vtdate2rbtime ( double  date)
static

Definition at line 834 of file win32ole.c.

References INT2FIX, rb_cTime, rb_float_new(), rb_funcall(), rb_intern, and v.

Referenced by ole_variant2val().

Variable Documentation

int args = pDispParams->cArgs

Definition at line 777 of file win32ole.c.

Referenced by ary2sv(), ary_join_1(), assoc_i(), bind_eval(), bmcall(), check_funcall(), chown_internal(), console_dev(), copy_stream_body(), create_ip_exc(), cState_generate(), date_strftime_with_tmx(), deflate_run(), dvar_defined_gen(), enc_names(), enum_drop(), enum_drop_while(), enum_each_cons(), enum_each_slice(), enum_take(), enum_zip(), ev_on_event(), EVENTSINK_Invoke(), GetVpValueWithPrec(), glob_func_caller(), hash2kv(), hash2kv_enc(), iconv_fail(), inflate_run(), initialize(), int_ossl_asn1_decode0_cons(), int_ossl_asn1_decode0_prim(), interrupt_init(), ip_ruby_cmd(), iseq_compile_each(), iseq_data_to_ary(), iseq_load(), key_i(), local_id_gen(), make_curry_proc(), mark(), name_err_mesg_to_str(), next_ii(), nometh_err_initialize(), objspace_each_objects(), ole_raise(), onig_snprintf_with_pattern(), onig_syntax_warn(), open_key_args(), ossl_debug(), ossl_exc_new(), ossl_raise(), ossl_tmp_dh_callback(), ossl_x509name_initialize(), parse(), path_binread(), path_each_entry(), path_each_line(), path_open(), path_opendir(), path_read(), path_readlines(), path_s_glob(), path_sysopen(), pipe_open(), process_sflag(), protected_alias(), protected_end_document(), protected_scalar(), protected_start_document(), protected_start_mapping(), protected_start_sequence(), protected_start_stream(), raise_method_missing(), range_each(), range_init(), range_step(), rassoc_i(), rb_bug(), rb_compile_bug(), rb_compile_error(), rb_compile_error_append(), rb_compile_error_with_enc(), rb_compile_warn(), rb_compile_warning(), rb_deflate_s_deflate(), rb_fatal(), rb_fiber_start(), rb_glob_caller(), rb_hash_assoc(), rb_hash_key(), rb_hash_rassoc(), rb_inflate_s_inflate(), rb_io_s_pipe(), rb_iseq_parameters(), rb_loaderror(), rb_name_error(), rb_obj_methods(), rb_proc_exec_n(), rb_raise(), rb_reg_s_union(), rb_rescue2(), rb_str_upto(), rb_strftime_with_timespec(), rb_struct_new(), rb_sys_warning(), rb_warn(), rb_warning(), rb_yield_values(), run_finalizer(), run_single_final(), take_items(), thread_create_core(), warn_printf(), yyparse(), zip_ary(), and zip_i().

VALUE ary_ole_event
static

Definition at line 215 of file win32ole.c.

Referenced by evs_delete(), evs_entry(), evs_length(), evs_push(), and Init_win32ole().

static REFIID LPOLESTR __RPC_FAR UINT cNames

Definition at line 295 of file win32ole.c.

VALUE com_hash
static

Definition at line 223 of file win32ole.c.

Referenced by Init_win32ole(), and val2dispatch().

IDispatchVtbl com_vtbl
static

Definition at line 224 of file win32ole.c.

Referenced by Init_win32ole(), and val2dispatch().

VALUE cWIN32OLE
UINT cWIN32OLE_cp = CP_ACP
static

Definition at line 225 of file win32ole.c.

Referenced by fole_s_get_code_page(), ole_mb2wc(), ole_wc2mb(), and set_ole_codepage().

rb_encoding* cWIN32OLE_enc
static

Definition at line 227 of file win32ole.c.

VALUE cWIN32OLE_EVENT

Definition at line 209 of file win32ole.c.

Referenced by EVENTSINK_Invoke(), and Init_win32ole().

LCID cWIN32OLE_lcid = LOCALE_SYSTEM_DEFAULT
static
VALUE cWIN32OLE_METHOD
VALUE cWIN32OLE_PARAM

Definition at line 208 of file win32ole.c.

Referenced by Init_win32ole(), and ole_method_params().

VALUE cWIN32OLE_PROPERTY

Definition at line 213 of file win32ole.c.

VALUE cWIN32OLE_TYPE
VALUE cWIN32OLE_TYPELIB
VALUE cWIN32OLE_VARIABLE

Definition at line 206 of file win32ole.c.

Referenced by Init_win32ole(), and ole_variables().

VALUE cWIN32OLE_VARIANT

Definition at line 210 of file win32ole.c.

Referenced by folevariant_initialize(), Init_win32ole(), ole_invoke(), and ole_val2variant().

static DISPID dispIdMember

Definition at line 296 of file win32ole.c.

DWORD dwCallType

Definition at line 620 of file win32ole.c.

HTASK DWORD DWORD dwPendingType
Initial value:
{
if (rb_during_gc()) {
return PENDINGMSG_WAITNOPROCESS;
}
return previous_filter->lpVtbl->MessagePending(previous_filter,
}
return PENDINGMSG_WAITNOPROCESS
static DWORD HTASK DWORD dwTickCount
Definition: win32ole.c:620
static HTASK threadIDCallee
Definition: win32ole.c:654
int rb_during_gc(void)
Definition: gc.c:1179
static HTASK DWORD DWORD dwPendingType
Definition: win32ole.c:674
static IMessageFilter * previous_filter
Definition: win32ole.c:234

Definition at line 674 of file win32ole.c.

HTASK DWORD DWORD dwRejectType
Initial value:
{
return previous_filter->lpVtbl->RetryRejectedCall(previous_filter,
}
return 1000
static DWORD HTASK DWORD dwTickCount
Definition: win32ole.c:620
static HTASK threadIDCallee
Definition: win32ole.c:654
static HTASK DWORD DWORD dwRejectType
Definition: win32ole.c:658
static IMessageFilter * previous_filter
Definition: win32ole.c:234

Definition at line 658 of file win32ole.c.

static HTASK DWORD dwTickCount

Definition at line 620 of file win32ole.c.

st_table* enc2cp_table
static

Definition at line 231 of file win32ole.c.

VALUE eWIN32OLERuntimeError
BOOL g_cp_installed = FALSE
static

Definition at line 218 of file win32ole.c.

Referenced by code_page_installed(), and installed_code_page_proc().

UINT g_cp_to_check = CP_ACP
static

Definition at line 228 of file win32ole.c.

Referenced by code_page_installed(), and installed_code_page_proc().

BOOL g_IsEventSinkVtblInitialized = FALSE
static

Definition at line 7575 of file win32ole.c.

BOOL g_lcid_installed = FALSE
static

Definition at line 219 of file win32ole.c.

Referenced by installed_lcid_proc(), and lcid_installed().

char g_lcid_to_check[8+1]
static

Definition at line 229 of file win32ole.c.

Referenced by installed_lcid_proc(), and lcid_installed().

VARTYPE g_nil_to = VT_ERROR
static

Definition at line 230 of file win32ole.c.

Referenced by ole_val2variant(), and ole_val2variant2().

BOOL g_ole_initialized = FALSE
static

Definition at line 217 of file win32ole.c.

Referenced by ole_initialize(), and ole_uninitialize().

FNCOCREATEINSTANCEEX* gCoCreateInstanceEx = NULL
static

Definition at line 222 of file win32ole.c.

Referenced by ole_create_dcom().

HINSTANCE ghhctrl = NULL
static

Definition at line 220 of file win32ole.c.

Referenced by ole_show_help().

HINSTANCE gole32 = NULL
static

Definition at line 221 of file win32ole.c.

Referenced by ole_create_dcom().

int i

Definition at line 776 of file win32ole.c.

Referenced by add_char_amb_opt_map_info(), add_ctype_to_cc_by_range(), add_heap_slots(), alloc_invoke_arguments(), allocate(), alt_merge_opt_exact_info(), alt_merge_opt_map_info(), and_code_range1(), and_code_range_buf(), apply2files(), array2fdset(), ary2ptr_dispparams(), ary2safe_array_index(), ary_add_hash(), ary_add_hash_by(), ary_join_0(), ary_join_1(), ary_new_dim(), ary_reject(), ary_reject_bang(), assoc2kv(), assoc2kv_enc(), base64decode(), big2dbl(), big2str_orig(), big_fdiv(), big_lshift(), big_rshift(), bigadd_core(), bigadd_int(), bigand_int(), bigdivrem(), bigdivrem1(), biglsh_bang(), BigMath_s_exp(), BigMath_s_log(), bigmul1_balance(), bigmul1_karatsuba(), bigmul1_normal(), bigor_int(), bigrsh_bang(), bigsqr_fast(), bigsub_core(), bigsub_int(), bigxor_int(), bigzero_p(), bitset_and(), bitset_copy(), bitset_invert(), bitset_invert_to(), bitset_is_empty(), bitset_or(), bitset_set_range(), bm_search(), bsock_setsockopt(), bubblebabble_str_new(), c_find_ldom(), c_find_ldoy(), call_queue_mark(), callback(), caller_setup_args(), cbsubst_get_subst_arg(), cbsubst_get_subst_key(), check_class(), check_exec_fds(), check_exec_redirect(), chfunc(), clear_coverage_i(), cmp(), code_page(), collect_local_variables_in_iseq(), compat_init_setproctitle(), compile_array_(), compile_massign_opt(), compile_quantifier_node(), compile_tree(), compile_tree_n_times(), concat_opt_exact_info(), concat_opt_exact_info_str(), convert_type(), count_nodes(), count_objects(), count_objects_size(), coverage(), crypt(), d2b(), d_lite_plus(), date__strptime_internal(), date_strftime_with_tmx(), date_zone_to_diff(), day_num(), dbl2big(), decorate_convpath(), delete_slaves(), delpair(), des_setkey(), diff(), dir_globs(), dlhandle_sym(), dln_find_1(), dump_node(), dup2(), dvar_defined_gen(), econv_convpath(), econv_equal(), enc_autoload(), enc_pred_char(), enc_succ_char(), encodes(), encrypt(), enum_cycle(), enum_reverse_each(), enum_sort_by(), enum_zip(), env_each_key(), env_each_pair(), env_each_value(), env_inspect(), env_reject_bang(), env_replace(), env_select_bang(), env_size(), env_values_at(), envix(), error_print(), EVENTSINK_Invoke(), expand_case_fold_string_alt(), fdbm_delete_if(), fdbm_empty_p(), fdbm_length(), fdbm_values_at(), fdset2array(), fetch_token(), fgdbm_delete_if(), fgdbm_length(), fgdbm_values_at(), filename_completion_proc_call(), find_coclass(), find_i(), find_prev_line_no(), find_str_position(), first_i(), fix_abs(), fix_aref(), fix_succ(), flatten(), flo_cmp(), flock_winnt(), foletype_s_progids(), foletypelib_s_typelibs(), folevariant_s_array(), for(), free_invoke_arguments(), free_unused_heaps(), fsdbm_delete_if(), fsdbm_empty_p(), fsdbm_length(), fsdbm_values_at(), function_call(), gb18030_mbc_to_code(), gc_mark_children(), gc_profile_record_get(), gc_profile_result(), gc_profile_total_time(), generate_json_array(), generate_json_object(), get2comp(), get_addr(), get_backup_filename(), get_dyna_var_idx_at_raw(), get_insn_info(), get_max_match_length(), get_min_match_length(), getaddrinfo(), getnameinfo(), getpair(), gmtimew_noleapsecond(), hash2named_arg(), hash2ptr_dispparams(), hexencode_str_new(), hist_delete_at(), hist_each(), hist_get(), httpdate_type1_cb(), httpdate_type2_cb(), httpdate_type3_cb(), i2b(), i_apply_case_fold(), i_renumber_name(), iconv_convert(), init_by_array(), init_case_fold_table(), Init_curses(), init_des(), Init_Encoding(), init_mark_stack(), Init_Object(), Init_ossl_asn1(), Init_ossl_ssl(), init_perm(), Init_RandomSeed(), initialize(), inject_i(), inject_op_i(), insn_make_insn_table(), insn_operand_intern(), insn_set_specialized_instruction(), inspect_ary(), inspect_errno(), inspect_int(), inspect_struct(), int_chr(), int_dotimes(), int_downto(), int_pair_to_real_inclusive(), int_pred(), int_sip_pad_final_block(), int_sip_round(), int_succ(), int_upto(), invoke_block_from_c(), invoke_tcl_proc(), io_puts_ary(), io_wait(), ip_invoke_core(), ip_ruby_cmd(), is_not_included(), iseq_build_from_ary_body(), iseq_build_from_ary_exception(), iseq_compile_each(), iseq_data_to_ary(), iseq_load(), iseq_set_arguments(), iseq_set_exception_table(), iseq_set_optargs_table(), iseq_set_sequence(), iso2022jp_check_conv(), iso8601_bas_datetime_cb(), iso8601_ext_datetime_cb(), iso8601_ext_time_cb(), jisx0301_cb(), lgamma_r(), limited_big_rand(), limited_rand(), loaded_feature_path(), lshift(), main(), make_econv_exception(), make_struct(), map_position_value(), match_array(), match_at(), match_begin(), match_end(), match_inspect(), match_inspect_name_iter(), match_offset(), max_by_i(), max_i(), max_ii(), mbc_case_fold(), mbc_to_code(), MD5_Finish(), md5_process(), mime_begin(), mime_begin_strict(), mime_putc(), min_by_i(), min_i(), min_ii(), minmax_by_i(), minmax_i(), minmax_i_update(), minmax_ii(), minmax_ii_update(), mk_ary_of_str(), mon_num(), month_arg(), moreswitches(), mt_state(), multadd(), n2i(), name_add(), name_err_mesg_equal(), new_insn_body(), new_size(), nfc_getc(), nkf_enc_find_index(), nkf_split_options(), nkf_str_caseeql(), node_new_backref(), node_new_cclass_by_codepoint_range(), not_code_range_buf(), nsdr(), num_step(), numchar_getc(), objspace_each_objects(), ole_docinfo_from_type(), ole_invoke(), ole_invoke2(), ole_method_event(), ole_method_params(), ole_method_sub(), ole_methods_from_typeinfo(), ole_methods_sub(), ole_search_event(), ole_search_event_at(), ole_set_safe_array(), ole_type_impl_ole_types(), ole_types_from_typelib(), ole_val_ary2variant_ary(), ole_variables(), ole_variant2val(), oleclass_from_typelib(), olemethod_from_typeinfo(), oletypelib_search_registry(), onig_compile(), onig_name_to_backref_number(), onig_number_of_capture_histories(), onig_region_clear(), onig_region_copy(), onigenc_apply_all_case_fold_with_map(), onigenc_ascii_apply_all_case_fold(), onigenc_get_case_fold_codes_by_str_with_map(), onigenc_mbn_mbc_case_fold(), onigenc_mbn_mbc_to_code(), onigenc_unicode_apply_all_case_fold(), onigenc_unicode_get_case_fold_codes_by_str(), onigenc_unicode_mbc_case_fold(), open_ifs_socket(), open_mime(), opt_enc_index(), optimize_node_left(), options(), or_code_range_buf(), ossl_pkcs7_get_recipient(), ossl_pkcs7_get_signer(), ossl_pkcs7_sym2typeid(), ossl_ssl_get_peer_cert_chain(), ossl_ssl_session_to_pem(), ossl_ssl_shutdown(), ossl_sslctx_add_extra_chain_cert_i(), ossl_sslctx_get_ciphers(), ossl_sslctx_initialize(), ossl_sslctx_set_ciphers(), ossl_sslctx_set_ssl_version(), ossl_sslctx_setup(), ossl_x509_get_extensions(), ossl_x509_set_extensions(), ossl_x509_verify(), ossl_x509crl_get_extensions(), ossl_x509crl_get_revoked(), ossl_x509crl_set_extensions(), ossl_x509crl_set_revoked(), ossl_x509name_to_a(), ossl_x509req_get_attributes(), ossl_x509req_set_attributes(), ossl_x509req_verify(), ossl_x509revoked_get_extensions(), ossl_x509revoked_set_extensions(), ossl_x509stctx_get_chain(), pack_pack(), pack_unpack(), parse_char_class(), parse_main(), parse_posix_bracket(), parser_magic_comment(), parser_set_encode(), parser_yyerror(), path_entries(), path_s_glob(), PEM_def_callback(), permute0(), pipe_open(), pow5mult(), power_cache_get_power(), power_cache_get_power0(), power_cache_init(), process_options(), pty_close_pty(), qpencode(), quad_buf_complement(), r_long(), r_object0(), rand_init(), range_each(), range_step(), rb_ary_and(), rb_ary_assoc(), rb_ary_collect(), rb_ary_collect_bang(), rb_ary_combination(), rb_ary_cycle(), rb_ary_diff(), rb_ary_drop_while(), rb_ary_each(), rb_ary_each_index(), rb_ary_fill(), rb_ary_includes(), rb_ary_index(), rb_ary_initialize(), rb_ary_join(), rb_ary_new3(), rb_ary_or(), rb_ary_permutation(), rb_ary_product(), rb_ary_rassoc(), rb_ary_repeated_combination(), rb_ary_repeated_permutation(), rb_ary_rindex(), rb_ary_sample(), rb_ary_select(), rb_ary_shuffle_bang(), rb_ary_take_while(), rb_ary_transpose(), rb_ary_uniq(), rb_ary_uniq_bang(), rb_ary_zip(), rb_big_and(), rb_big_aref(), rb_big_neg(), rb_big_or(), rb_big_pack(), rb_big_unpack(), rb_big_xor(), rb_check_argv(), rb_check_backtrace(), rb_cstr_to_inum(), rb_dlcfunc_call(), rb_dvar_defined(), rb_econv_add_transcoder_at(), rb_econv_binmode(), rb_econv_close(), rb_econv_init_by_convpath(), rb_econv_memsize(), rb_econv_open(), rb_econv_open_by_transcoder_entries(), rb_enc_find_index(), rb_enc_get_index(), rb_env_clear(), rb_f_global_variables(), rb_f_kill(), rb_f_local_variables(), rb_f_p(), rb_f_select(), rb_feature_p(), rb_file_join(), rb_find_file_ext_safe(), rb_find_file_safe(), rb_fix_rshift(), rb_funcall(), rb_get_expanded_load_path(), rb_get_next_signal(), rb_get_values_at(), rb_hash_s_create(), rb_hash_values_at(), rb_id2str(), rb_insns_name_array(), rb_intern3(), rb_io_print(), rb_io_puts(), rb_iseq_build_for_ruby2cext(), rb_iseq_build_from_ary(), rb_iseq_disasm(), rb_iseq_parameters(), rb_iseq_translate_threaded_code(), rb_ivar_count(), rb_ivar_set(), rb_local_defined(), rb_memsearch_qs(), rb_memsearch_qs_utf8(), rb_mod_attr_accessor(), rb_mod_attr_reader(), rb_mod_attr_writer(), rb_mod_include(), rb_mod_modfunc(), rb_mod_remove_method(), rb_mod_undef_method(), rb_obj_extend(), rb_obj_inspect(), rb_objspace_call_finalizer(), rb_objspace_free(), rb_proc_exec_n(), rb_random_bytes(), rb_reg_match_last(), rb_reg_preprocess_dregexp(), rb_reg_s_union(), rb_run_exec_options_err(), rb_scan_args(), rb_stat_inspect(), rb_str_count(), rb_str_delete_bang(), rb_str_each_byte(), rb_str_each_char(), rb_str_end_with(), rb_str_format(), rb_str_include(), rb_str_slice_bang(), rb_str_split_m(), rb_str_squeeze_bang(), rb_str_start_with(), rb_strftime_with_timespec(), rb_struct_aref(), rb_struct_aref_id(), rb_struct_aset(), rb_struct_aset_id(), rb_struct_each(), rb_struct_each_pair(), rb_struct_getmember(), rb_struct_new(), rb_struct_s_def(), rb_struct_select(), rb_struct_set(), rb_syck_emitter_handler(), rb_syswait(), rb_trans_conv(), rb_uint2big(), rb_vm_bugreport(), rb_vm_get_sourceline(), rb_vm_mark(), rb_vmdebug_env_dump_raw(), rb_w32_fdclr(), rb_w32_map_errno(), rb_w32_strerror(), rb_yield_values(), rb_zlib_crc_table(), readline_attempted_completion_function(), recursive_cmp(), recursive_eql(), recursive_equal(), recursive_hash(), reduce0(), reg_named_captures_iter(), rehash(), reinit(), rfc2822_cb(), rfc3339_cb(), RMD160_Finish(), RMD160_Update(), rpermute0(), rt_complete_frags(), ruby_dtoa(), ruby_float_step(), ruby_set_argv(), ruby_setenv(), ruby_strtod(), run_exec_close(), run_exec_dup2(), run_exec_dup2_child(), run_exec_open(), run_finalizer(), s2b(), scan_env_add_mem_entry(), scan_env_clear(), scan_once(), seepair(), select_end(), select_internal(), set_arg0(), set_bm_backward_skip(), set_bm_skip(), set_const_visibility(), set_method_visibility(), set_optimize_map_info(), setkey(), setup_args(), setup_tree(), SHA1_Finish(), SHA1_Update(), SHA256_End(), SHA384_End(), SHA512_End(), signbit(), sockopt_bool(), sockopt_int(), sockopt_s_bool(), sockopt_s_int(), sort_by_i(), st_add_direct(), st_cleanup_safe(), st_clear(), st_delete(), st_delete_safe(), st_foreach(), st_get_key(), st_hash_uint(), st_insert(), st_insert2(), st_lookup(), STACK_OF(), start_document(), str_exist_check_with_esc(), strdup_with_null(), string2hex(), string_to_c_internal(), strscan_aref(), strscan_rest_size(), strscan_set_pos(), stub_sysinit(), subst_free(), swallow(), syck_base64dec(), syck_base64enc(), syck_const_find(), syck_emit_indent(), syck_emit_item(), syck_emitter_escape(), syck_genericresolver_node_import(), syck_map_initialize(), syck_map_value_set(), syck_node_mark(), syck_node_transform(), syck_resolver_node_import(), syck_scan_scalar(), syck_seq_value_set(), syck_tagcmp(), syck_yaml2byte_handler(), sycklex_bytecode_utf8(), sycklex_yaml_utf8(), test_check(), test_fdset(), tgamma(), time_mdump(), time_mload(), time_timespec(), tk_funcall(), tr_setup_table(), tr_trans(), trans_sweep(), type_cclass_hash(), typeinfo_from_ole(), typelib_file_from_typelib(), unpack_entries(), update_char_offset(), update_string_node_case_fold(), username_completion_proc_call(), vm_call0(), vm_call_method(), vm_callee_setup_arg_complex(), vm_exec(), vm_expandarray(), vm_make_env_each(), vm_push_frame(), vm_setup_method(), vm_throw(), vm_yield_setup_block_args(), vm_yield_setup_block_args_complex(), VpAddSub(), VpAlloc(), VpCtoV(), VpDivd(), VpDtoV(), VpFormatSt(), VpMidRound(), VpMult(), VpNmlz(), VpSzMantissa(), VpToFString(), VpToString(), vtable_included(), vtable_tblcpy(), w_long(), w_object(), w_objivar(), warn_deprecated(), warn_unused_var(), X509_CRL_sort(), xmlschema_datetime_cb(), xmlschema_time_cb(), xmlschema_trunc_cb(), yaml_org_handler(), zip_ary(), and zip_i().

ID id_events
static
IMessageFilter imessage_filter = { &message_filter }
static

Definition at line 233 of file win32ole.c.

Referenced by ole_initialize().

static UINT iTInfo

Definition at line 294 of file win32ole.c.

static DISPID REFIID LCID lcid

Definition at line 294 of file win32ole.c.

Referenced by fole_s_set_locale().

DWORD HTASK DWORD LPINTERFACEINFO lpInterfaceInfo
Initial value:
{
switch (dwCallType)
{
case CALLTYPE_ASYNC:
case CALLTYPE_TOPLEVEL_CALLPENDING:
case CALLTYPE_ASYNC_CALLPENDING:
if (rb_during_gc()) {
return SERVERCALL_RETRYLATER;
}
break;
default:
break;
}
return previous_filter->lpVtbl->HandleInComingCall(previous_filter,
}
return SERVERCALL_ISHANDLED
static DWORD HTASK DWORD LPINTERFACEINFO lpInterfaceInfo
Definition: win32ole.c:625
static DWORD HTASK threadIDCaller
Definition: win32ole.c:620
static DWORD HTASK DWORD dwTickCount
Definition: win32ole.c:620
static DWORD dwCallType
Definition: win32ole.c:620
int rb_during_gc(void)
Definition: gc.c:1179
static IMessageFilter * previous_filter
Definition: win32ole.c:234

Definition at line 625 of file win32ole.c.

IMessageFilterVtbl message_filter
static

Definition at line 232 of file win32ole.c.

Referenced by Init_win32ole().

VALUE mWIN32OLE_VARIANT

Definition at line 212 of file win32ole.c.

Referenced by Init_win32ole().

Definition at line 778 of file win32ole.c.

Referenced by add_freelist(), allocate_sorted_heaps(), appendline(), argf_alloc(), ASN1_put_eoc(), assign_heap_slot(), autoload_provided(), backward_search_range(), big5_left_adjust_char_head(), BigDecimal_hash(), BigDecimal_IsFinite(), BigDecimal_IsInfinite(), BigDecimal_IsNaN(), BigDecimal_prec(), BigDecimal_to_f(), BigDecimal_to_i(), BigDecimal_to_r(), bm_search(), bm_search_backward(), bm_search_notrev(), bracket(), BSD__sfvwrite(), BSD_vfprintf(), bubblebabble_str_new(), call_trace_proc(), chopped_length(), cmdglob(), code_status(), code_to_mbc(), comment_at_top(), compile_length_string_node(), compile_string_node(), compile_tree(), concat_opt_exact_info(), concat_opt_exact_info_str(), convert_UTF8_to_JSON(), count_objects(), cp1251_mbc_case_fold(), cp949_left_adjust_char_head(), cParser_parse_quirks_mode(), cParser_parse_strict(), date_strftime_internal(), date_zone_to_diff(), deallocate(), decode_bool(), decode_bstr(), decode_enum(), decode_int(), decode_null(), decode_obj(), decode_time(), dln_find_1(), e2w_conv(), enc_strlen(), entry_repeat_range(), enumerator_mark(), establishShell(), euckr_left_adjust_char_head(), euctw_left_adjust_char_head(), ev_advise(), expand_case_fold_string(), fetch_char_property_to_ctype(), fetch_escaped_value(), fetch_name(), fetch_name_with_level(), fetch_range_quantifier(), fetch_token(), fetch_token_in_cc(), finalize_deferred(), find_default_source(), find_inputcode_byfunc(), find_str_position(), finish_cp50220_encoder(), finish_writeconv_sync(), flo_to_s(), float_rationalize(), fnmatch(), fnmatch_helper(), fole_activex_initialize(), fole_each(), fole_initialize(), fole_query_interface(), fole_s_connect(), forward_search_range(), fun_so_cp50220_encoder(), gb18030_left_adjust_char_head(), gbk_left_adjust_char_head(), generator_mark(), get_device_once(), get_digest_base_metadata(), get_guessed_code(), getnameinfo(), glob_helper(), glob_make_pattern(), gzfile_read_header(), gzfile_read_raw_until_zero(), gzreader_charboundary(), gzreader_gets(), gzreader_skip_linebreaks(), h_conv(), hexencode_str_new(), init_case_fold_table(), init_funcname_len(), Init_ossl_dh(), Init_ossl_dsa(), Init_ossl_rsa(), inspect_sockaddr(), int_ossl_asn1_decode0_prim(), io_binwrite_string(), io_encname_bom_p(), is_not_included(), is_pointer_to_heap(), isUNCRoot(), join_argv(), JSON_parse_float(), JSON_parse_integer(), JSON_parse_string(), JSON_parse_value(), json_string_unescape(), kanji_convert(), koi8_r_mbc_case_fold(), koi8_u_mbc_case_fold(), left_adjust_char_head(), load_file_internal(), loaded_feature_path(), loaded_feature_path_i(), mark_dump_arg(), mark_load_arg(), mark_marshal_compat_i(), match_aref(), match_at(), mbc_case_fold(), MD5_Update(), mime_begin_strict(), module_connection(), moreswitches(), name_err_mesg_mark(), next_state(), nl_langinfo_codeset(), node_new_backref(), node_new_str_raw_char(), nurat_rationalize(), ole_bind_obj(), ole_variant2val(), onig_error_code_to_format(), onig_error_code_to_str(), onig_node_str_cat(), onig_parse_make_tree(), onig_reduce_nested_quantifier(), onig_scan_unsigned_number(), onig_vsnprintf_with_pattern(), onigenc_get_right_adjust_char_head(), onigenc_get_right_adjust_char_head_with_prev(), onigenc_mbclen_approximate(), onigenc_mbn_mbc_case_fold(), onigenc_str_bytelen_null(), onigenc_strlen_null(), onigenc_unicode_mbc_case_fold(), onigenc_unicode_property_name_to_ctype(), open_dir_handle(), open_mime(), opendir_internal(), option_to_str(), options(), os_obj_of_i(), ossl_asn1_decode(), ossl_asn1_decode0(), ossl_asn1_decode_all(), ossl_asn1_traverse(), ossl_asn1cons_to_der(), ossl_asn1data_to_der(), ossl_asn1prim_to_der(), ossl_dh_to_der(), ossl_dsa_to_der(), ossl_pkcs12_to_der(), ossl_pkcs7_to_der(), ossl_rsa_to_der(), ossl_spki_initialize(), ossl_spki_to_der(), ossl_ssl_session_to_der(), ossl_x509_to_der(), ossl_x509attr_get_value(), ossl_x509attr_initialize(), ossl_x509attr_to_der(), ossl_x509ext_initialize(), ossl_x509ext_to_der(), ossl_x509name_initialize(), ossl_x509name_to_der(), ossl_x509req_to_der(), ossl_x509stctx_set_purpose(), ossl_x509store_set_purpose(), output_hex_charref(), pack_pack(), pack_unpack(), parse_char_class(), parse_enclose(), parse_mode_enc(), parse_posix_bracket(), parse_time2_cb(), parser_here_document(), parser_magic_comment(), parser_new(), parser_set_encode(), parser_set_token_info(), parser_whole_match_p(), parser_yyerror(), path_check_0(), path_sub_ext(), proc_exec_v(), proc_options(), process_sflag(), push_include(), r_object0(), rb_ary_compact_bang(), rb_ary_count(), rb_ary_fill(), rb_ary_permutation(), rb_ary_repeated_combination(), rb_ary_repeated_permutation(), rb_cstr_to_dbl(), rb_dlptr_initialize(), rb_econv_add_transcoder_at(), rb_enc_aliases_enc_i(), rb_enc_strlen_cr(), rb_feature_p(), rb_file_dirname(), rb_file_expand_path_internal(), rb_file_open_internal(), rb_file_s_basename(), rb_gzfile_set_comment(), rb_gzfile_set_orig_name(), rb_home_dir(), rb_include_module(), rb_io_each_byte(), rb_io_extract_encoding_option(), rb_io_extract_modeenc(), rb_io_getline_1(), rb_io_getline_fast(), rb_io_mode_enc(), rb_io_modestr_fmode(), rb_mod_ancestors(), rb_mod_include_p(), rb_mod_included_modules(), rb_objspace_call_finalizer(), rb_path_check(), rb_path_to_class(), rb_proc_exec(), rb_push_glob(), rb_reg_adjust_startpos(), rb_reg_check_preprocess(), rb_reg_expr_str(), rb_reg_preprocess_dregexp(), rb_reg_regsub(), rb_scan_args(), rb_str_cat(), rb_str_chomp_bang(), rb_str_coderange_scan_restartable(), rb_str_dump(), rb_str_each_line(), rb_str_end_with(), rb_str_format(), rb_str_inspect(), rb_str_justify(), rb_str_reverse(), rb_str_splice(), rb_str_sub_bang(), rb_str_substr(), rb_str_sum(), rb_str_to_dbl(), rb_str_to_inum(), rb_struct_s_members_m(), rb_vmdebug_stack_dump_raw(), rb_w32_cmdvector(), rb_w32_getcwd(), rb_w32_pipe(), rb_w32_spawn(), rb_w32_strerror(), rb_w32_system_tmpdir(), read_escaped_byte(), regulate_path(), reinit(), remove_backslashes(), remove_from_join_list(), rmext(), ruby_brace_expand(), ruby_enc_find_basename(), ruby_enc_find_extname(), ruby_init_loadpath_safe(), ruby_qsort(), scan_env_add_mem_entry(), scan_unsigned_hexadecimal_number(), scan_unsigned_octal_number(), set_iconv(), setup_tree(), skipprefixroot(), slot_sweep(), slow_search(), slow_search_backward(), str_byte_substr(), str_end_cmp(), str_end_hash(), str_node_split_last_char(), str_nth(), str_nth_len(), str_offset(), str_strlen(), string_to_r_internal(), strio_free(), strio_getc(), strio_getline(), strio_mark(), strio_memsize(), strio_set_pos(), strio_ungetc(), strscan_aref(), strscan_bol_p(), strscan_concat(), strscan_do_scan(), strscan_eos_p(), strscan_get_byte(), strscan_get_pos(), strscan_get_string(), strscan_getch(), strscan_initialize(), strscan_inspect(), strscan_matched(), strscan_matched_p(), strscan_matched_size(), strscan_peek(), strscan_post_match(), strscan_pre_match(), strscan_reset(), strscan_rest(), strscan_rest_p(), strscan_rest_size(), strscan_s_allocate(), strscan_set_pos(), strscan_set_string(), strscan_terminate(), strscan_unscan(), strtol(), stub_sysinit(), swallow(), syck_new_parser(), thread_join_sleep(), time_mdump(), time_mload(), time_strftime(), to_ascii(), token_info_get_column(), token_info_has_nonspaces(), transcode_restartable0(), translate_char(), translate_wchar(), type_cclass_hash(), unescape_escaped_nonascii(), unescape_unicode_bmp(), unescape_unicode_list(), unicode_to_jis_common2(), uniname2ctype(), update_char_offset(), update_string_node_case_fold(), usage(), utf16be_code_to_mbc(), utf16be_mbc_case_fold(), utf16le_code_to_mbc(), utf16le_mbc_case_fold(), utf16le_mbc_to_code(), utf32be_code_to_mbc(), utf32be_mbc_case_fold(), utf32le_code_to_mbc(), utf32le_mbc_case_fold(), val2variant_ptr(), vm_make_env_object(), VpMemAlloc(), w_float(), wstati64(), yielder_mark(), and zlib_mem_alloc().

VALUE* parg = ALLOCA_N(VALUE, args)

Definition at line 779 of file win32ole.c.

static UINT __RPC_FAR * pctinfo
Initial value:
{
return E_NOTIMPL

Definition at line 293 of file win32ole.c.

static DISPID REFIID LCID WORD DISPPARAMS __RPC_FAR * pDispParams

Definition at line 296 of file win32ole.c.

static DISPID REFIID LCID WORD DISPPARAMS __RPC_FAR VARIANT __RPC_FAR EXCEPINFO __RPC_FAR * pExcepInfo

Definition at line 296 of file win32ole.c.

static UINT LCID ITypeInfo __RPC_FAR *__RPC_FAR * ppTInfo
Initial value:
{
return E_NOTIMPL

Definition at line 294 of file win32ole.c.

static REFIID void __RPC_FAR *__RPC_FAR * ppvObject
Initial value:
{
if (MEMCMP(riid, &IID_IUnknown, GUID, 1) == 0
|| MEMCMP(riid, &IID_IMessageFilter, GUID, 1) == 0)
{
return S_OK;
}
return E_NOINTERFACE
#define MEMCMP(p1, p2, type, n)
Definition: ruby.h:1055
static IMessageFilterVtbl message_filter
Definition: win32ole.c:232
static REFIID void __RPC_FAR *__RPC_FAR * ppvObject
Definition: win32ole.c:290
return S_OK
Definition: win32ole.c:761
static REFIID riid
Definition: win32ole.c:290

Definition at line 290 of file win32ole.c.

IMessageFilter* previous_filter
static

Definition at line 234 of file win32ole.c.

Referenced by ole_initialize().

static DISPID REFIID LCID WORD DISPPARAMS __RPC_FAR VARIANT __RPC_FAR EXCEPINFO __RPC_FAR UINT __RPC_FAR * puArgErr
Initial value:
{
unsigned long VALUE
Definition: ruby.h:88
v
Definition: win32ole.c:790

Definition at line 296 of file win32ole.c.

static DISPID REFIID LCID WORD DISPPARAMS __RPC_FAR VARIANT __RPC_FAR * pVarResult

Definition at line 296 of file win32ole.c.

* rgDispId
Initial value:
{
char* psz = ole_wc2mb(*rgszNames)
static REFIID LPOLESTR __RPC_FAR * rgszNames
Definition: win32ole.c:295
static char * ole_wc2mb(LPWSTR pw)
Definition: win32ole.c:1059

Definition at line 295 of file win32ole.c.

static REFIID LPOLESTR __RPC_FAR * rgszNames

Definition at line 295 of file win32ole.c.

static DISPID REFIID riid

Definition at line 290 of file win32ole.c.

return S_OK
static HTASK threadIDCallee

Definition at line 654 of file win32ole.c.

DWORD HTASK threadIDCaller

Definition at line 620 of file win32ole.c.

Definition at line 790 of file win32ole.c.

Referenced by add64_to(), addrinfo_mload(), argf_init(), ary2ptr_dispparams(), ary_add_hash_by(), ary_reject(), ary_reject_bang(), Bfree(), bigsqr_fast(), bsock_setsockopt(), case_when_optimizable_literal(), CHECK_INTEGER(), chunk_ii(), cn_i(), coerce_rescue(), cos_i(), cparse_params_mark(), cto_i(), d_lite_hash(), dir_s_glob(), each_cons_i(), each_slice_i(), econv_convpath(), econv_opts(), econv_primitive_convert(), enumerator_feed(), env_select(), establishShell(), extract_binmode(), fdbm_select(), fetch_escaped_value(), fgdbm_select(), fsdbm_select(), gmtimew_noleapsecond(), initialize_params(), int_pow(), int_sip_dump(), ip_invoke_real(), is_not_included(), iseq_build_from_ary_exception(), iseq_set_sequence(), JSON_parse_array(), JSON_parse_object(), lexer_i(), lexer_iter(), loggamma(), mark_current_machine_context(), mark_locations_array(), marshal_load(), match_inspect(), math_lgamma(), max_by_i(), method_inspect(), min_by_i(), mnew(), more_char(), n2i(), new_insn_body(), next_state_val(), nucomp_hash(), num_exact(), nurat_hash(), objspace_each_objects(), ole_invoke(), ole_invoke2(), ole_propertyput(), open_dir_handle(), open_key_args(), os_obj_of_i(), ossl_sslctx_set_ciphers(), pack_pack(), pack_unpack(), parse_char_class(), parser_nextc(), path2class(), path2module(), proc_options(), process_sflag(), r_byte(), r_entry0(), r_leave(), r_object0(), racc_cparse(), racc_yyparse(), rand_range(), random_rand(), range_dumper(), range_each_func(), range_include(), range_init(), range_step(), rb_ary_and(), rb_ary_assoc(), rb_ary_cmp(), rb_ary_delete(), rb_ary_fill(), rb_ary_or(), rb_ary_rassoc(), rb_ary_select_bang(), rb_ary_uniq(), rb_ary_uniq_bang(), rb_check_convert_type(), rb_check_to_integer(), rb_const_remove(), rb_convert_type(), rb_econv_asciicompat_encoding(), rb_econv_prepare_options(), rb_f_rand(), rb_feature_p(), rb_file_expand_path_internal(), rb_hash_s_create(), rb_io_extract_encoding_option(), rb_io_extract_modeenc(), rb_mod_to_s(), rb_num2fix(), rb_num_to_uint(), rb_obj_remove_instance_variable(), rb_print_undef(), rb_proc_exec(), rb_proc_exec_n(), rb_random_real(), rb_reg_s_union(), rb_reg_s_union_m(), rb_stat_inspect(), rb_str_format(), rb_str_to_dbl(), rb_str_to_inum(), rb_time_unmagnify_to_float(), rb_to_integer(), rb_w32_aspawn_flags(), rb_w32_spawn(), rb_yield_splat(), read_all(), read_digits(), recursive_cmp(), recursive_hash(), reduce0(), rotl64_swap(), rotl64_to(), rsock_sockaddr_string_value(), RUBY_ALIAS_FUNCTION(), ruby_executable_node(), search_convpath_i(), set_const_visibility(), sockopt_data(), sockopt_inspect(), sort_by_i(), st_hash_uint(), string_to_r_internal(), syck_genericresolver_node_import(), syck_parser_load_documents(), syck_resolver_node_import(), time_mdump(), time_round(), time_to_r(), timelocalw(), total_i(), tr_find(), vm_expandarray(), VpAlloc(), VpLeftRound(), VpMidRound(), vtdate2rbtime(), vtm_add_offset(), w_object(), warn_unused_var(), wstati64(), xor64_to(), yaml_org_handler(), zip_i(), and zone_str().

IEventSinkVtbl vtEventSink
static

Definition at line 7574 of file win32ole.c.

Referenced by EVENTSINK_Constructor().

static DISPID REFIID LCID WORD wFlags

Definition at line 296 of file win32ole.c.