昨日の日記のフォロー

セキュリティホール memoからたくさん来られてるので、大急ぎでフォロー。
Character Conversion Functions」にて

In WideCharToMultiByte, the default behavior for code pages like 1252 is "best fit" mapping. However (略) For example, Latin capital letter A with dieresis ("Ä") might map to Latin capital letter A ("A")

とありますが、実際に "Ä" (U+00C4) を Unicode からコードページ1252(Windows上でのISO-8859-1)へ変換させても、0xC4 のままです。"Ä" (U+00C4) が "A" (U+0041) にマッピングされるのは、コードページ932(Windows上での Shift_JIS)などの場合です。
また、「Character Sets in File Names」にて

When mapping Unicode to a Japanese-language code page, CharToOem, WideCharToMultiByte and other conversion functions will map both U+005C (backslash) and U+00A5 (the normal Unicode Yen symbol) to this same character.

と、日本語環境下において円記号とバックスラッシュの2文字が等価に扱われる危険性について書かれていますが、日本語環境(コードページ932)に限らなくとも0x5Cにマッピングされる文字は存在しますので日本語以外の環境であっても注意が必要です。