|
Overview |
|
|
|
Group |
|
|
|
Quick Info
Windows NT
| Yes
| Win95
| Yes
| Win32s
| Yes
| Import Library
| user32.lib
| Header File
| ddeml.h
| Unicode
| No
| Platform Notes
| None
|
|
|
DdeEnableCallback
The DdeEnableCallback function enables or disables transactions for a specific conversation or for
all conversations currently established by the calling application.
After disabling transactions for a conversation, the operating system places
the transactions for that conversation in a transaction queue associated with
the application. The application should reenable the conversation as soon as
possible to avoid losing queued transactions.
BOOL DdeEnableCallback(
DWORD idInst,
| // instance identifier
| HCONV hConv,
| // handle to conversation
| UINT wCmd
| // enable or disable function code
| );
|
|
Parameters
idInst
Specifies the application-instance identifier obtained by a previous call to
the DdeInitialize function.
hConv
Identifies the conversation to enable or disable. If this parameter is NULL,
the function affects all conversations.
wCmd
Specifies the function code. This parameter can be one of the following
values:
Value
| Meaning
| EC_ENABLEALL
| Enables all transactions for the specified conversation.
| EC_ENABLEONE
| Enables one transaction for the specified conversation.
| EC_DISABLE
| Disables all blockable transactions for the specified conversation.
A server application can disable the following transactions:
XTYP_ADVSTART
XTYP_ADVSTOP
XTYP_EXECUTE
XTYP_POKE
XTYP_REQUEST
A client application can disable the following transactions:
XTYP_ADVDATA
XTYP_XACT_COMPLETE
| EC_QUERYWAITING
| Determines whether any transactions are in the queue for the specified
conversation.
|
Return Values
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero.
If the wCmd parameter is EC_QUERYWAITING, and the application transaction queue contains
one or more unprocessed transactions that are not being processed, the return
value is TRUE; otherwise, it is FALSE.
Errors
Use the DdeGetLastError function to retrieve the error code, which may be one of the following:
DMLERR_DLL_NOT_INITIALIZED
DMLERR_NO_ERROR
DMLERR_INVALIDPARAMETER
Remarks
An application can disable transactions for a specific conversation by
returning the CBR_BLOCK return code from its dynamic data exchange (DDE) callback
function. When you reenable the conversation by using the DdeEnableCallback function, the operating system generates the same transaction that was in
process when the conversation was disabled.
Using the EC_QUERYWAITING flag does not change the enable state of the
conversation and does not cause transactions to be issued within the context of the
call to DdeEnableCallback.
If DdeEnableCallback is called with EC_QUERYWAITING and the return value is TRUE, an application
should try to quickly allow message processing, return from its callback, or
enable callbacks. Such a result does not guarantee that subsequent callbacks will
be made. Calling DdeEnableCallback with EC_QUERYWAITING lets an application with blocked callbacks determine
whether there are any transactions pending on the blocked conversation. Of course,
even if such a call returns false, an application should always process
messages in a timely manner.
See Also
DdeConnect, DdeConnectList, DdeDisconnect, DdeInitialize
Related Links
Software for Delphi and C++ Builder developers
Software for Visual Studio .NET developers
Software for Visual Basic 6 developers
Delphi Tips&Tricks
MegaDetailed.NET
TMS Scripter Studio Pro components for Delphi/C++Builder
More Online Helps
Win32 Multimedia Programmer's Reference (mmedia.hlp)
OLE Programmer's Reference (ole.hlp)
Microsoft Windows Pen API Programmer's Reference (penapi.hlp)
Microsoft Windows Sockets 2 Reference (sock2.hlp)
Microsoft Windows Telephony API (TAPI) Programmer's Reference (tapi.hlp)
Unix Manual Pages
|