Partager via


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.