FindFirstCodePage
La fonction SNANLS (SNANLS) FindFirstCodePage recherche la première instance d’une page de code répondant à la condition spécifiée, copie les informations de la page de code dans une structure passée en tant que paramètre, puis ouvre et retourne un handle utilisé dans les appels suivants à la fonction FindNextCodePage.
Syntaxe
const HANDLE WINAPI FindFirstCodePage(
DWORDdwEnumOption,
struct CodePage *pPage
);
Paramètres
dwEnumOption
Paramètre fourni. Ensemble de conditions auxquelles une page de code doit satisfaire. Ces conditions peuvent être n’importe quelle combinaison des valeurs suivantes définies dans le fichier include SNANLS.h :
ENUM_CP_AVAILABLE (0x01)
La page de code est installée et disponible pour utilisation.
ENUM_CP_HOST (0x02)
La page de code est une page de code hôte (EBCDIC, par exemple).
ENUM_CP_EURO (0x04)
La page de code contient la prise en charge du caractère euro.
ENUM_CP_DBCS (0x08)
La page de code concerne un jeu de caractères sur deux octets.
ENUM_CP_MBCS (0x10)
La page de code concerne un jeu de caractères d’octets mixtes.
ENUM_CP_SBCS (0x20)
La page de code concerne un jeu de caractères sur un octet.
Notez que certaines de ces combinaisons représentent des cas qui ne correspondent à aucune page de code installée utilisée par SNANLS.
pPage
Paramètre fourni et retourné. Pointeur vers un struct CodePage où les informations de la page de code doivent être copiées.
Lors d’un retour réussi, l’emplacement de mémoire indiqué par ce paramètre est rempli avec les informations de la première page de code qui satisfait aux conditions dans dwEnumOption. En cas d’échec, aucune modification n’est apportée à la mémoire pointée par ce paramètre.
Le struct CodePage est défini dans le SNANLS. Incluez le fichier H comme suit :
struct CodePage {
BYTE CodePageKey;
DWORD CodePageID;
WCHAR szFriendlyName[CP_SIZE];
short eGroup;
BOOL bAvailable;
BYTE bccsid;
BOOL bEuro;
};
Les membres de cette structure CodePage sont les suivants :
CodePageKey
Valeur numérique qui représente l’index dans le tableau de structures CodePage. Cette valeur doit être utilisée comme une valeur opaque, car cette valeur peut être modifiée arbitrairement par les Service Packs lorsque des pages de code supplémentaires sont prises en charge.
CodePageID
Numéro de page de code NLS.
szFriendlyName
Nom d’affichage SNANLS de cette page de code.
eGroup
Groupe par lequel cette page de code est représentée. . Cette valeur peut être l’une des énumérations suivantes définies dans le fichier include SNANLS.h pour les groupes de code :
ENUM_CP_EBCDIC
Cette page de code est membre du groupe de pages de code EBCDIC.
ENUM_CP_ANSI
Cette page de code est membre du groupe de pages de code ANSI.
ENUM_CP_ISO
Cette page de code est membre du groupe de pages de code ISO.
ENUM_CP_OEMPC
Cette page de code est membre du groupe de pages de codes de PC OEM.
ENUM_CP_ISO
Cette page de code est membre du groupe de pages de code ISO.
ENUM_CP_ISO
Cette page de code est membre du groupe de pages de code ISO.
ENUM_CP_OEM PC
Cette page de code est membre du groupe de pages de codes de PC OEM.
ENUM_CP_OPEN
Cette page de code est membre du groupe de pages de code Open Systems.
ENUM_CP_UCS
Cette page de code est membre du groupe de pages de code UCS.
bDisponible
Boolean utilisé pour indiquer que cette page de code est installée sur l’ordinateur. La valeur FALSE pour ce membre indique que l’ordinateur ne sera pas interrogé pour déterminer si cette page de code est installée. La valeur TRUE indique que la page de code est installée.
bccsid
Indicateur utilisé pour indiquer le type de page de code. Cet indicateur peut être l’un des suivants :
ENUM_CP_DBCS (0x08)
La page de code concerne un jeu de caractères sur deux octets.
ENUM_CP_MBCS (0x10)
La page de code concerne un jeu de caractères d’octets mixtes.
ENUM_CP_SBCS (0x20)
La page de code concerne un jeu de caractères sur un octet.
bEuro
Valeur booléenne utilisée pour indiquer si cette page de code prend en charge le symbole euro. Si cette valeur est TRUE, le symbole euro est pris en charge.
Valeur renvoyée
La fonction FindFirstCodePage retourne un handle utilisé dans les appels à FindNextCodePage ou FindCloseCodePage en cas de réussite. En cas d’échec, INVALID_HANDLE_VALUE est retourné pour la valeur de ce handle.
Remarques
Le handle retourné par cette fonction ne doit pas être falsifié par l’utilisateur.
Cette fonction est prise en charge par SNANLS sur Host Integration Server.