System.Win32.Com をいじってみる(clsidFromProgIDの巻)

clsidFromProgID をちょっといじってみました。
関数の名前が clsidFromProgID なので ProgID から clsid を作る。つまり、"ADODB.connection" が ProgID と言うもので "{00000514-0000-0010-8000-00AA006D2EA4}" が CLSID と言うことでしょうきっと。

GHCi, version 6.10.3: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer ... linking ... done.
Loading package base ... linking ... done.

Prelude> :m + System.Win32.Com

Prelude System.Win32.Com> :info clsidFromProgID
clsidFromProgID :: ProgID -> IO CLSID
        -- Defined in System.Win32.Com

Prelude System.Win32.Com> clsidFromProgID "ADODB.connection"
Loading package old-locale-1.0.0.1 ... linking ... done.
Loading package old-time-1.0.0.2 ... linking ... done.
Loading package com-1.2.3 ... linking ... done.
{00000514-0000-0010-8000-00AA006D2EA4}

Prelude System.Win32.Com> clsidFromProgID "Excel.Application"
{00024500-0000-0000-C000-000000000046}

Prelude System.Win32.Com> :m + System.Win32.Com.Automation

Prelude System.Win32.Com System.Win32.Com.Automation> coInitialize
Prelude System.Win32.Com System.Win32.Com.Automation> createObject "ADODB.connection"
"<interface pointer = "0x04200e90">"

全く分からない・・・Orz