Función DdeCreateStringHandleW (ddeml.h)

Crea un identificador que identifica la cadena especificada. Una aplicación de servidor o cliente de Intercambio de datos dinámicos (DDE) puede pasar el identificador de cadena como parámetro a otras funciones de la Biblioteca de administración de Exchange de datos dinámicos (DDEML).

Sintaxis

HSZ DdeCreateStringHandleW(
  [in] DWORD   idInst,
  [in] LPCWSTR psz,
  [in] int     iCodePage
);

Parámetros

[in] idInst

Tipo: DWORD

Identificador de instancia de aplicación obtenido por una llamada anterior a la función DdeInitialize .

[in] psz

Tipo: LPTSTR

Cadena terminada en null para la que se va a crear un identificador. Esta cadena puede tener hasta 255 caracteres. La razón de este límite es que las funciones de administración de cadenas DDEML se implementan mediante átomos.

[in] iCodePage

Tipo: int

Página de códigos que se va a usar para representar la cadena. Este valor debe ser CP_WINANSI (la página de códigos predeterminada) o CP_WINUNICODE, dependiendo de si la aplicación cliente llamó a la versión ANSI o Unicode de DdeInitialize .

Valor devuelto

Tipo: HSZ

Si la función se ejecuta correctamente, el valor devuelto es un identificador de cadena.

Si se produce un error en la función, el valor devuelto es 0L.

La función DdeGetLastError se puede usar para obtener el código de error, que puede ser uno de los siguientes valores:

Comentarios

El valor de un identificador de cadena no está relacionado con el caso de la cadena que identifica.

Cuando una aplicación crea un identificador de cadena o recibe uno en la función de devolución de llamada y, a continuación, usa la función DdeKeepStringHandle para mantenerlo, la aplicación debe liberar ese identificador de cadena cuando ya no sea necesario.

Un identificador de cadena específico de la instancia no se puede asignar desde el identificador de cadena a la cadena y volver al identificador de cadena. Esto se muestra en el ejemplo siguiente, en el que la función DdeQueryString crea una cadena a partir de un identificador de cadena y DdeCreateStringHandle crea un identificador de cadena a partir de esa cadena, pero los dos identificadores no son los mismos:

DWORD idInst; 
DWORD cb; 
HSZ hszInst, hszNew; 
PSZ pszInst; 
 
DdeQueryString(idInst, hszInst, pszInst, cb, CP_WINANSI); 
hszNew = DdeCreateStringHandle(idInst, pszInst, CP_WINANSI); 
// hszNew != hszInst ! 

Nota

El encabezado ddeml.h define DdeCreateStringHandle como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado ddeml.h (incluya Windows.h)
Library User32.lib
Archivo DLL User32.dll

Consulte también

Conceptual

DdeAccessData

DdeCmpStringHandles

DdeFreeStringHandle

DdeInitialize

DdeKeepStringHandle

DdeQueryString

Biblioteca de administración dinámica de Intercambio de datos

Referencia