Función DdeInitializeA (ddeml.h)
Registra una aplicación con la Biblioteca de administración dinámica de Intercambio de datos (DDEML). Una aplicación debe llamar a esta función antes de llamar a cualquier otra función de la Biblioteca de administración de Exchange de datos dinámicos (DDEML).
Sintaxis
UINT DdeInitializeA(
[in, out] LPDWORD pidInst,
[in] PFNCALLBACK pfnCallback,
[in] DWORD afCmd,
DWORD ulRes
);
Parámetros
[in, out] pidInst
Tipo: LPDWORD
Identificador de instancia de aplicación. En la inicialización, este parámetro debe apuntar a 0. Si la función se ejecuta correctamente, este parámetro apunta al identificador de instancia de la aplicación. Este valor debe pasarse como parámetro idInst en todas las demás funciones DDEML que lo requieran. Si una aplicación usa varias instancias de la biblioteca de vínculos dinámicos (DLL) DDEML, la aplicación debe proporcionar una función de devolución de llamada diferente para cada instancia.
Si pidInst apunta a un valor distinto de cero, se implica la reinicialización del DDEML. En este caso, pidInst debe apuntar a un identificador de instancia de aplicación válido.
[in] pfnCallback
Tipo: PFNCALLBACK
Puntero a la función de devolución de llamada DDE definida por la aplicación. Esta función procesa las transacciones DDE enviadas por el sistema. Para obtener más información, consulte la función de devolución de llamada DdeCallback .
[in] afCmd
Tipo: DWORD
Conjunto de marcas de APPCMD_, CBF_ y MF_ . Las marcas de APPCMD_ proporcionan instrucciones especiales para DdeInitialize. Las marcas de CBF_ especifican filtros que impiden que determinados tipos de transacciones lleguen a la función de devolución de llamada. Las marcas de MF_ especifican los tipos de actividad DDE que supervisa una aplicación de supervisión de DDE. El uso de estas marcas mejora el rendimiento de una aplicación DDE mediante la eliminación de llamadas innecesarias a la función de devolución de llamada.
Este parámetro puede ser uno o más de los siguientes valores.
Valor | Significado |
---|---|
|
Permite que la aplicación supervise la actividad de DDE en el sistema. Esta marca la usan las aplicaciones de supervisión de DDE. La aplicación especifica los tipos de actividad DDE que se van a supervisar mediante la combinación de una o varias marcas de monitor con la marca APPCLASS_MONITOR . Para obtener más información, consulte la siguiente sección Comentarios. |
|
Registra la aplicación como una aplicación DDEML estándar (no supervisada). |
|
Impide que la aplicación se convierta en un servidor en una conversación DDE. La aplicación solo puede ser un cliente. Esta marca reduce el consumo de recursos por DDEML. Incluye la funcionalidad de la marca CBF_FAIL_ALLSVRXACTIONS . |
|
Impide que DDEML envíe XTYP_CONNECT y XTYP_WILDCONNECT transacciones a la aplicación hasta que la aplicación haya creado sus identificadores de cadena y haya registrado sus nombres de servicio o haya desactivado el filtrado mediante una llamada posterior a la función DdeNameService o DdeInitialize . Esta marca siempre está en vigor cuando una aplicación llama a DdeInitialize por primera vez, independientemente de si la aplicación especifica la marca. En las llamadas posteriores a DdeInitialize, no especificar esta marca desactiva los filtros de nombre de servicio de la aplicación, pero si se especifica, se activan los filtros de nombre de servicio de la aplicación. |
|
Impide que la función de devolución de llamada reciba transacciones del servidor. El sistema devuelve DDE_FNOTPROCESSED a cada cliente que envía una transacción a esta aplicación. Esta marca equivale a combinar todas las marcas de CBF_FAIL_. |
|
Impide que la función de devolución de llamada reciba XTYP_ADVSTART y XTYP_ADVSTOP transacciones. El sistema devuelve DDE_FNOTPROCESSED a cada cliente que envía una transacción XTYP_ADVSTART o XTYP_ADVSTOP al servidor. |
|
Impide que la función de devolución de llamada reciba XTYP_CONNECT y XTYP_WILDCONNECT transacciones. |
|
Impide que la función de devolución de llamada reciba transacciones XTYP_EXECUTE . El sistema devuelve DDE_FNOTPROCESSED a un cliente que envía una transacción XTYP_EXECUTE al servidor. |
|
Impide que la función de devolución de llamada reciba transacciones XTYP_POKE . El sistema devuelve DDE_FNOTPROCESSED a un cliente que envía una transacción XTYP_POKE al servidor. |
|
Impide que la función de devolución de llamada reciba transacciones XTYP_REQUEST . El sistema devuelve DDE_FNOTPROCESSED a un cliente que envía una transacción XTYP_REQUEST al servidor. |
|
Impide que la función de devolución de llamada reciba XTYP_CONNECT transacciones de la propia instancia de la aplicación. Esta marca impide que una aplicación establezca una conversación DDE con su propia instancia. Una aplicación debe usar esta marca si necesita comunicarse con otras instancias de sí misma, pero no con sí misma. |
|
Impide que la función de devolución de llamada reciba notificaciones. Esta marca equivale a combinar todas las marcas de CBF_SKIP_. |
|
Impide que la función de devolución de llamada reciba notificaciones XTYP_CONNECT_CONFIRM . |
|
Impide que la función de devolución de llamada reciba notificaciones XTYP_DISCONNECT . |
|
Impide que la función de devolución de llamada reciba notificaciones de XTYP_REGISTER . |
|
Impide que la función de devolución de llamada reciba notificaciones de XTYP_UNREGISTER . |
|
Notifica a la función de devolución de llamada cada vez que se envía una transacción a cualquier función de devolución de llamada DDE en el sistema. |
|
Notifica a la función de devolución de llamada cada vez que se establece o finaliza una conversación. |
|
Notifica a la función de devolución de llamada cada vez que se produce un error de DDE. |
|
Notifica a la función de devolución de llamada cada vez que una aplicación DDE crea, libera o incrementa el recuento de uso de un identificador de cadena o cada vez que se libera un identificador de cadena como resultado de una llamada a la función DdeUninitialize . |
|
Notifica a la función de devolución de llamada cada vez que se inicia o finaliza un bucle de aviso. |
|
Notifica a la función de devolución de llamada cada vez que el sistema o una aplicación publique un mensaje DDE. |
|
Notifica a la función de devolución de llamada cada vez que el sistema o una aplicación envían un mensaje DDE. |
ulRes
Tipo: DWORD
Reservados; debe establecerse en cero.
Valor devuelto
Tipo: UINT
Si la función se ejecuta correctamente, se DMLERR_NO_ERROR el valor devuelto.
Si se produce un error en la función, el valor devuelto es uno de los siguientes valores:
Comentarios
Una aplicación que usa varias instancias de DDEML no debe pasar objetos DDEML entre instancias.
Una aplicación de supervisión de DDE no debe intentar realizar operaciones DDE (establecer conversaciones, emitir transacciones, etc.) dentro del contexto de la misma instancia de aplicación.
Se produce un error en una transacción sincrónica con un error de DMLERR_REENTRANCY si alguna instancia de la misma tarea ya tiene una transacción sincrónica en curso.
La marca CBF_FAIL_ALLSVRXACTIONS hace que DDEML filtre todas las transacciones del servidor y se pueda cambiar mediante una llamada posterior a DdeInitialize. La marca APPCMD_CLIENTONLY impide que DDEML cree recursos clave para el servidor y no se pueda cambiar mediante una llamada posterior a DdeInitialize.
Hay una versión ANSI y una versión Unicode de DdeInitialize. La versión denominada determina el tipo de los procedimientos de ventana utilizados para controlar las conversaciones DDE (ANSI o Unicode) y el valor predeterminado para el miembro iCodePage de la estructura CONVCONTEXT (CP_WINANSI o CP_WINUNICODE).
Nota
El encabezado ddeml.h define DdeInitialize 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 neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.
Requisitos
Requisito | Value |
---|---|
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 (incluye Windows.h) |
Library | User32.lib |
Archivo DLL | User32.dll |
Consulte también
Información general de la biblioteca de administración dinámica de Intercambio de datos