Sign in to your Microsoft accountより
GetStringTypeWへの引数を「ボーリング工具」および、CT_CTYPE3で指定すると、Windows 2000/VistaとXP/2003では異なる結果が得られるという話。もともとは外国の記号を含むXMLファイルがうまくパースできないという現象を回避するために一部の文字をフィルタリングしたら、一部の顧客(日本とか)から文句言われた。
調べてみると、VistaとWindows 2000での結果と、Windows Server 2003/XPのU+ff9eとU+ff70にはC3_ALPHAがついていないというNLSの実装上の問題だそうな。なるほど。