Ruby  2.4.2p198(2017-09-14revision59899)
Data Structures | Macros | Typedefs | Functions | Variables
win32ole.c File Reference
#include "win32ole.h"
Include dependency graph for win32ole.c:

Go to the source code of this file.

Data Structures

struct  oleparam
 
struct  _Win32OLEIDispatch
 
struct  myCPINFOEX
 

Macros

#define WIN32OLE_VERSION   "1.8.5"
 
#define g_ole_initialized   (TlsGetValue(g_ole_initialized_key)!=0)
 
#define g_ole_initialized_init()   (g_ole_initialized_key = TlsAlloc())
 
#define g_ole_initialized_set(val)   TlsSetValue(g_ole_initialized_key, (void*)(val))
 
#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 need_conv_function51932()   (failed_load_conv51932(), 0)
 
#define conv_51932(cp)   ((cp) == 51932 && need_conv_function51932())
 
#define ole_wc2mb_conv(pw, pm, size)   WideCharToMultiByte(cWIN32OLE_cp, 0, (pw), -1, (pm), (size), NULL, NULL)
 

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 _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 void ole_freeexceptinfo (EXCEPINFO *pExInfo)
 
static VALUE ole_excepinfo2msg (EXCEPINFO *pExInfo)
 
static void ole_free (void *ptr)
 
static size_t ole_size (const void *ptr)
 
static LPWSTR ole_mb2wc (char *pm, int len, UINT cp)
 
static VALUE ole_ary_m_entry (VALUE val, LONG *pid)
 
static VALUE is_all_index_under (LONG *pid, long *pub, long dim)
 
static void * get_ptr_of_variant (VARIANT *pvar)
 
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 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 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 (VALUE self, VALUE ole, VALUE host, VALUE others)
 
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 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 VALUE fole_s_ole_initialize (VALUE self)
 
static VALUE fole_s_ole_uninitialize (VALUE self)
 
static VALUE fole_initialize (int argc, VALUE *argv, VALUE self)
 
static int hash2named_arg (VALUE key, VALUE val, VALUE 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 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 fole_type (VALUE self)
 
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 VALUE ole_usertype2val (ITypeInfo *pTypeInfo, TYPEDESC *pTypeDesc, VALUE typedetails)
 
static VALUE ole_ptrtype2val (ITypeInfo *pTypeInfo, TYPEDESC *pTypeDesc, VALUE typedetails)
 
static VALUE fole_method_help (VALUE self, VALUE cmdname)
 
static VALUE fole_activex_initialize (VALUE self)
 
static void com_hash_free (void *ptr)
 
static void com_hash_mark (void *ptr)
 
static size_t com_hash_size (const void *ptr)
 
static DWORD (STDMETHODCALLTYPE mf_HandleInComingCall)(IMessageFilter __RPC_FAR *pThis
 
 free (psz)
 
 if ((ID)(DISPID) nameid !=nameid)
 
BOOL ole_initialized (void)
 
static void failed_load_conv51932 (void)
 
static void set_ole_codepage (UINT cp)
 
static char * ole_wc2mb_alloc (LPWSTR pw, char *(alloc)(UINT size, void *arg), void *arg)
 
static char * ole_alloc_str (UINT size, void *arg)
 
char * ole_wc2mb (LPWSTR pw)
 
void ole_uninitialize (void)
 
static void ole_uninitialize_hook (rb_event_flag_t evflag, VALUE data, VALUE self, ID mid, VALUE klass)
 
void ole_initialize (void)
 
struct oledataoledata_get_struct (VALUE ole)
 
LPWSTR ole_vstr2wc (VALUE vstr)
 
static char * ole_alloc_vstr (UINT size, void *arg)
 
VALUE ole_wc2vstr (LPWSTR pw, BOOL isfree)
 
void ole_val2variant_ex (VALUE val, VARIANT *var, VARTYPE vt)
 
VOID * val2variant_ptr (VALUE val, VARIANT *var, VARTYPE vt)
 
HRESULT ole_val_ary2variant_ary (VALUE val, VARIANT *var, VARTYPE vt)
 
void ole_val2variant (VALUE val, VARIANT *var)
 
void ole_val2variant2 (VALUE val, VARIANT *var)
 
VALUE make_inspect (const char *class_name, VALUE detail)
 
VALUE default_inspect (VALUE self, const char *class_name)
 
VALUE ole_variant2val (VARIANT *pvar)
 
LONG reg_open_key (HKEY hkey, const char *name, HKEY *phkey)
 
LONG reg_open_vkey (HKEY hkey, VALUE key, HKEY *phkey)
 
VALUE reg_enum_key (HKEY hkey, DWORD i)
 
VALUE reg_get_val (HKEY hkey, const char *subkey)
 
VALUE reg_get_val2 (HKEY hkey, const char *subkey)
 
HRESULT ole_docinfo_from_type (ITypeInfo *pTypeInfo, BSTR *name, BSTR *helpstr, DWORD *helpcontext, BSTR *helpfile)
 
VALUE ole_typedesc2val (ITypeInfo *pTypeInfo, TYPEDESC *pTypeDesc, VALUE typedetails)
 
HRESULT typelib_from_val (VALUE obj, ITypeLib **pTypeLib)
 
void Init_win32ole (void)
 

Variables

VALUE cWIN32OLE
 
static volatile DWORD g_ole_initialized_key = TLS_OUT_OF_INDEXES
 
static BOOL g_uninitialize_hooked = 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 VALUE enc2cp_hash
 
static IDispatchVtbl com_vtbl
 
static UINT cWIN32OLE_cp = CP_ACP
 
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 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 const rb_data_type_t ole_datatype
 
static const rb_data_type_t win32ole_hash_datatype
 
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
 
ID nameid = rb_check_id_cstr(psz, (long)strlen(psz), cWIN32OLE_enc)
 

Macro Definition Documentation

◆ conv_51932

#define conv_51932 (   cp)    ((cp) == 51932 && need_conv_function51932())

Definition at line 585 of file win32ole.c.

Referenced by ole_mb2wc(), and ole_wc2mb_alloc().

◆ ENC_MACHING_CP

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

Definition at line 486 of file win32ole.c.

Referenced by ole_encoding2cp().

◆ g_ole_initialized

#define g_ole_initialized   (TlsGetValue(g_ole_initialized_key)!=0)

Definition at line 45 of file win32ole.c.

Referenced by ole_initialize(), ole_initialized(), and ole_uninitialize().

◆ g_ole_initialized_init

#define g_ole_initialized_init ( )    (g_ole_initialized_key = TlsAlloc())

Definition at line 46 of file win32ole.c.

Referenced by Init_win32ole().

◆ g_ole_initialized_set

#define g_ole_initialized_set (   val)    TlsSetValue(g_ole_initialized_key, (void*)(val))

Definition at line 47 of file win32ole.c.

Referenced by ole_initialize(), and ole_uninitialize().

◆ load_conv_function51932

#define load_conv_function51932 ( )    failed_load_conv51932()

Definition at line 581 of file win32ole.c.

Referenced by failed_load_conv51932(), ole_cp2encoding(), and set_ole_codepage().

◆ need_conv_function51932

#define need_conv_function51932 ( )    (failed_load_conv51932(), 0)

Definition at line 582 of file win32ole.c.

◆ ole_wc2mb_conv

#define ole_wc2mb_conv (   pw,
  pm,
  size 
)    WideCharToMultiByte(cWIN32OLE_cp, 0, (pw), -1, (pm), (size), NULL, NULL)

Definition at line 710 of file win32ole.c.

Referenced by ole_wc2mb_alloc().

◆ pIMultiLanguage

#define pIMultiLanguage   NULL /* dummy */

Definition at line 73 of file win32ole.c.

Referenced by failed_load_conv51932(), ole_cp2encoding(), and ole_mb2wc().

◆ WIN32OLE_VERSION

#define WIN32OLE_VERSION   "1.8.5"

Definition at line 29 of file win32ole.c.

Referenced by Init_win32ole().

Typedef Documentation

◆ dwData

typedef IUnknown COSERVERINFO MULTI_QI* typedef LPCSTR UINT DWORD dwData

Definition at line 34 of file win32ole.c.

◆ DWORD

static DWORD

Definition at line 32 of file win32ole.c.

◆ FNENUMSYSEMCODEPAGES

typedef BOOL() FNENUMSYSEMCODEPAGES(CODEPAGE_ENUMPROC, DWORD)

Definition at line 36 of file win32ole.c.

◆ HWND

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

Definition at line 34 of file win32ole.c.

◆ pszFile

typedef IUnknown COSERVERINFO MULTI_QI* typedef LPCSTR pszFile

Definition at line 34 of file win32ole.c.

◆ uCommand

typedef IUnknown COSERVERINFO MULTI_QI* typedef LPCSTR UINT uCommand

Definition at line 34 of file win32ole.c.

◆ Win32OLEIDispatch

Function Documentation

◆ ary_len_of_dim()

static long ary_len_of_dim ( VALUE  ary,
long  dim 
)
static

Definition at line 1152 of file win32ole.c.

References HRESULT(), len, RARRAY_LEN, rb_ary_entry(), RB_TYPE_P, T_ARRAY, and val.

Referenced by ole_val_ary2variant_ary().

◆ ary_new_dim()

static VALUE ary_new_dim ( VALUE  myary,
LONG *  pid,
LONG *  plb,
LONG  dim 
)
static

◆ ary_store_dim()

static void ary_store_dim ( VALUE  myary,
LONG *  pid,
LONG *  plb,
LONG  dim,
VALUE  val 
)
static

Definition at line 1402 of file win32ole.c.

References ary_new_dim(), and rb_ary_store().

Referenced by ole_variant2val().

◆ clsid_from_remote()

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

◆ code_page_installed()

static BOOL code_page_installed ( UINT  cp)
static

◆ com_hash_free()

static void com_hash_free ( void *  ptr)
static

Definition at line 3874 of file win32ole.c.

References st_free_table.

◆ com_hash_mark()

static void com_hash_mark ( void *  ptr)
static

Definition at line 3881 of file win32ole.c.

References rb_mark_hash().

◆ com_hash_size()

static size_t com_hash_size ( const void *  ptr)
static

Definition at line 3888 of file win32ole.c.

References st_memsize().

◆ create_win32ole_object()

static VALUE create_win32ole_object ( VALUE  klass,
IDispatch *  pDispatch,
int  argc,
VALUE argv 
)
static

◆ default_inspect()

VALUE default_inspect ( VALUE  self,
const char *  class_name 
)

◆ dimension()

static long dimension ( VALUE  val)
static

Definition at line 1133 of file win32ole.c.

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

Referenced by ole_val_ary2variant_ary().

◆ DWORD()

static DWORD ( STDMETHODCALLTYPE  mf_HandleInComingCall)
static

◆ failed_load_conv51932()

static void failed_load_conv51932 ( void  )
static

◆ fole_activex_initialize()

static VALUE fole_activex_initialize ( VALUE  self)
static

◆ fole_each()

static VALUE fole_each ( VALUE  self)
static

◆ fole_free()

static VALUE fole_free ( VALUE  self)
static

Definition at line 3188 of file win32ole.c.

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

Referenced by Init_win32ole().

◆ fole_func_methods()

static VALUE fole_func_methods ( VALUE  self)
static

Definition at line 3446 of file win32ole.c.

References ole_methods().

Referenced by Init_win32ole().

◆ fole_get_methods()

static VALUE fole_get_methods ( VALUE  self)
static

Definition at line 3413 of file win32ole.c.

References ole_methods().

Referenced by Init_win32ole().

◆ fole_getproperty2()

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

Definition at line 3033 of file win32ole.c.

References ole_invoke2().

Referenced by Init_win32ole().

◆ fole_getproperty_with_bracket()

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

Definition at line 3116 of file win32ole.c.

References ole_invoke(), and TRUE.

Referenced by Init_win32ole().

◆ fole_initialize()

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

◆ fole_invoke()

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

Definition at line 2807 of file win32ole.c.

References FALSE, and ole_invoke().

Referenced by Init_win32ole().

◆ fole_invoke2()

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

Definition at line 3015 of file win32ole.c.

References ole_invoke2().

Referenced by Init_win32ole().

◆ fole_method_help()

static VALUE fole_method_help ( VALUE  self,
VALUE  cmdname 
)
static

◆ fole_methods()

static VALUE fole_methods ( VALUE  self)
static

Definition at line 3397 of file win32ole.c.

References ole_methods().

Referenced by Init_win32ole().

◆ fole_missing()

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

◆ fole_put_methods()

static VALUE fole_put_methods ( VALUE  self)
static

Definition at line 3429 of file win32ole.c.

References ole_methods().

Referenced by Init_win32ole().

◆ fole_query_interface()

static VALUE fole_query_interface ( VALUE  self,
VALUE  str_iid 
)
static

◆ fole_respond_to()

static VALUE fole_respond_to ( VALUE  self,
VALUE  method 
)
static

◆ fole_s_allocate()

static VALUE fole_s_allocate ( VALUE  klass)
static

Definition at line 1357 of file win32ole.c.

References NULL, ole_initialize(), oledata::pDispatch, and TypedData_Make_Struct.

Referenced by create_win32ole_object(), and Init_win32ole().

◆ fole_s_connect()

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

◆ fole_s_const_load()

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

◆ fole_s_create_guid()

static VALUE fole_s_create_guid ( VALUE  self)
static

Definition at line 2346 of file win32ole.c.

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

Referenced by Init_win32ole().

◆ fole_s_free()

static VALUE fole_s_free ( VALUE  self,
VALUE  obj 
)
static

◆ fole_s_get_code_page()

static VALUE fole_s_get_code_page ( VALUE  self)
static

Definition at line 2228 of file win32ole.c.

References cWIN32OLE_cp, and RB_INT2FIX.

Referenced by Init_win32ole().

◆ fole_s_get_locale()

static VALUE fole_s_get_locale ( VALUE  self)
static

Definition at line 2285 of file win32ole.c.

References cWIN32OLE_lcid, and RB_INT2FIX.

Referenced by Init_win32ole().

◆ fole_s_ole_initialize()

static VALUE fole_s_ole_initialize ( VALUE  self)
static

Definition at line 2371 of file win32ole.c.

References ole_initialize(), and Qnil.

Referenced by Init_win32ole().

◆ fole_s_ole_uninitialize()

static VALUE fole_s_ole_uninitialize ( VALUE  self)
static

Definition at line 2379 of file win32ole.c.

References ole_uninitialize(), and Qnil.

Referenced by Init_win32ole().

◆ fole_s_reference_count()

static VALUE fole_s_reference_count ( VALUE  self,
VALUE  obj 
)
static

Definition at line 2126 of file win32ole.c.

References NULL, oledata_get_struct(), RB_INT2NUM, and reference_count().

Referenced by Init_win32ole().

◆ fole_s_set_code_page()

static VALUE fole_s_set_code_page ( VALUE  self,
VALUE  vcp 
)
static

Definition at line 2265 of file win32ole.c.

References Qnil, RB_FIX2INT, and set_ole_codepage().

Referenced by Init_win32ole().

◆ fole_s_set_locale()

static VALUE fole_s_set_locale ( VALUE  self,
VALUE  vlcid 
)
static

Definition at line 2320 of file win32ole.c.

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

Referenced by Init_win32ole().

◆ fole_s_show_help()

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

◆ fole_setproperty()

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

Definition at line 3094 of file win32ole.c.

References FALSE, and ole_invoke().

Referenced by Init_win32ole().

◆ fole_setproperty2()

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

Definition at line 3051 of file win32ole.c.

References ole_invoke2().

Referenced by Init_win32ole().

◆ fole_setproperty_with_bracket()

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

Definition at line 3075 of file win32ole.c.

References ole_invoke(), and TRUE.

Referenced by Init_win32ole().

◆ fole_type()

static VALUE fole_type ( VALUE  self)
static

◆ fole_typelib()

static VALUE fole_typelib ( VALUE  self)
static

◆ free()

free ( psz  )

Referenced by aligned_free(), append_wstr(), ary_new_dim(), cmdglob(), dln_find_exe_r(), EVENTSINK_Destructor(), exit_handler(), ffi_prep_incoming_args_VFP(), 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_stack_chunks(), freeaddrinfo(), get_addr(), get_name(), getaddrinfo(), heap_page_free(), Init_heap(), Init_readline(), join_path(), link(), main(), Messaging_HandleMessage(), nsdr(), objspace_xfree(), ole_const_load(), ole_excepinfo2msg(), ole_free(), ole_rec2variant(), ole_val_ary2variant_ary(), ole_variant2val(), oleevent_free(), olemethod_free(), oleparam_free(), olerecord_free(), oletype_free(), oletypelib_free(), olevariable_free(), olevariant_free(), open_ifs_socket(), rb_file_expand_path_internal(), rb_file_load_ok(), rb_gdbm_fetch(), rb_gdbm_firstkey(), rb_gdbm_nextkey(), rb_objspace_free(), rb_print_backtrace(), rb_remove_history(), rb_w32_closedir(), rb_w32_free_environ(), rb_w32_getcwd(), rb_w32_mkdir(), rb_w32_open(), rb_w32_opendir(), rb_w32_rename(), rb_w32_rmdir(), 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_utime(), rb_w32_uunlink(), rb_w32_uutime(), rb_w32_write_console(), readdir_internal(), readline_readline(), reg_get_val(), ruby_getcwd(), ruby_mimfree(), ruby_setenv(), ruby_vm_run_at_exit_hooks(), sdbm_close(), sdbm_open(), sdbm_prep(), shrink_stack_chunk_cache(), sip_hash_free(), thread_free(), username_completion_proc_call(), w32_aspawn_flags(), w32_cmdvector(), w32_getenv(), w32_lstati64(), w32_spawn(), w32_stati64(), w32_truncate(), w32_wopendir(), and yaml_free().

◆ get_ptr_of_variant()

static void * get_ptr_of_variant ( VARIANT *  pvar)
static

Definition at line 1032 of file win32ole.c.

References NULL, V_INT, and V_UINT.

Referenced by val2variant_ptr().

◆ hash2named_arg()

static int hash2named_arg ( VALUE  key,
VALUE  val,
VALUE  pop 
)
static

◆ HRESULT() [1/2]

typedef HRESULT ( STDAPICALLTYPE  FNCOCREATEINSTANCEEX)

Referenced by ary_len_of_dim(), clsid_from_remote(), ev_advise(), EVENTSINK_Invoke(), failed_load_conv51932(), find_coclass(), find_default_source(), find_default_source_from_typeinfo(), find_iid(), fole_activex_initialize(), fole_each(), fole_initialize(), fole_method_help(), fole_missing(), fole_query_interface(), fole_respond_to(), fole_s_connect(), fole_s_const_load(), fole_s_create_guid(), fole_type(), fole_typelib(), folemethod_event_interface(), folerecord_initialize(), foletype_initialize(), foletypelib_initialize(), foletypelib_library_name(), foletypelib_name(), foletypelib_path(), foletypelib_s_typelibs(), folevariant_ary_aref(), folevariant_ary_aset(), get_locked_safe_array(), hash2olerec(), hash2ptr_dispparams(), ole_bind_obj(), ole_const_load(), ole_cp2encoding(), 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_rec2variant(), 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(), oleclass_from_typelib(), olemethod_from_typeinfo(), oleparam_ole_param_from_index(), olerecord_set_ivar(), olerecord_size(), oletypelib_from_guid(), oletypelib_get_libattr(), oletypelib_path(), oletypelib_search_registry(), oletypelib_search_registry2(), recordinfo_from_itypelib(), rescue_callback(), typeinfo_from_ole(), typelib_from_val(), unlock_safe_array(), and val2variant_ptr().

◆ HRESULT() [2/2]

static HRESULT ( STDMETHODCALLTYPE  QueryInterface)
static

◆ if()

if ( (ID)(DISPID) nameid = nameid)

◆ Init_win32ole()

void Init_win32ole ( void  )

◆ installed_code_page_proc()

static BOOL CALLBACK installed_code_page_proc ( LPTSTR  str)
static

Definition at line 2234 of file win32ole.c.

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

Referenced by code_page_installed().

◆ installed_lcid_proc()

static BOOL CALLBACK installed_lcid_proc ( LPTSTR  str)
static

Definition at line 2291 of file win32ole.c.

References FALSE, g_lcid_installed, g_lcid_to_check, and TRUE.

Referenced by lcid_installed().

◆ is_all_index_under()

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

Definition at line 961 of file win32ole.c.

References Qfalse, and Qtrue.

Referenced by ole_set_safe_array().

◆ lcid_installed()

static BOOL lcid_installed ( LCID  lcid)
static

Definition at line 2301 of file win32ole.c.

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

Referenced by fole_s_set_locale().

◆ make_inspect()

VALUE make_inspect ( const char *  class_name,
VALUE  detail 
)

Definition at line 1324 of file win32ole.c.

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

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

◆ NORETURN()

NORETURN ( static void   failed_load_conv51932void)

◆ ole_alloc_str()

static char* ole_alloc_str ( UINT  size,
void *  arg 
)
static

Definition at line 734 of file win32ole.c.

References ALLOC_N.

Referenced by ole_wc2mb().

◆ ole_alloc_vstr()

static char* ole_alloc_vstr ( UINT  size,
void *  arg 
)
static

Definition at line 929 of file win32ole.c.

References NULL, rb_enc_str_new(), and RSTRING_PTR.

Referenced by ole_wc2vstr().

◆ ole_ary_m_entry()

static VALUE ole_ary_m_entry ( VALUE  val,
LONG *  pid 
)
static

Definition at line 948 of file win32ole.c.

References Qnil, rb_ary_entry(), RB_TYPE_P, T_ARRAY, and val.

Referenced by ole_set_safe_array().

◆ ole_bind_obj()

static VALUE ole_bind_obj ( VALUE  moniker,
int  argc,
VALUE argv,
VALUE  self 
)
static

◆ ole_const_load()

static void ole_const_load ( ITypeLib *  pTypeLib,
VALUE  klass,
VALUE  self 
)
static

◆ ole_cp2encoding()

static rb_encoding * ole_cp2encoding ( UINT  cp)
static

◆ ole_create_dcom()

static VALUE ole_create_dcom ( VALUE  self,
VALUE  ole,
VALUE  host,
VALUE  others 
)
static

◆ ole_docinfo_from_type()

HRESULT ole_docinfo_from_type ( ITypeInfo *  pTypeInfo,
BSTR *  name,
BSTR *  helpstr,
DWORD helpcontext,
BSTR *  helpfile 
)

◆ ole_each_sub()

static VALUE ole_each_sub ( VALUE  pEnumV)
static

Definition at line 3198 of file win32ole.c.

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

Referenced by fole_each().

◆ ole_encoding2cp()

static UINT ole_encoding2cp ( rb_encoding enc)
static

Definition at line 488 of file win32ole.c.

References ENC_MACHING_CP.

Referenced by ole_init_cp(), and ole_vstr2wc().

◆ ole_excepinfo2msg()

static VALUE ole_excepinfo2msg ( EXCEPINFO *  pExInfo)
static

◆ ole_free()

static void ole_free ( void *  ptr)
static

Definition at line 835 of file win32ole.c.

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

◆ ole_freeexceptinfo()

static void ole_freeexceptinfo ( EXCEPINFO *  pExInfo)
static

Definition at line 746 of file win32ole.c.

Referenced by ole_excepinfo2msg(), and ole_invoke().

◆ ole_ienum_free()

static VALUE ole_ienum_free ( VALUE  pEnumV)
static

Definition at line 3214 of file win32ole.c.

References OLE_RELEASE, and Qnil.

Referenced by fole_each().

◆ ole_init_cp()

static UINT ole_init_cp ( void  )
static

◆ ole_initialize()

void ole_initialize ( void  )

◆ ole_initialized()

BOOL ole_initialized ( void  )

Definition at line 392 of file win32ole.c.

References g_ole_initialized.

◆ ole_invoke()

static VALUE ole_invoke ( int  argc,
VALUE argv,
VALUE  self,
USHORT  wFlags,
BOOL  is_bracket 
)
static

◆ ole_invoke2()

static VALUE ole_invoke2 ( VALUE  self,
VALUE  dispid,
VALUE  args,
VALUE  types,
USHORT  dispkind 
)
static

◆ ole_mb2wc()

static LPWSTR ole_mb2wc ( char *  pm,
int  len,
UINT  cp 
)
static

Definition at line 897 of file win32ole.c.

References conv_51932, eWIN32OLERuntimeError, HRESULT(), len, NULL, ole_raise(), and pIMultiLanguage.

Referenced by clsid_from_remote(), and ole_vstr2wc().

◆ ole_methods()

static VALUE ole_methods ( VALUE  self,
int  mask 
)
static

◆ ole_propertyput()

static VALUE ole_propertyput ( VALUE  self,
VALUE  property,
VALUE  value 
)
static

◆ ole_ptrtype2val()

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

Definition at line 3642 of file win32ole.c.

References ole_typedesc2val(), rb_str_new2, and V_UNION1.

Referenced by ole_typedesc2val().

◆ ole_set_member()

static VALUE ole_set_member ( VALUE  self,
IDispatch *  dispatch 
)
static

◆ ole_set_safe_array()

static void ole_set_safe_array ( long  n,
SAFEARRAY *  psa,
LONG *  pid,
long *  pub,
VALUE  val,
long  dim,
VARTYPE  vt 
)
static

◆ ole_show_help()

static HWND ole_show_help ( VALUE  helpfile,
VALUE  helpcontext 
)
static

Definition at line 2157 of file win32ole.c.

References ghhctrl, RB_NUM2INT, and StringValuePtr.

Referenced by fole_s_show_help().

◆ ole_size()

static size_t ole_size ( const void *  ptr)
static

Definition at line 842 of file win32ole.c.

◆ ole_typedesc2val()

VALUE ole_typedesc2val ( ITypeInfo *  pTypeInfo,
TYPEDESC *  pTypeDesc,
VALUE  typedetails 
)

◆ ole_uninitialize()

void ole_uninitialize ( void  )

Definition at line 796 of file win32ole.c.

References FALSE, g_ole_initialized, and g_ole_initialized_set.

Referenced by fole_s_ole_uninitialize(), and ole_uninitialize_hook().

◆ ole_uninitialize_hook()

static void ole_uninitialize_hook ( rb_event_flag_t  evflag,
VALUE  data,
VALUE  self,
ID  mid,
VALUE  klass 
)
static

Definition at line 804 of file win32ole.c.

References ole_uninitialize().

Referenced by ole_initialize().

◆ ole_usertype2val()

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

Definition at line 3617 of file win32ole.c.

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

Referenced by ole_typedesc2val().

◆ ole_val2variant()

void ole_val2variant ( VALUE  val,
VARIANT *  var 
)

◆ ole_val2variant2()

void ole_val2variant2 ( VALUE  val,
VARIANT *  var 
)

Definition at line 1316 of file win32ole.c.

References g_nil_to, and ole_val2variant().

Referenced by ole_invoke(), and ole_val2variant_ex().

◆ ole_val2variant_ex()

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

Definition at line 973 of file win32ole.c.

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

Referenced by ole_val2olevariantdata(), and val2variant_ptr().

◆ ole_val_ary2variant_ary()

HRESULT ole_val_ary2variant_ary ( VALUE  val,
VARIANT *  var,
VARTYPE  vt 
)

◆ ole_variant2val()

VALUE ole_variant2val ( VARIANT *  pvar)

◆ ole_vstr2wc()

LPWSTR ole_vstr2wc ( VALUE  vstr)

◆ ole_wc2mb()

char* ole_wc2mb ( LPWSTR  pw)

Definition at line 740 of file win32ole.c.

References NULL, ole_alloc_str(), and ole_wc2mb_alloc().

Referenced by find_iid(), ole_const_load(), and ole_excepinfo2msg().

◆ ole_wc2mb_alloc()

static char* ole_wc2mb_alloc ( LPWSTR  pw,
char *  alloc)(UINT size, void *arg,
void *  arg 
)
static

Definition at line 713 of file win32ole.c.

References conv_51932, cWIN32OLE_cp, NULL, ole_wc2mb_conv, size, and xfree().

Referenced by ole_wc2mb(), and ole_wc2vstr().

◆ ole_wc2vstr()

VALUE ole_wc2vstr ( LPWSTR  pw,
BOOL  isfree 
)

◆ oledata_get_struct()

struct oledata* oledata_get_struct ( VALUE  ole)

◆ rbtime2vtdate()

static double rbtime2vtdate ( VALUE  tmobj)
static

Definition at line 418 of file win32ole.c.

References RB_FIX2INT, rb_funcall(), and rb_intern.

Referenced by ole_val2variant().

◆ reference_count()

static ULONG reference_count ( struct oledata pole)
static

Definition at line 2107 of file win32ole.c.

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

Referenced by fole_s_free(), and fole_s_reference_count().

◆ reg_enum_key()

VALUE reg_enum_key ( HKEY  hkey,
DWORD  i 
)

◆ reg_get_val()

VALUE reg_get_val ( HKEY  hkey,
const char *  subkey 
)

◆ reg_get_val2()

VALUE reg_get_val2 ( HKEY  hkey,
const char *  subkey 
)

◆ reg_open_key()

LONG reg_open_key ( HKEY  hkey,
const char *  name,
HKEY *  phkey 
)

◆ reg_open_vkey()

LONG reg_open_vkey ( HKEY  hkey,
VALUE  key,
HKEY *  phkey 
)

◆ set_argv()

static VALUE set_argv ( VARIANTARG *  realargs,
unsigned int  beg,
unsigned int  end 
)
static

◆ set_ole_codepage()

static void set_ole_codepage ( UINT  cp)
static

◆ typeinfo_from_ole()

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

◆ typelib_from_val()

HRESULT typelib_from_val ( VALUE  obj,
ITypeLib **  pTypeLib 
)

◆ ULONG()

static ULONG ( STDMETHODCALLTYPE  AddRef)
static

◆ val2dispatch()

static IDispatch * val2dispatch ( VALUE  val)
static

◆ val2variant_ptr()

VOID* val2variant_ptr ( VALUE  val,
VARIANT *  var,
VARTYPE  vt 
)

◆ vtdate2rbtime()

static VALUE vtdate2rbtime ( double  date)
static

Definition at line 446 of file win32ole.c.

References rb_cTime, RB_FIX2INT, rb_float_new, rb_funcall(), RB_INT2FIX, and rb_intern.

Referenced by ole_variant2val().

Variable Documentation

◆ cNames

static REFIID LPOLESTR __RPC_FAR UINT cNames

Definition at line 86 of file win32ole.c.

◆ com_hash

VALUE com_hash
static

Definition at line 56 of file win32ole.c.

Referenced by Init_win32ole(), and val2dispatch().

◆ com_vtbl

IDispatchVtbl com_vtbl
static

Definition at line 58 of file win32ole.c.

Referenced by Init_win32ole(), and val2dispatch().

◆ cWIN32OLE

VALUE cWIN32OLE

◆ cWIN32OLE_cp

UINT cWIN32OLE_cp = CP_ACP
static

◆ cWIN32OLE_enc

rb_encoding* cWIN32OLE_enc
static

Definition at line 60 of file win32ole.c.

◆ dispIdMember

DISPID dispIdMember

Definition at line 87 of file win32ole.c.

◆ dwCallType

DWORD dwCallType

Definition at line 213 of file win32ole.c.

◆ dwPendingType

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:213
static HTASK threadIDCallee
Definition: win32ole.c:247
int rb_during_gc(void)
Definition: gc.c:6664
static HTASK DWORD DWORD dwPendingType
Definition: win32ole.c:267
static IMessageFilter * previous_filter
Definition: win32ole.c:66

Definition at line 267 of file win32ole.c.

◆ dwRejectType

HTASK DWORD DWORD dwRejectType
Initial value:
{
return previous_filter->lpVtbl->RetryRejectedCall(previous_filter,
}
return 1000
static DWORD HTASK DWORD dwTickCount
Definition: win32ole.c:213
static HTASK threadIDCallee
Definition: win32ole.c:247
static HTASK DWORD DWORD dwRejectType
Definition: win32ole.c:251
static IMessageFilter * previous_filter
Definition: win32ole.c:66

Definition at line 251 of file win32ole.c.

◆ dwTickCount

static HTASK DWORD dwTickCount

Definition at line 213 of file win32ole.c.

◆ enc2cp_hash

VALUE enc2cp_hash
static

Definition at line 57 of file win32ole.c.

Referenced by Init_win32ole(), and ole_vstr2wc().

◆ g_cp_installed

BOOL g_cp_installed = FALSE
static

Definition at line 51 of file win32ole.c.

Referenced by code_page_installed(), and installed_code_page_proc().

◆ g_cp_to_check

UINT g_cp_to_check = CP_ACP
static

Definition at line 61 of file win32ole.c.

Referenced by code_page_installed(), and installed_code_page_proc().

◆ g_lcid_installed

BOOL g_lcid_installed = FALSE
static

Definition at line 52 of file win32ole.c.

Referenced by installed_lcid_proc(), and lcid_installed().

◆ g_lcid_to_check

char g_lcid_to_check[8+1]
static

Definition at line 62 of file win32ole.c.

Referenced by installed_lcid_proc(), and lcid_installed().

◆ g_nil_to

VARTYPE g_nil_to = VT_ERROR
static

Definition at line 63 of file win32ole.c.

Referenced by ole_val2variant(), and ole_val2variant2().

◆ g_ole_initialized_key

volatile DWORD g_ole_initialized_key = TLS_OUT_OF_INDEXES
static

Definition at line 44 of file win32ole.c.

◆ g_uninitialize_hooked

BOOL g_uninitialize_hooked = FALSE
static

Definition at line 50 of file win32ole.c.

Referenced by ole_initialize().

◆ gCoCreateInstanceEx

FNCOCREATEINSTANCEEX* gCoCreateInstanceEx = NULL
static

Definition at line 55 of file win32ole.c.

Referenced by ole_create_dcom().

◆ ghhctrl

HINSTANCE ghhctrl = NULL
static

Definition at line 53 of file win32ole.c.

Referenced by ole_show_help().

◆ gole32

HINSTANCE gole32 = NULL
static

Definition at line 54 of file win32ole.c.

Referenced by ole_create_dcom().

◆ imessage_filter

IMessageFilter imessage_filter = { &message_filter }
static

Definition at line 65 of file win32ole.c.

Referenced by ole_initialize().

◆ iTInfo

static UINT iTInfo

Definition at line 85 of file win32ole.c.

◆ lcid

static REFIID LPOLESTR __RPC_FAR UINT LCID lcid

Definition at line 85 of file win32ole.c.

Referenced by find_iid(), fole_s_set_locale(), and foletypelib_path().

◆ lpInterfaceInfo

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:218
static DWORD HTASK threadIDCaller
Definition: win32ole.c:213
static DWORD HTASK DWORD dwTickCount
Definition: win32ole.c:213
static DWORD dwCallType
Definition: win32ole.c:213
int rb_during_gc(void)
Definition: gc.c:6664
static IMessageFilter * previous_filter
Definition: win32ole.c:66

Definition at line 218 of file win32ole.c.

◆ message_filter

IMessageFilterVtbl message_filter
static

Definition at line 64 of file win32ole.c.

Referenced by Init_win32ole().

◆ nameid

ID nameid = rb_check_id_cstr(psz, (long)strlen(psz), cWIN32OLE_enc)

Definition at line 352 of file win32ole.c.

◆ ole_datatype

const rb_data_type_t ole_datatype
static
Initial value:
= {
"win32ole",
}
static void ole_free(void *ptr)
Definition: win32ole.c:835
#define RUBY_TYPED_FREE_IMMEDIATELY
Definition: ruby.h:1145
static size_t ole_size(const void *ptr)
Definition: win32ole.c:842
#define NULL
Definition: _sdbm.c:102

Definition at line 173 of file win32ole.c.

◆ pctinfo

static UINT __RPC_FAR * pctinfo
Initial value:
{
return E_NOTIMPL

Definition at line 84 of file win32ole.c.

◆ pDispParams

DISPID REFIID LCID WORD DISPPARAMS __RPC_FAR* pDispParams

Definition at line 87 of file win32ole.c.

◆ pExcepInfo

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

Definition at line 87 of file win32ole.c.

◆ ppTInfo

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

Definition at line 85 of file win32ole.c.

◆ ppvObject

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:1663
static IMessageFilterVtbl message_filter
Definition: win32ole.c:64
static REFIID riid
Definition: win32ole.c:81
static REFIID void __RPC_FAR *__RPC_FAR * ppvObject
Definition: win32ole.c:81

Definition at line 81 of file win32ole.c.

◆ previous_filter

IMessageFilter* previous_filter
static

Definition at line 66 of file win32ole.c.

Referenced by ole_initialize().

◆ puArgErr

DISPID REFIID LCID WORD DISPPARAMS __RPC_FAR VARIANT __RPC_FAR EXCEPINFO __RPC_FAR UINT __RPC_FAR* puArgErr

Definition at line 87 of file win32ole.c.

◆ pVarResult

DISPID REFIID LCID WORD DISPPARAMS __RPC_FAR VARIANT __RPC_FAR* pVarResult

Definition at line 87 of file win32ole.c.

◆ rgDispId

static REFIID LPOLESTR __RPC_FAR UINT LCID DISPID __RPC_FAR * rgDispId
Initial value:
{
char* psz = ole_wc2mb(*rgszNames)
static REFIID LPOLESTR __RPC_FAR * rgszNames
Definition: win32ole.c:86
char * ole_wc2mb(LPWSTR pw)
Definition: win32ole.c:740

Definition at line 86 of file win32ole.c.

◆ rgszNames

static REFIID LPOLESTR __RPC_FAR * rgszNames

Definition at line 86 of file win32ole.c.

◆ riid

static REFIID riid

Definition at line 81 of file win32ole.c.

◆ threadIDCallee

static HTASK threadIDCallee

Definition at line 247 of file win32ole.c.

◆ threadIDCaller

DWORD HTASK threadIDCaller

Definition at line 213 of file win32ole.c.

◆ wFlags

DISPID REFIID LCID WORD wFlags

Definition at line 87 of file win32ole.c.

◆ win32ole_hash_datatype

const rb_data_type_t win32ole_hash_datatype
static
Initial value:
= {
"win32ole_hash",
}
#define RUBY_TYPED_FREE_IMMEDIATELY
Definition: ruby.h:1145
static size_t com_hash_size(const void *ptr)
Definition: win32ole.c:3888
static void com_hash_free(void *ptr)
Definition: win32ole.c:3874
static void com_hash_mark(void *ptr)
Definition: win32ole.c:3881

Definition at line 179 of file win32ole.c.