Función DdeEnableCallback (ddeml.h)

Habilita o deshabilita las transacciones de una conversación específica o para todas las conversaciones establecidas actualmente por la aplicación que realiza la llamada.

Sintaxis

BOOL DdeEnableCallback(
  [in] DWORD idInst,
  [in] HCONV hConv,
  [in] UINT  wCmd
);

Parámetros

[in] idInst

Tipo: DWORD

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

[in] hConv

Tipo: HCONV

Identificador de la conversación para habilitar o deshabilitar. Si este parámetro es NULL, la función afecta a todas las conversaciones.

[in] wCmd

Tipo: UINT

Código de función. Este parámetro puede ser uno de los valores siguientes.

Valor Significado
EC_ENABLEALL
0
Habilita todas las transacciones para la conversación especificada.
EC_ENABLEONE
0x0080
Habilita una transacción para la conversación especificada.
EC_DISABLE
0x0008
Deshabilita todas las transacciones bloqueables para la conversación especificada.

Una aplicación de servidor puede deshabilitar las siguientes transacciones:

Una aplicación cliente puede deshabilitar las siguientes transacciones:
EC_QUERYWAITING
2
Determina si las transacciones están en la cola de la conversación especificada.

Valor devuelto

Tipo: BOOL

Si la función se realiza correctamente, el valor devuelto es distinto de cero.

Si la función no se realiza correctamente, el valor devuelto es cero.

Si el parámetro wCmd es EC_QUERYWAITING y la cola de transacciones de la aplicación contiene una o varias transacciones sin procesar que no se están procesando, el valor devuelto es TRUE; de lo contrario, es FALSE.

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

Comentarios

Una aplicación puede deshabilitar las transacciones de una conversación específica devolviendo el código de devolución de CBR_BLOCK de su función de devolución de llamada de Intercambio de datos dinámicos (DDE). Al volver a habilitar la conversación mediante la función DdeEnableCallback , el sistema operativo genera la misma transacción que estaba en proceso cuando se deshabilitó la conversación.

El uso de la marca EC_QUERYWAITING no cambia el estado de habilitación de la conversación y no hace que las transacciones se emitan en el contexto de la llamada a DdeEnableCallback.

Si se llama a DdeEnableCallback con EC_QUERYWAITING y la función devuelve un valor distinto de cero, una aplicación debe intentar permitir rápidamente el procesamiento de mensajes, volver de su devolución de llamada o habilitar devoluciones de llamada. Este resultado no garantiza que se realicen devoluciones de llamada posteriores. Llamar a DdeEnableCallback con EC_QUERYWAITING permite a una aplicación con devoluciones de llamada bloqueadas determinar si hay transacciones pendientes en la conversación bloqueada. Por supuesto, incluso si esta llamada devuelve cero, una aplicación siempre debe procesar mensajes de forma oportuna.

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

DdeConnect

DdeConnectList

DdeDisconnect

DdeInitialize

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

Referencia