Fonction SetFileApisToANSI (fileapi.h)
Demande aux fonctions d’E/S de fichiers d’utiliser la page de code du jeu de caractères ANSI pour le processus en cours. Cette fonction est utile pour les opérations d’entrée et de sortie de console 8 bits.
Syntaxe
void SetFileApisToANSI();
Valeur de retour
None
Notes
Les fonctions d’E/S de fichier dont la page de code est définie par SetFileApisToANSI sont les fonctions exportées par KERNEL32.DLL qui acceptent ou retournent un nom de fichier. SetFileApisToANSI définit la page de code par processus, plutôt que par thread ou par ordinateur.
La fonction SetFileApisToANSI complète la fonction SetFileApisToOEM , qui permet au même ensemble de fonctions d’E/S de fichier d’utiliser la page de code du jeu de caractères OEM.
Les fonctions de console 8 bits utilisent la page de code OEM par défaut. Toutes les autres fonctions utilisent la page de code ANSI par défaut. Cela signifie que les chaînes retournées par les fonctions de console peuvent ne pas être traitées correctement par d’autres fonctions, et vice versa. Par exemple, si la fonction FindFirstFileA retourne une chaîne qui contient certains caractères ANSI étendus et que les fonctions de console 8 bits sont définies pour utiliser la page de code OEM, la fonction WriteConsoleA n’affiche pas correctement la chaîne.
Utilisez la fonction AreFileApisANSI pour déterminer la page de code que le jeu de fonctions d’E/S de fichier utilise actuellement. Utilisez les fonctions SetConsoleCP et SetConsoleOutputCP pour définir la page de code des fonctions console 8 bits.
Pour résoudre le problème d’incompatibilité de page de code, il est préférable d’utiliser Unicode pour les applications console. Les applications console qui utilisent Unicode sont beaucoup plus polyvalentes que celles qui utilisent des fonctions console 8 bits. À l’exception de cette solution, une application console peut appeler la fonction SetFileApisToOEM pour que le jeu de fonctions d’E/S de fichier utilise des chaînes de jeu de caractères OEM plutôt que des chaînes de jeu de caractères ANSI. Utilisez la fonction SetFileApisToANSI pour renvoyer ces fonctions à la page de code ANSI.
Lors du traitement des lignes de commande, une application console doit obtenir la ligne de commande au format Unicode, puis la convertir en formulaire OEM à l’aide des fonctions caractère à OEM appropriées. Notez également que le tableau dans le paramètre argv de la fonction de ligne de commande main contient des chaînes de jeu de caractères ANSI dans ce cas.
Dans Windows 8 et Windows Server 2012, cette fonction est prise en charge par les technologies suivantes.
Technologie | Prise en charge |
---|---|
Protocole Server Message Block (SMB) 3.0 | Oui |
Basculement transparent SMB 3.0 (TFO) | Oui |
SMB 3.0 avec partages de fichiers avec montée en puissance parallèle (SO) | Oui |
Système de fichiers du volume partagé de cluster (CsvFS) | Oui |
Système de fichiers résilient (ReFS) | Oui |
Configuration requise
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | fileapi.h (inclure Windows.h, WinBase.h) |
Bibliothèque | Kernel32.lib |
DLL | Kernel32.dll |