WinCPICStartup
La fonction WinCPICStartup permet à une application de spécifier la version de Microsoft Windows Common Programming Interface for Communications (CPI-C) requise et de récupérer les détails de l’implémentation spécifique de Windows CPI-C. Cette fonction doit être appelée par une application pour s’inscrire auprès d’une implémentation Windows CPI-C avant d’émettre d’autres appels Windows CPI-C.
Syntaxe
INT WINAPI WinCPICStartup(
WORDwVersionRequired,
LPWCPICDATAlpwcpicdata);
Paramètres
wVersionRequired
Spécifie la version de la prise en charge de Windows CPI-C requise. L’octet d’ordre élevé spécifie le numéro de version mineure (révision). L’octet de faible ordre spécifie le numéro de version principale.
lpwcpicdata
Pointeur vers la structure de données CPI-C. La structure CPICDATA est définie comme suit :
typedef struct {
....WORD wVersion;
char szDescription[WCPICDESCRIPTION_LEN+1];
} CPICDATA, FAR * LPWCPICDATA;
WCPIDESCRIPTION est défini comme étant 127 et les membres de la structure sont les suivants :
wVersion
Version de Windows CPI-C prise en charge. L’octet d’ordre élevé spécifie le numéro de version mineure (révision). L’octet de faible ordre spécifie le numéro de version principale.
szDescription.
Chaîne de description décrivant la version CPI-C prise en charge.
Valeur renvoyée
La valeur de retour spécifie si l’application a été inscrite avec succès et si l’implémentation de Windows CPI-C peut prendre en charge le numéro de version spécifié. Si la valeur est égale à zéro, elle a été inscrite avec succès. Sinon, la valeur de retour est l’une des suivantes :
WCPICSYSNOTRERADY
Le système réseau sous-jacent n’est pas prêt pour la communication réseau.
WCPICVERNOTSUPPORTED
La version de la prise en charge de Windows CPI-C demandée n’est pas fournie par cette implémentation particulière de Windows CPI-C.
WCPICINVALID
La version de Windows CPI-C spécifiée par l’application n’est pas prise en charge par cette bibliothèque de liens dynamiques (DLL).
Remarques
Pour prendre en charge les futures implémentations et applications Windows CPI-C qui peuvent présenter des différences de fonctionnalités par rapport à Windows CPI-C version 1.0, une négociation a lieu dans WinCPICStartup. Une application transmet à WinCPICStartup la version windows CPI-C qu’elle peut utiliser. Si cette version est inférieure à la version la plus basse prise en charge par la DLL Windows CPI-C, la DLL ne peut pas prendre en charge l’application et l’appel WinCPICStartup échoue. Si la version n’est pas inférieure, toutefois, l’appel réussit et retourne la version la plus élevée de Windows CPI-C prise en charge par la DLL. Si cette version est inférieure à la version la plus basse prise en charge par l’application, l’application échoue à son initialisation ou tente de trouver une autre DLL CPI-C Windows sur le système.
Cette négociation permet à une DLL CPI-C Windows et à une application Windows CPI-C de prendre en charge une gamme de versions de Windows CPI-C. Une application peut utiliser une DLL si les versions se chevauchent. Le tableau suivant illustre le fonctionnement de WinCPICStartup avec différentes versions d’application et de DLL.
Versions d’application | Versions de DLL | Vers WinCPICStartup | À partir de WinCPICStartup | Résultats |
---|---|---|---|---|
1.0 | 1.0 | 1.0 | 1.0 | Utiliser 1.0 |
1.0, 2.0 | 1.0 | 2.0 | 1.0 | Utiliser 1.0 |
1.0 | 1.0, 2.0 | 1.0 | 2,0 | Utiliser 1.0 |
1.0 | 2.0, 3.0 | 1.0 | WCPICINVALID | Échec |
2.0, 3.0 | 1.0 | 3.0 | 1.0 | Échec de l’application |
1.0, 2.0, 3.0 | 1.0, 2.0, 3.0 | 3,0 | 3,0 | Utiliser 3.0 |
Les détails de l’implémentation réelle de Windows CPI-C sont décrits dans la structure WHLLDATA définie comme suit :
typedef struct tagWCPICDATA { WORD wVersion;
char szDescription[WHLLDESCRIPTION_LEN+1];
} WCPICDATA, FAR *LPWCPICDATA;
Après avoir effectué son dernier appel Windows CPI-C, une application doit appeler la routine WinCPICCleanup.
Chaque implémentation Windows CPI-C doit effectuer un appel WinCPICStartup avant d’émettre d’autres appels Windows CPI-C.