potisanのプログラミングメモ

趣味のプログラマーがプログラミング関係で気になったことや調べたことをいつでも忘れられるようにメモするブログです。はてなブログ無料版なので記事の上の方はたぶん広告です。記事中にも広告挿入されるみたいです。

C++ InitVariantFromStringで作成されるVARIANTはVT_BSTR

InitVariantFromString関数(<propvarutil.h>)はVARIANTvt == VT_BSTRvt == 8)で初期化します。Microsoft DocsのVariantClearの記述からVariantClearが解放するのはVT_BSTRVT_DISPATCHVT_ARRAYとあるため、VT_LPWSTRVT_LPSTRは避けられたと考えられます。

#define STRICT
#include <Windows.h>
#include <propvarutil.h>

int main()
{
    VARIANT var;
    InitVariantFromString(L"TEST", &var);
    // var.vt == 8 (VT_BSTR)

    return 0;
}