25#ifndef __WINE_DDEML_PRIVATE_H
26#define __WINE_DDEML_PRIVATE_H
33#define MAX_ATOM_LEN 255
37#define MAX_BUFFER_LEN (MAX_ATOM_LEN + 1)
144#define WDML_CONV_MAGIC 0xbabe1234
192 HSZ hsz1, HSZ hsz2, HDDEDATA hdata,
212 UINT wType, HSZ hszItem,
UINT wFmt);
214 HSZ hszItem,
BOOL use_fmt,
UINT uFmt);
216 HSZ hszItem,
UINT wFmt);
251#define WM_WDML_REGISTER (WM_USER + 0x200)
252#define WM_WDML_UNREGISTER (WM_USER + 0x201)
253#define WM_WDML_CONNECT_CONFIRM (WM_USER + 0x202)
262#define GWL_WDML_INSTANCE (0)
263#define GWL_WDML_CONVERSATION (sizeof(ULONG_PTR))
264#define GWL_WDML_SERVER (sizeof(ULONG_PTR))
void WDML_QueueTransaction(WDML_CONV *pConv, WDML_XACT *pXAct)
WDML_INSTANCE * WDML_GetInstanceFromWnd(HWND hWnd)
void WDML_NotifyThreadExit(DWORD tid)
BOOL WDML_IsAppOwned(HDDEDATA hDdeData)
WDML_QUEUE_STATE WDML_ServerHandle(WDML_CONV *pConv, WDML_XACT *pXAct)
const WCHAR WDML_szEventClass[]
WDML_CONV * WDML_AddConv(WDML_INSTANCE *pInstance, WDML_SIDE side, HSZ hszService, HSZ hszTopic, HWND hwndClient, HWND hwndServer)
HGLOBAL WDML_DataHandle2Global(HDDEDATA hDdeData, BOOL fResponse, BOOL fRelease, BOOL fDeferUpd, BOOL dAckReq)
enum tagWDML_SIDE WDML_SIDE
const WCHAR WDML_szClientConvClassW[]
static __inline void WDML_ExtractAck(WORD status, DDEACK *da)
WDML_CONV * WDML_GetConv(HCONV hConv, BOOL checkConnected)
BOOL WDML_PostAck(WDML_CONV *pConv, WDML_SIDE side, WORD appRetCode, BOOL fBusy, BOOL fAck, UINT_PTR pmt, LPARAM lParam, UINT oldMsg)
struct tagWDML_CONV WDML_CONV
HSZ WDML_MakeHszFromAtom(const WDML_INSTANCE *pInstance, ATOM atom)
void WDML_FreeTransaction(WDML_INSTANCE *pInstance, WDML_XACT *pXAct, BOOL doFreePmt)
struct tagDDE_DATAHANDLE_HEAD DDE_DATAHANDLE_HEAD
BOOL WDML_IncHSZ(WDML_INSTANCE *pInstance, HSZ hsz)
void WDML_RemoveLink(WDML_INSTANCE *pInstance, HCONV hConv, WDML_SIDE side, HSZ hszItem, UINT wFmt)
WDML_SERVER * WDML_AddServer(WDML_INSTANCE *pInstance, HSZ hszService, HSZ hszTopic)
BOOL WDML_DecHSZ(WDML_INSTANCE *pInstance, HSZ hsz)
void WDML_RemoveConv(WDML_CONV *pConv, WDML_SIDE side)
struct tagWDML_LINK WDML_LINK
HDDEDATA WDML_InvokeCallback(WDML_INSTANCE *pInst, UINT uType, UINT uFmt, HCONV hConv, HSZ hsz1, HSZ hsz2, HDDEDATA hdata, ULONG_PTR dwData1, ULONG_PTR dwData2)
WDML_XACT * WDML_AllocTransaction(WDML_INSTANCE *pInstance, UINT ddeMsg, UINT wFmt, HSZ hszItem)
void WDML_RemoveServer(WDML_INSTANCE *pInstance, HSZ hszService, HSZ hszTopic)
ATOM WDML_MakeAtomFromHsz(HSZ hsz)
HDDEDATA WDML_ClientHandle(WDML_CONV *pConv, WDML_XACT *pXAct, DWORD dwTimeout, LPDWORD pdwResult)
void WDML_NotifyThreadDetach(void)
struct tagWDML_SERVER WDML_SERVER
const char WDML_szClientConvClassA[]
struct tagWDML_XACT WDML_XACT
WDML_LINK * WDML_FindLink(WDML_INSTANCE *pInstance, HCONV hConv, WDML_SIDE side, HSZ hszItem, BOOL use_fmt, UINT uFmt)
struct tagWDML_INSTANCE WDML_INSTANCE
WDML_CONV * WDML_FindConv(WDML_INSTANCE *pInstance, WDML_SIDE side, HSZ hszService, HSZ hszTopic)
const char WDML_szServerConvClassA[]
BOOL WDML_UnQueueTransaction(WDML_CONV *pConv, WDML_XACT *pXAct)
WDML_INSTANCE * WDML_GetInstance(DWORD InstId)
HDDEDATA WDML_Global2DataHandle(WDML_CONV *pConv, HGLOBAL hMem, WINE_DDEHEAD *da)
WDML_SERVER * WDML_FindServer(WDML_INSTANCE *pInstance, HSZ hszService, HSZ hszTopic)
WDML_CONV * WDML_GetConvFromWnd(HWND hWnd)
void WDML_AddLink(WDML_INSTANCE *pInstance, HCONV hConv, WDML_SIDE side, UINT wType, HSZ hszItem, UINT wFmt)
struct tagHSZNode HSZNode
void WDML_BroadcastDDEWindows(LPCWSTR clsName, UINT uMsg, WPARAM wParam, LPARAM lParam)
const WCHAR WDML_szServerConvClassW[]
HDDEDATA(CALLBACK * PFNCALLBACK)(UINT, UINT, HCONV, HSZ, HSZ, HDDEDATA, ULONG_PTR, ULONG_PTR)
FxWmiInstanceExternal * pInstance
unsigned __int3264 UINT_PTR
_In_ UINT _In_ DWORD _Out_ DWORD * pdwResult
struct tagWDML_CONV * next
struct tagWDML_INSTANCE * instance
struct tagWDML_INSTANCE * next
struct tagWDML_LINK * next
struct tagWDML_SERVER * next
struct tagWDML_XACT * next