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

Go to the source code of this file.

Data Structures

struct  olerecorddata
 

Functions

static HRESULT recordinfo_from_itypelib (ITypeLib *pTypeLib, VALUE name, IRecordInfo **ppri)
 
static int hash2olerec (VALUE key, VALUE val, VALUE rec)
 
static void olerecord_free (void *pvar)
 
static size_t olerecord_size (const void *ptr)
 
static VALUE folerecord_s_allocate (VALUE klass)
 
static VALUE folerecord_initialize (VALUE self, VALUE typename, VALUE oleobj)
 
static VALUE folerecord_to_h (VALUE self)
 
static VALUE folerecord_typename (VALUE self)
 
static VALUE olerecord_ivar_get (VALUE self, VALUE name)
 
static VALUE olerecord_ivar_set (VALUE self, VALUE name, VALUE val)
 
static VALUE folerecord_method_missing (int argc, VALUE *argv, VALUE self)
 
static VALUE folerecord_ole_instance_variable_get (VALUE self, VALUE name)
 
static VALUE folerecord_ole_instance_variable_set (VALUE self, VALUE name, VALUE val)
 
static VALUE folerecord_inspect (VALUE self)
 
void ole_rec2variant (VALUE rec, VARIANT *var)
 
void olerecord_set_ivar (VALUE obj, IRecordInfo *pri, void *prec)
 
VALUE create_win32ole_record (IRecordInfo *pri, void *prec)
 
void Init_win32ole_record (void)
 

Variables

static const rb_data_type_t olerecord_datatype
 

Function Documentation

◆ create_win32ole_record()

VALUE create_win32ole_record ( IRecordInfo *  pri,
void *  prec 
)

Definition at line 172 of file win32ole_record.c.

References cWIN32OLE_RECORD, folerecord_s_allocate(), and olerecord_set_ivar().

Referenced by ole_variant2val().

◆ folerecord_initialize()

static VALUE folerecord_initialize ( VALUE  self,
VALUE  typename,
VALUE  oleobj 
)
static

◆ folerecord_inspect()

static VALUE folerecord_inspect ( VALUE  self)
static

◆ folerecord_method_missing()

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

◆ folerecord_ole_instance_variable_get()

static VALUE folerecord_ole_instance_variable_get ( VALUE  self,
VALUE  name 
)
static

◆ folerecord_ole_instance_variable_set()

static VALUE folerecord_ole_instance_variable_set ( VALUE  self,
VALUE  name,
VALUE  val 
)
static

◆ folerecord_s_allocate()

static VALUE folerecord_s_allocate ( VALUE  klass)
static

◆ folerecord_to_h()

static VALUE folerecord_to_h ( VALUE  self)
static

Definition at line 358 of file win32ole_record.c.

References rb_intern, and rb_ivar_get().

Referenced by folerecord_inspect(), Init_win32ole_record(), and ole_rec2variant().

◆ folerecord_typename()

static VALUE folerecord_typename ( VALUE  self)
static

Definition at line 395 of file win32ole_record.c.

References rb_intern, and rb_ivar_get().

Referenced by folerecord_inspect(), and Init_win32ole_record().

◆ hash2olerec()

static int hash2olerec ( VALUE  key,
VALUE  val,
VALUE  rec 
)
static

◆ Init_win32ole_record()

void Init_win32ole_record ( void  )

◆ ole_rec2variant()

void ole_rec2variant ( VALUE  rec,
VARIANT *  var 
)

◆ olerecord_free()

static void olerecord_free ( void *  pvar)
static

Definition at line 216 of file win32ole_record.c.

References free(), OLE_FREE, olerecorddata::pdata, and olerecorddata::pri.

◆ olerecord_ivar_get()

static VALUE olerecord_ivar_get ( VALUE  self,
VALUE  name 
)
static

◆ olerecord_ivar_set()

static VALUE olerecord_ivar_set ( VALUE  self,
VALUE  name,
VALUE  val 
)
static

◆ olerecord_set_ivar()

void olerecord_set_ivar ( VALUE  obj,
IRecordInfo *  pri,
void *  prec 
)

◆ olerecord_size()

static size_t olerecord_size ( const void *  ptr)
static

Definition at line 226 of file win32ole_record.c.

References HRESULT(), olerecorddata::pri, size, and ULONG().

◆ recordinfo_from_itypelib()

static HRESULT recordinfo_from_itypelib ( ITypeLib *  pTypeLib,
VALUE  name,
IRecordInfo **  ppri 
)
static

Definition at line 30 of file win32ole_record.c.

References count, HRESULT(), NULL, OLE_RELEASE, rb_str_cmp(), and WC2VSTR.

Referenced by folerecord_initialize().

Variable Documentation

◆ olerecord_datatype

const rb_data_type_t olerecord_datatype
static
Initial value:
= {
"win32ole_record",
}
#define RUBY_TYPED_FREE_IMMEDIATELY
Definition: ruby.h:1145
static size_t olerecord_size(const void *ptr)
static void olerecord_free(void *pvar)
#define NULL
Definition: _sdbm.c:102

Definition at line 23 of file win32ole_record.c.