DdeCreateStringHandleW, fonction (ddeml.h)
Crée un handle qui identifie la chaîne spécifiée. Une application cliente ou serveur DDE (Dynamic Data Exchange) peut transmettre le handle de chaîne en tant que paramètre à d’autres fonctions DDEML (Dynamic Data Exchange Management Library).
Syntaxe
HSZ DdeCreateStringHandleW(
[in] DWORD idInst,
[in] LPCWSTR psz,
[in] int iCodePage
);
Paramètres
[in] idInst
Type : DWORD
Identificateur d’instance d’application 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 comporter 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 codes à utiliser pour afficher la chaîne. Cette valeur doit être CP_WINANSI (la page de codes par défaut) ou CP_WINUNICODE, selon que la version ANSI ou Unicode de DdeInitialize a été appelée par l’application cliente.
Valeur de retour
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’elle identifie.
Lorsqu’une application crée un handle de chaîne ou en reçoit une dans la fonction de rappel, puis utilise la DdeKeepStringHandle fonction pour la conserver, l’application doit libérer ce handle de chaîne lorsqu’elle n’est plus nécessaire.
Un handle de chaîne spécifique à une instance ne peut pas être mappé d’un handle de chaîne à une chaîne et à un handle de chaîne. Dans l’exemple suivant, 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 identiques :
DWORD idInst;
DWORD cb;
HSZ hszInst, hszNew;
PSZ pszInst;
DdeQueryString(idInst, hszInst, pszInst, cb, CP_WINANSI);
hszNew = DdeCreateStringHandle(idInst, pszInst, CP_WINANSI);
// hszNew != hszInst !
Note
L’en-tête ddeml.h définit DdeCreateStringHandle comme 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.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
serveur minimum pris en charge | Windows 2000 Server [applications de bureau uniquement] |
plateforme cible | Windows |
d’en-tête | ddeml.h (include Windows.h) |
bibliothèque | User32.lib |
DLL | User32.dll |
Voir aussi
conceptuelle
bibliothèque de gestion d’exchange de données dynamiques
de référence