要約
OLEオートメーション型を指定するための定数を定義したモジュールです。
WIN32OLE::VARIANTは、WIN32OLE_VARIANTオブジェクトの作成時や、 WIN32OLE#_invokeなどのメソッド呼び出し時に、ユーザがRubyのオブジェクトの変換方法を指定するための定数を提供します。
これらの値は、COMの仕様で定義されたOLEオートメーション型と呼ばれる一連の型を決定する定数です。ただし、一部、OLEオートメーション非互換の型も定義されているため、利用時にはOLEオートメーション互換型のみを利用するようにしてください。
目次
- 定数
定数
- VT_ARRAY -> Integer[permalink][rdoc][edit]
- 
配列(SafeArray)を示します(0x2000)。 
- VT_BOOL -> Integer[permalink][rdoc][edit]
- 
真偽値を示します(11)。 
- VT_BSTR -> Integer[permalink][rdoc][edit]
- 
文字列(BSTR)を示します(8)。 OLEオートメーションのBSTRはUnicodeで表現された長さ付き文字列です。Ruby のStringとBSTRの相互変換は、WIN32OLEがWIN32OLE#codepageに基づいて自動的に行います。 
- VT_BYREF -> Integer[permalink][rdoc][edit]
- 
参照を示します(0x4000)。 VT_BYREFは型ではなく、参照を示す型属性です。OLEオートメーションサーバが結果を引数に戻す場合、参照先の型を示す値と論理和を取るために利用します。 
- VT_CY -> Integer[permalink][rdoc][edit]
- 
通貨型(CURRENCY)を示します(6)。 OLEオートメーションのCURRENCY型は、符号付き64ビット整数を10進表記した時の下4桁を小数点以下とすることで、加減算について誤差を生じさせない小数点数を表現します。 CURRENCY型の有効範囲は-922337203685477.5808から922337203685477.5807です。 WIN32OLEはオートメーション呼び出しの返り値がCURRENCY型の場合、文字列に変換します。 
- VT_DATE -> Integer[permalink][rdoc][edit]
- 
日付型(DATE)を示します(7)。 OLEオートメーションのDATE型は、1899年12月30日0時00分からの日時を示す64 ビット浮動小数点数型です。 WIN32OLEは、RubyのTime型と自動的に変換します。 
- VT_DISPATCH -> Integer[permalink][rdoc][edit]
- 
OLEオートメーションオブジェクトを示します(9)。 RubyのオブジェクトをOLEオートメーションサーバへ与える場合に利用します。 
- VT_EMPTY -> Integer[permalink][rdoc][edit]
- 
空(初期化状態)のオブジェクトを示します(0)。 
- VT_ERROR -> Integer[permalink][rdoc][edit]
- 
HRESULTを示します(10)。 HRESULTは、COMを含むWindowsのサービスがアプリケーションへ通知する統一的なエラーコードです。 HRESULT: http://msdn.microsoft.com/en-us/library/cc704587(v=PROT.10).aspx 
- VT_I1 -> Integer[permalink][rdoc][edit]
- 
符号付き8ビット整数(char)を示します(16)。 OLEオートメーションの仕様上は利用できません。 
- VT_I2 -> Integer[permalink][rdoc][edit]
- 
符号付き16ビット整数(short)を示します(2)。 
- VT_I4 -> Integer[permalink][rdoc][edit]
- 
符号付き32ビット整数(int)を示します(3)。 
- VT_INT -> Integer[permalink][rdoc][edit]
- 
符号付き整数(int)を示します(22)。 
- VT_NULL -> Integer[permalink][rdoc][edit]
- 
NULL型の値を示します(1)。 WIN32OLE::VARIANT.VT_EMPTYと異なり、NULLという値(たとえばSQLパラメータでNULLを指定する場合など)を示します。 
- VT_PTR -> Integer[permalink][rdoc][edit]
- 
ポインタ型を示します(26)。 VT_PTRは、VOID*に相当するため、OLEオートメーションでは利用できません。 
- VT_R4 -> Integer[permalink][rdoc][edit]
- 
単精度浮動小数点数を示します(4)。 
- VT_R8 -> Integer[permalink][rdoc][edit]
- 
倍精度浮動小数点数を示します(5)。 
- VT_UI1 -> Integer[permalink][rdoc][edit]
- 
符号なし8ビット整数(unsigned char)を示します(17)。 
- VT_UI2 -> Integer[permalink][rdoc][edit]
- 
符号なし16ビット整数(unsigned short)を示します(18)。 OLEオートメーションでは利用できません。代わりにVT_I2を利用してください。 
- VT_UI4 -> Integer[permalink][rdoc][edit]
- 
符号なし32ビット整数(unsigned int)を示します(19)。 OLEオートメーションでは利用できません。代わりにVT_I4を利用してください。 
- VT_UINT -> Integer[permalink][rdoc][edit]
- 
符号なし整数(unsigned int)を示します(23)。 OLEオートメーションでは利用できません。代わりにVT_I4を利用してください。 
- VT_UNKNOWN -> Integer[permalink][rdoc][edit]
- 
COMインターフェイスを示します(13)。 
- VT_USERDEFINED -> Integer[permalink][rdoc][edit]
- 
ユーザ定義型を示します(29)。 OLEオートメーションでは利用できません。代わりにVT_I4を利用してください。 
- VT_VARIANT -> Integer[permalink][rdoc][edit]
- 
VARIANT型を示します(12)。