8static void olevariable_free(
void *
ptr);
9static size_t olevariable_size(
const void *
ptr);
11static VALUE ole_variable_ole_type(ITypeInfo *pTypeInfo, UINT var_index);
13static VALUE ole_variable_ole_type_detail(ITypeInfo *pTypeInfo, UINT var_index);
14static VALUE folevariable_ole_type_detail(
VALUE self);
15static VALUE ole_variable_value(ITypeInfo *pTypeInfo, UINT var_index);
17static VALUE ole_variable_visible(ITypeInfo *pTypeInfo, UINT var_index);
19static VALUE ole_variable_kind(ITypeInfo *pTypeInfo, UINT var_index);
20static VALUE folevariable_variable_kind(
VALUE self);
21static VALUE ole_variable_varkind(ITypeInfo *pTypeInfo, UINT var_index);
27 {
NULL, olevariable_free, olevariable_size,},
32olevariable_free(
void *
ptr)
40olevariable_size(
const void *
ptr)
56 &olevariable_datatype, pvar);
85folevariable_name(
VALUE self)
91ole_variable_ole_type(ITypeInfo *
pTypeInfo, UINT var_index)
125folevariable_ole_type(
VALUE self)
133ole_variable_ole_type_detail(ITypeInfo *
pTypeInfo, UINT var_index)
159folevariable_ole_type_detail(
VALUE self)
163 return ole_variable_ole_type_detail(pvar->
pTypeInfo, pvar->
index);
167ole_variable_value(ITypeInfo *
pTypeInfo, UINT var_index)
175 if(pVarDesc->varkind == VAR_CONST)
203folevariable_value(
VALUE self)
211ole_variable_visible(ITypeInfo *
pTypeInfo, UINT var_index)
219 if (!(pVarDesc->wVarFlags & (VARFLAG_FHIDDEN |
220 VARFLAG_FRESTRICTED |
221 VARFLAG_FNONBROWSABLE))) {
249folevariable_visible(
VALUE self)
257ole_variable_kind(ITypeInfo *
pTypeInfo, UINT var_index)
265 switch(pVarDesc->varkind) {
266 case VAR_PERINSTANCE:
305folevariable_variable_kind(
VALUE self)
313ole_variable_varkind(ITypeInfo *
pTypeInfo, UINT var_index)
345folevariable_varkind(
VALUE self)
360folevariable_inspect(
VALUE self)
363 VALUE n = folevariable_name(
self);
VALUE rb_define_class(const char *, VALUE)
Defines a top-level class.
void rb_define_alias(VALUE, const char *, const char *)
Defines an alias of a method.
VALUE rb_cObject
Object class.
VALUE rb_inspect(VALUE)
Convenient wrapper of Object::inspect.
VALUE type(ANYARGS)
ANYARGS-ed function type.
VALUE ole_typedesc2val(ITypeInfo *pTypeInfo, TYPEDESC *pTypeDesc, VALUE typedetails)
typedef HRESULT(STDAPICALLTYPE FNCOCREATEINSTANCEEX)(REFCLSID
VALUE ole_variant2val(VARIANT *pvar)
VALUE make_inspect(const char *class_name, VALUE detail)
VALUE eWIN32OLERuntimeError
void ole_raise(HRESULT hr, VALUE ecs, const char *fmt,...)
void Init_win32ole_variable(void)
VALUE create_win32ole_variable(ITypeInfo *pTypeInfo, UINT index, VALUE name)