Partager via


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

DdeAccessData

DdeCmpStringHandles

DdeFreeStringHandle

DdeInitialize

DdeKeepStringHandle

DdeQueryString

bibliothèque de gestion d’exchange de données dynamiques

de référence