Comment enregistrer en toute sécurité le fichier sur le disque sans risquer que Windows le rejette?

Je développe une application winform. Je veux saisir les informations de l’utilisateur (c.-à-d. L’utilisateur fournit un nom d’utilisateur) et utiliser cette entrée dans le cadre du nom de fichier et l’enregistrer dans un fichier.

Comment puis-je vérifier si le nom d’utilisateur fourni par l’utilisateur ne contient pas de caractères réservés aux fenêtres. Et quelle est la liste des caractères réservés aux fenêtres?

via:

Path.GetInvalidFileNameChars() 

et

  Path.GetInvalidPathChars() 

La liste exacte pourrait être spécifique à une plate-forme (en particulier pour les monos), et elle comprend des caractères non imprimables.