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

Go to the source code of this file.

Data Structures

struct  olevariantdata
 

Functions

static void olevariant_free (void *ptr)
 
static size_t olevariant_size (const void *ptr)
 
static void ole_val2olevariantdata (VALUE val, VARTYPE vt, struct olevariantdata *pvar)
 
static void ole_val2variant_err (VALUE val, VARIANT *var)
 
static void ole_set_byref (VARIANT *realvar, VARIANT *var, VARTYPE vt)
 
static VALUE folevariant_s_allocate (VALUE klass)
 
static VALUE folevariant_s_array (VALUE klass, VALUE dims, VALUE vvt)
 
static void check_type_val2variant (VALUE val)
 
static VALUE folevariant_initialize (VALUE self, VALUE args)
 
static LONG * ary2safe_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 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)
 
void ole_variant2variant (VALUE val, VARIANT *var)
 
void Init_win32ole_variant (void)
 

Variables

static const rb_data_type_t olevariant_datatype
 

Function Documentation

◆ ary2safe_array_index()

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

◆ check_type_val2variant()

static void check_type_val2variant ( VALUE  val)
static

◆ folevariant_ary_aref()

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

◆ folevariant_ary_aset()

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

◆ folevariant_initialize()

static VALUE folevariant_initialize ( VALUE  self,
VALUE  args 
)
static

◆ folevariant_s_allocate()

static VALUE folevariant_s_allocate ( VALUE  klass)
static

◆ folevariant_s_array()

static VALUE folevariant_s_array ( VALUE  klass,
VALUE  dims,
VALUE  vvt 
)
static

◆ folevariant_set_value()

static VALUE folevariant_set_value ( VALUE  self,
VALUE  val 
)
static

◆ folevariant_value()

static VALUE folevariant_value ( VALUE  self)
static

◆ folevariant_vartype()

static VALUE folevariant_vartype ( VALUE  self)
static

Definition at line 648 of file win32ole_variant.c.

References RB_INT2FIX, TypedData_Get_Struct, and olevariantdata::var.

Referenced by Init_win32ole_variant().

◆ get_locked_safe_array()

static SAFEARRAY * get_locked_safe_array ( VALUE  val)
static

◆ Init_win32ole_variant()

void Init_win32ole_variant ( void  )

◆ ole_set_byref()

static void ole_set_byref ( VARIANT *  realvar,
VARIANT *  var,
VARTYPE  vt 
)
static

◆ ole_val2olevariantdata()

static void ole_val2olevariantdata ( VALUE  val,
VARTYPE  vt,
struct olevariantdata pvar 
)
static

◆ ole_val2variant_err()

static void ole_val2variant_err ( VALUE  val,
VARIANT *  var 
)
static

◆ ole_variant2variant()

void ole_variant2variant ( VALUE  val,
VARIANT *  var 
)

Definition at line 685 of file win32ole_variant.c.

References TypedData_Get_Struct, and olevariantdata::var.

Referenced by ole_invoke(), and ole_val2variant().

◆ olevariant_free()

static void olevariant_free ( void *  ptr)
static

Definition at line 33 of file win32ole_variant.c.

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

◆ olevariant_size()

static size_t olevariant_size ( const void *  ptr)
static

Definition at line 42 of file win32ole_variant.c.

◆ unlock_safe_array()

static void unlock_safe_array ( SAFEARRAY *  psa)
static

Definition at line 474 of file win32ole_variant.c.

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

Referenced by folevariant_ary_aref(), and folevariant_ary_aset().

Variable Documentation

◆ olevariant_datatype

const rb_data_type_t olevariant_datatype
static
Initial value:
= {
"win32ole_variant",
}
#define RUBY_TYPED_FREE_IMMEDIATELY
Definition: ruby.h:1145
static size_t olevariant_size(const void *ptr)
#define NULL
Definition: _sdbm.c:102
static void olevariant_free(void *ptr)

Definition at line 26 of file win32ole_variant.c.