が上手く動かない。日本語だと最初の一文字しか変換しない。英数字なら正しく変換するんだけど。うーん…。
→と書いたらこんな問題が。直接は関係無いんだけどヒントになった。MSXMLのSAXのstartElementの引数として渡されるISAXAttributesに対しgetValue(i,&vl,&vll)を行うとvllには文字数がそのまんま入る。abcなら3,あいうでも3.これをWideCharToMultiByteの変換先バッファ長に使っていた。日本語だから1文字2バイトだから足りなくなる訳。変換先バッファ長に、準備したバッファの最大長を指定することで解決。
Microsoft謹製のSAXサンプルはこの問題があるので日本人は注意ですよ。