Fonction DdeCreateStringHandleA (ddeml.h)
Crée un handle qui identifie la chaîne spécifiée. Une application cliente ou serveur Dynamic Data Exchange (DDE) peut passer le handle de chaîne en tant que paramètre à d’autres fonctions de la bibliothèque de gestion DDEML (Dynamic Data Exchange Management Library).
Syntaxe
HSZ DdeCreateStringHandleA(
[in] DWORD idInst,
[in] LPCSTR psz,
[in] int iCodePage
);
Paramètres
[in] idInst
Type : DWORD
L’application instance identificateur obtenu par un appel précédent à la fonction DdeInitialize.
[in] psz
Type : LPTSTR
Chaîne terminée par null pour laquelle un handle doit être créé. Cette chaîne peut avoir jusqu’à 255 caractères. La raison de cette limite est que les fonctions de gestion des chaînes DDEML sont implémentées à l’aide d’atomes.
[in] iCodePage
Type : int
Page de code à utiliser pour afficher la chaîne. Cette valeur doit être CP_WINANSI (page de code par défaut) ou CP_WINUNICODE, selon que la version ANSI ou Unicode de DdeInitialize a été appelée par l’application cliente.
Valeur retournée
Type : HSZ
Si la fonction réussit, la valeur de retour est un handle de chaîne.
Si la fonction échoue, la valeur de retour est 0L.
La fonction DdeGetLastError peut être utilisée pour obtenir le code d’erreur, qui peut être l’une des valeurs suivantes :
Remarques
La valeur d’un handle de chaîne n’est pas liée au cas de la chaîne qu’il identifie.
Lorsqu’une application crée un handle de chaîne ou en reçoit un dans la fonction de rappel, puis utilise la fonction DdeKeepStringHandle pour le conserver, l’application doit libérer ce handle de chaîne quand il n’est plus nécessaire.
Un handle de chaîne spécifique à instance ne peut pas être mappé d’un handle de chaîne à une chaîne et à un handle de chaîne. Cela est illustré dans l’exemple suivant, dans lequel la fonction DdeQueryString crée une chaîne à partir d’un handle de chaîne et DdeCreateStringHandle crée un handle de chaîne à partir de cette chaîne, mais les deux handles ne sont pas les mêmes :
DWORD idInst;
DWORD cb;
HSZ hszInst, hszNew;
PSZ pszInst;
DdeQueryString(idInst, hszInst, pszInst, cb, CP_WINANSI);
hszNew = DdeCreateStringHandle(idInst, pszInst, CP_WINANSI);
// hszNew != hszInst !
Notes
L’en-tête ddeml.h définit DdeCreateStringHandle comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | ddeml.h (inclure Windows.h) |
Bibliothèque | User32.lib |
DLL | User32.dll |
Voir aussi
Conceptuel
Bibliothèque de gestion d’Échange de données dynamiques
Référence