Condividi tramite


Funzione DdeEnableCallback (ddeml.h)

Abilita o disabilita le transazioni per una conversazione specifica o per tutte le conversazioni attualmente stabilite dall'applicazione chiamante.

Sintassi

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

Parametri

[in] idInst

Tipo: DWORD

Identificatore dell'istanza dell'applicazione ottenuto da una chiamata precedente alla funzione DdeInitialize .

[in] hConv

Tipo: HCONV

Handle per abilitare o disabilitare la conversazione. Se questo parametro è NULL, la funzione influisce su tutte le conversazioni.

[in] wCmd

Tipo: UINT

Codice della funzione. Questo parametro può avere uno dei valori seguenti.

Valore Significato
EC_ENABLEALL
0
Abilita tutte le transazioni per la conversazione specificata.
EC_ENABLEONE
0x0080
Abilita una transazione per la conversazione specificata.
EC_DISABLE
0x0008
Disabilita tutte le transazioni bloccabili per la conversazione specificata.

Un'applicazione server può disabilitare le transazioni seguenti:

Un'applicazione client può disabilitare le transazioni seguenti:
EC_QUERYWAITING
2
Determina se le transazioni si trovano nella coda per la conversazione specificata.

Valore restituito

Tipo: BOOL

Se la funzione ha esito positivo, il valore restituito è diverso da zero.

Se la funzione ha esito negativo, il valore restituito è zero.

Se il parametro wCmd è EC_QUERYWAITING e la coda delle transazioni dell'applicazione contiene una o più transazioni non elaborate che non vengono elaborate, il valore restituito è TRUE; in caso contrario, è FALSE.

La funzione DdeGetLastError può essere usata per ottenere il codice di errore, che può essere uno dei valori seguenti:

Commenti

Un'applicazione può disabilitare le transazioni per una conversazione specifica restituendo il codice restituito CBR_BLOCK dalla relativa funzione di callback di Dynamic Data Exchange (DDE). Quando si ripristina la conversazione usando la funzione DdeEnableCallback , il sistema operativo genera la stessa transazione in corso quando la conversazione è stata disabilitata.

L'uso del flag EC_QUERYWAITING non modifica lo stato di abilitazione della conversazione e non causa l'emissione delle transazioni nel contesto della chiamata a DdeEnableCallback.

Se DdeEnableCallback viene chiamato con EC_QUERYWAITING e la funzione restituisce un valore diverso da zero, un'applicazione deve provare a consentire rapidamente l'elaborazione dei messaggi, restituire dal callback o abilitare i callback. Tale risultato non garantisce che verranno effettuati callback successivi. La chiamata a DdeEnableCallback con EC_QUERYWAITING consente a un'applicazione con callback bloccati di determinare se sono presenti transazioni in sospeso nella conversazione bloccata. Naturalmente, anche se tale chiamata restituisce zero, un'applicazione deve sempre elaborare i messaggi in modo tempestivo.

Requisiti

   
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione ddeml.h (includere Windows.h)
Libreria User32.lib
DLL User32.dll

Vedi anche

Informazioni concettuali

DdeConnect

DdeConnectList

DdeDisconnect

DdeInitialize

Libreria di gestione di Dynamic Data Exchange

Riferimento