Función DdeInitializeA (ddeml.h)
Registra una aplicación con el de la biblioteca de administración dinámica de Exchange de datos (DDEML) de
Sintaxis
UINT DdeInitializeA(
[in, out] LPDWORD pidInst,
[in] PFNCALLBACK pfnCallback,
[in] DWORD afCmd,
DWORD ulRes
);
Parámetros
[in, out] pidInst
Tipo: LPDWORD de
Identificador de instancia de la 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 deben 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 de
Conjunto de marcas de APPCMD_, CBF_y MF_. Las marcas de APPCMD_ proporcionan instrucciones especiales para DdeInitialize. Las marcas CBF_ especifican filtros que impiden que determinados tipos de transacciones lleguen a la función de devolución de llamada. Las marcas 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 varios 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 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 supervisión 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 parte de 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 DdeNameService o función 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 especificando esta marca desactiva los filtros de nombre de servicio de la aplicación, pero al especificar 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 es equivalente 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 es equivalente 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 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 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 siempre 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 de
Reservado; debe establecerse en cero.
Valor devuelto
Tipo: UINT
Si la función se ejecuta correctamente, el valor devuelto es DMLERR_NO_ERROR.
Si se produce un error en la función, el valor devuelto es uno de los siguientes valores:
Observaciones
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 de transacción sincrónica con un error de DMLERR_REENTRANCY si alguna instancia de la misma tarea tiene una transacción sincrónica que ya está 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 que se usan para controlar las conversaciones DDE (ANSI o Unicode) y el valor predeterminado para el miembro iCodePage del 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 Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows 2000 Professional [solo aplicaciones de escritorio] |
servidor mínimo admitido | Windows 2000 Server [solo aplicaciones de escritorio] |
de la plataforma de destino de |
Windows |
encabezado de |
ddeml.h (incluya Windows.h) |
biblioteca de |
User32.lib |
DLL de |
User32.dll |
Consulte también
Introducción a la biblioteca de administración dinámica de Exchange de datos de