タグ

COMとc++に関するtasanobuのブックマーク (2)

  • C++でVARIANT型は、どんな定義になっているのですか?VBでのコーディングはDimlsAsVariantls - C++で... - Yahoo!知恵袋

    C++ではVARIANTという構造体と共用体が入り乱れてネストした形になっています。 大きくわけると,どんな型の値が収められているかを示すvtメンバと,実際の値が納められている部分になります。 実際にはCOleVariant(MFC)やATL::CComVariant(ATL)そして_variant_tと言ったラッパークラスがあるので扱いはそんなに苦ではありません。 そしてOLEで配列はSAFEARRAY構造体を使います。 これもCOleSafeArray(MFC)やATL::CComSafeArray(ATL)などのラッパーが存在します。 さて問題のコードはどうなるかというとATLを使えばこうなります。 ATL::CComSafeArray<VARIANT> sa(2); //2は要素数 sa[0] = 1; sa[1] = 5; ATL::CComVariant ls(sa); Arr

    C++でVARIANT型は、どんな定義になっているのですか?VBでのコーディングはDimlsAsVariantls - C++で... - Yahoo!知恵袋
  • シェルエクステンションって?

    シェルエクステンション、もしくはシェル拡張。ウィンドウズの内部に深く入り込む領域。故に、近寄り難く、そして魅かれる。この講座では、この「シェルエクステンション」というものがどれほどのものかというものを見てみましょう。実は簡単? シェルってなぁに? シェル、英語で「貝殻」の意味です。コンピューターの分野では、「OSを包み込んで、ユーザーとの間を取り持つ物」のことを意味します。ちょうど、DOSとウィンドウズ3.1のような関係だと考えると解りやすいかもしれません。 「ウィンドウズ95はOSなのかシェルなのか」という話はここでは置いておきます。ここでは、ウィンドウズをさらに包み込む「シェル」について見てみたいと思います。 ウィンドウズが持つシェルは、「ネームスペース」と呼ばれています。このネームスペースは主にファイル関連の拡張を行うもので、この機能によって無機的なファイルやフォルダを解りやすいオブ

  • 1