Normalización de Unicode en Windows

He estado usando "cadenas Unicode" en Windows durante tanto tiempo ... Aprendí sobre Unicode (por ejemplo,despué graduarse). Sin embargo, siempre me desconcertó que Win32API menciona "unicode" muy libremente. En particular, la variante "unicode" mencionada por MSN es UTF-16 (aunque la terminología "wide char" proviene del hecho de que solía ser UCS-2, que no es Unicode). Sin embargo, casi no hace mención de la normalización Unicode.

MSN tiene algunas páginas sobre Unicode y Formas de normalización de Unicode y funciones paracambie el formulario de normalización. La página sobre normalización incluso dice:

Win32 y .NET Framework admiten los cuatro formularios de normalización.

Sin embargo, no he encontrado en ningún lugar de los documentos qué forma de normalización utiliza (o entiende) la API de Win32.

Pregunta : qué forma de normalización se usa por defecto para la entrada del usuario (como un control de Edición) y la conversión a través deMultiByteToWideChar()?

Pregunta : ¿las cadenas pasadas a las funciones de Win32API deben estar en una forma de normalización particular, o el kernel y el sistema de archivos son independientes de la normalización?

Respuestas a la pregunta(3)

Su respuesta a la pregunta