要約
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)。