56 &olevariable_datatype, pvar);
96 hr = pTypeInfo->lpVtbl->GetVarDesc(pTypeInfo, var_index, &pVarDesc);
100 pTypeInfo->lpVtbl->ReleaseVarDesc(pTypeInfo, pVarDesc);
138 hr = pTypeInfo->lpVtbl->GetVarDesc(pTypeInfo, var_index, &pVarDesc);
142 pTypeInfo->lpVtbl->ReleaseVarDesc(pTypeInfo, pVarDesc);
172 hr = pTypeInfo->lpVtbl->GetVarDesc(pTypeInfo, var_index, &pVarDesc);
175 if(pVarDesc->varkind == VAR_CONST)
177 pTypeInfo->lpVtbl->ReleaseVarDesc(pTypeInfo, pVarDesc);
216 hr = pTypeInfo->lpVtbl->GetVarDesc(pTypeInfo, var_index, &pVarDesc);
219 if (!(pVarDesc->wVarFlags & (VARFLAG_FHIDDEN |
220 VARFLAG_FRESTRICTED |
221 VARFLAG_FNONBROWSABLE))) {
224 pTypeInfo->lpVtbl->ReleaseVarDesc(pTypeInfo, pVarDesc);
262 hr = pTypeInfo->lpVtbl->GetVarDesc(pTypeInfo, var_index, &pVarDesc);
265 switch(pVarDesc->varkind) {
266 case VAR_PERINSTANCE:
281 pTypeInfo->lpVtbl->ReleaseVarDesc(pTypeInfo, pVarDesc);
318 hr = pTypeInfo->lpVtbl->GetVarDesc(pTypeInfo, var_index, &pVarDesc);
321 pTypeInfo->lpVtbl->ReleaseVarDesc(pTypeInfo, pVarDesc);
VALUE eWIN32OLERuntimeError
static VALUE folevariable_name(VALUE self)
#define RUBY_TYPED_FREE_IMMEDIATELY
static VALUE folevariable_varkind(VALUE self)
#define TypedData_Get_Struct(obj, type, data_type, sval)
static VALUE ole_variable_kind(ITypeInfo *pTypeInfo, UINT var_index)
VALUE rb_ivar_get(VALUE, ID)
static VALUE folevariable_inspect(VALUE self)
static VALUE folevariable_value(VALUE self)
static VALUE ole_variable_value(ITypeInfo *pTypeInfo, UINT var_index)
VALUE make_inspect(const char *class_name, VALUE detail)
static const rb_data_type_t olevariable_datatype
void ole_raise(HRESULT hr, VALUE ecs, const char *fmt,...)
void Init_win32ole_variable(void)
RUBY_EXTERN VALUE rb_cObject
static size_t olevariable_size(const void *ptr)
VALUE rb_define_class(const char *name, VALUE super)
Defines a top-level class.
VALUE ole_variant2val(VARIANT *pvar)
static VALUE ole_variable_ole_type_detail(ITypeInfo *pTypeInfo, UINT var_index)
void rb_define_alias(VALUE klass, const char *name1, const char *name2)
Defines an alias of a method.
VALUE rb_sprintf(const char *format,...)
VALUE create_win32ole_variable(ITypeInfo *pTypeInfo, UINT index, VALUE name)
VALUE rb_ivar_set(VALUE, ID, VALUE)
static VALUE ole_variable_ole_type(ITypeInfo *pTypeInfo, UINT var_index)
VALUE ole_typedesc2val(ITypeInfo *pTypeInfo, TYPEDESC *pTypeDesc, VALUE typedetails)
static VALUE ole_variable_varkind(ITypeInfo *pTypeInfo, UINT var_index)
static VALUE ole_variable_visible(ITypeInfo *pTypeInfo, UINT var_index)
typedef HRESULT(STDAPICALLTYPE FNCOCREATEINSTANCEEX)(REFCLSID
static VALUE folevariable_visible(VALUE self)
#define TypedData_Make_Struct(klass, type, data_type, sval)
static VALUE folevariable_ole_type_detail(VALUE self)
static VALUE folevariable_variable_kind(VALUE self)
static VALUE folevariable_ole_type(VALUE self)
void rb_define_method(VALUE klass, const char *name, VALUE(*func)(ANYARGS), int argc)
static void olevariable_free(void *ptr)