67 if (!atom)
return FALSE;
80 FIXME(
"too high value for count\n");
94 FIXME(
"CBR_BLOCK returned for ADVREQ\n");
106 TRACE(
"with data\n");
122 ERR(
"post message failed\n");
123 pConv->
wStatus &= ~ST_CONNECTED;
161 TRACE(
"(%d,%p,%p,%x)\n", idInst, hsz1, hsz2, afCmd);
168 TRACE(
"Instance not found as initialised\n");
178 WARN(
"Reserved parameter no-zero !!\n");
186 TRACE(
"General unregister unexpected flags\n");
197 ERR(
"Trying to register already registered service!\n");
202 TRACE(
"Adding service name\n");
211 wndclass.
cbSize =
sizeof(wndclass);
232 TRACE(
"Created nameServer=%p for instance=%08x\n", hwndServer, idInst);
234 pServer->hwndServer = hwndServer;
246 TRACE(
"General de-register - finished\n");
272 return (HDDEDATA)
TRUE;
290 wndclass.
cbSize =
sizeof(wndclass);
307 hwndServerName, 0, 0, 0);
313 wndclass.
cbSize =
sizeof(wndclass);
330 hwndServerName, 0, 0, 0);
333 TRACE(
"Created convServer=%p (nameServer=%p) for instance=%08x unicode=%d\n",
337 hwndClient, hwndServerConv);
381 TRACE(
"WM_DDE_INITIATE message received!\n");
416 memset(pcc, 0,
sizeof(*pcc));
417 pcc->
cb =
sizeof(*pcc);
422 TRACE(
"Don't do self connection as requested\n");
424 else if (hszApp && hszTop)
433 0, 0, hszTop, hszApp, 0, (
ULONG_PTR)pcc, self);
442 hszTop, hszApp, 0, (
ULONG_PTR)pcc, self);
451 0, 0, hszTop, hszApp, 0, (
ULONG_PTR)pcc, self);
456 FIXME(
"CBR_BLOCK returned for WILDCONNECT\n");
487 FIXME(
"WM_DDE_REQUEST message received!\n");
490 FIXME(
"WM_DDE_ADVISE message received!\n");
493 FIXME(
"WM_DDE_UNADVISE message received!\n");
496 FIXME(
"WM_DDE_EXECUTE message received!\n");
499 FIXME(
"WM_DDE_POKE message received!\n");
502 FIXME(
"WM_DDE_TERMINATE message received!\n");
525 if (pXAct) pXAct->
atom = uiHi;
536 HDDEDATA hDdeData = 0;
549 TRACE(
"No data returned from the Callback\n");
615 HDDEDATA hDdeData = 0;
632 TRACE(
"No data returned from the Callback\n");
651 TRACE(
"Adding Link with hConv %p\n", pConv);
686 if (pXAct) pXAct->
atom = uiHi;
701 ERR(
"Unsupported yet options (null item or clipboard format)\n");
709 ERR(
"Couldn't find link for %p, dropping request\n", pXAct->
hszItem);
838 FIXME(
"Unsupported returned value %p\n", hDdeData);
894 HDDEDATA hDdeDataOut;
908 FIXME(
"Unsupported returned value %p\n", hDdeDataOut);
955 0, 0, (pConv->wStatus &
ST_ISSELF) ? 1 : 0);
975 FIXME(
"WM_DDE_INITIATE shouldn't be there!\n");
1002 WARN(
"Shouldn't receive a ACK message (never requests them). Ignoring it\n");
1043 ERR(
"Got a message (%x) on a not known conversation, dropping request\n", iMsg);
1048 ERR(
"mismatch between C/S windows and conversation\n");
1053 ERR(
"mismatch in instances\n");
1060 FIXME(
"WM_DDE_INITIATE message received!\n");
1088 WARN(
"Shouldn't receive a ACK message (never requests them). Ignoring it\n");
1092 FIXME(
"Unsupported message %x\n", iMsg);
1102 TRACE(
"Transactions are blocked, add to the queue and exit\n");
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
LPARAM WINAPI ReuseDDElParam(LPARAM, UINT, UINT, UINT_PTR, UINT_PTR)
BOOL WINAPI UnpackDDElParam(UINT, LPARAM, PUINT_PTR, PUINT_PTR)
BOOL WINAPI FreeDDElParam(UINT, LPARAM)
LPARAM WINAPI PackDDElParam(UINT, UINT_PTR, UINT_PTR)
WDML_XACT * WDML_AllocTransaction(WDML_INSTANCE *pInstance, UINT ddeMsg, UINT wFmt, HSZ hszItem) DECLSPEC_HIDDEN
HDDEDATA WDML_InvokeCallback(WDML_INSTANCE *pInst, UINT uType, UINT uFmt, HCONV hConv, HSZ hsz1, HSZ hsz2, HDDEDATA hdata, ULONG_PTR dwData1, ULONG_PTR dwData2) DECLSPEC_HIDDEN
#define GWL_WDML_CONVERSATION
ATOM WDML_MakeAtomFromHsz(HSZ hsz) DECLSPEC_HIDDEN
WDML_LINK * WDML_FindLink(WDML_INSTANCE *pInstance, HCONV hConv, WDML_SIDE side, HSZ hszItem, BOOL use_fmt, UINT uFmt) DECLSPEC_HIDDEN
WDML_INSTANCE * WDML_GetInstanceFromWnd(HWND hWnd) DECLSPEC_HIDDEN
HGLOBAL WDML_DataHandle2Global(HDDEDATA hDdeData, BOOL fResponse, BOOL fRelease, BOOL fDeferUpd, BOOL dAckReq) DECLSPEC_HIDDEN
WDML_CONV * WDML_GetConv(HCONV hConv, BOOL checkConnected) DECLSPEC_HIDDEN
BOOL WDML_DecHSZ(WDML_INSTANCE *pInstance, HSZ hsz) DECLSPEC_HIDDEN
void WDML_AddLink(WDML_INSTANCE *pInstance, HCONV hConv, WDML_SIDE side, UINT wType, HSZ hszItem, UINT wFmt) DECLSPEC_HIDDEN
void WDML_RemoveServer(WDML_INSTANCE *pInstance, HSZ hszService, HSZ hszTopic) DECLSPEC_HIDDEN
WDML_SERVER * WDML_FindServer(WDML_INSTANCE *pInstance, HSZ hszService, HSZ hszTopic) DECLSPEC_HIDDEN
WDML_CONV * WDML_GetConvFromWnd(HWND hWnd) DECLSPEC_HIDDEN
void WDML_RemoveLink(WDML_INSTANCE *pInstance, HCONV hConv, WDML_SIDE side, HSZ hszItem, UINT wFmt) DECLSPEC_HIDDEN
void WDML_FreeTransaction(WDML_INSTANCE *pInstance, WDML_XACT *pXAct, BOOL doFreePmt) DECLSPEC_HIDDEN
BOOL WDML_PostAck(WDML_CONV *pConv, WDML_SIDE side, WORD appRetCode, BOOL fBusy, BOOL fAck, UINT_PTR pmt, LPARAM lParam, UINT oldMsg) DECLSPEC_HIDDEN
WDML_INSTANCE * WDML_GetInstance(DWORD InstId) DECLSPEC_HIDDEN
void WDML_RemoveConv(WDML_CONV *pConv, WDML_SIDE side) DECLSPEC_HIDDEN
BOOL WDML_IncHSZ(WDML_INSTANCE *pInstance, HSZ hsz) DECLSPEC_HIDDEN
WDML_SERVER * WDML_AddServer(WDML_INSTANCE *pInstance, HSZ hszService, HSZ hszTopic) DECLSPEC_HIDDEN
HSZ WDML_MakeHszFromAtom(const WDML_INSTANCE *pInstance, ATOM atom) DECLSPEC_HIDDEN
void WDML_BroadcastDDEWindows(LPCWSTR clsName, UINT uMsg, WPARAM wParam, LPARAM lParam) DECLSPEC_HIDDEN
BOOL WDML_IsAppOwned(HDDEDATA hDdeData) DECLSPEC_HIDDEN
WDML_CONV * WDML_AddConv(WDML_INSTANCE *pInstance, WDML_SIDE side, HSZ hszService, HSZ hszTopic, HWND hwndClient, HWND hwndServer) DECLSPEC_HIDDEN
void WDML_QueueTransaction(WDML_CONV *pConv, WDML_XACT *pXAct) DECLSPEC_HIDDEN
#define GWL_WDML_INSTANCE
const char WDML_szClientConvClassA[]
const WCHAR WDML_szClientConvClassW[]
const WCHAR WDML_szEventClass[]
#define CBF_FAIL_REQUESTS
#define CBF_FAIL_EXECUTES
HDDEDATA WINAPI DdeCreateDataHandle(DWORD, LPBYTE, DWORD, DWORD, HSZ, UINT, UINT)
INT WINAPI DdeCmpStringHandles(HSZ, HSZ)
#define CBF_SKIP_DISCONNECTS
#define DMLERR_POSTMSG_FAILED
#define DMLERR_MEMORY_ERROR
#define XTYP_CONNECT_CONFIRM
#define DDE_FNOTPROCESSED
#define CBF_FAIL_SELFCONNECTIONS
#define CBF_FAIL_CONNECTIONS
BOOL WINAPI DdeUnaccessData(HDDEDATA)
LPBYTE WINAPI DdeAccessData(HDDEDATA, LPDWORD)
BOOL WINAPI DdeFreeDataHandle(HDDEDATA)
#define DMLERR_INVALIDPARAMETER
static BOOL data_looks_unicode(const WCHAR *data, DWORD size)
WDML_QUEUE_STATE WDML_ServerHandle(WDML_CONV *pConv, WDML_XACT *pXAct)
const WCHAR WDML_szServerConvClassW[]
static HDDEDATA map_W_to_A(DWORD instance, void *ptr, DWORD size)
static WDML_QUEUE_STATE WDML_ServerHandlePoke(WDML_CONV *pConv, WDML_XACT *pXAct)
const char WDML_szServerConvClassA[]
static WDML_CONV * WDML_CreateServerConv(WDML_INSTANCE *pInstance, HWND hwndClient, HWND hwndServerName, HSZ hszApp, HSZ hszTopic)
static LRESULT CALLBACK WDML_ServerConvProc(HWND, UINT, WPARAM, LPARAM)
static WDML_QUEUE_STATE WDML_ServerHandleUnadvise(WDML_CONV *pConv, WDML_XACT *pXAct)
static WDML_XACT * WDML_ServerQueueAdvise(WDML_CONV *pConv, LPARAM lParam)
HDDEDATA WINAPI DdeNameService(DWORD idInst, HSZ hsz1, HSZ hsz2, UINT afCmd)
static WDML_XACT * WDML_ServerQueueTerminate(WDML_CONV *pConv, LPARAM lParam)
static WDML_QUEUE_STATE WDML_ServerHandleRequest(WDML_CONV *pConv, WDML_XACT *pXAct)
BOOL WINAPI DdePostAdvise(DWORD idInst, HSZ hszTopic, HSZ hszItem)
static WDML_XACT * WDML_ServerQueuePoke(WDML_CONV *pConv, LPARAM lParam)
static WDML_QUEUE_STATE WDML_ServerHandleExecute(WDML_CONV *pConv, WDML_XACT *pXAct)
static LRESULT CALLBACK WDML_ServerNameProc(HWND, UINT, WPARAM, LPARAM)
static WDML_XACT * WDML_ServerQueueUnadvise(WDML_CONV *pConv, LPARAM lParam)
static HDDEDATA map_A_to_W(DWORD instance, void *ptr, DWORD size)
static WDML_QUEUE_STATE WDML_ServerHandleTerminate(WDML_CONV *pConv, WDML_XACT *pXAct)
static const WCHAR szServerNameClass[]
static WDML_XACT * WDML_ServerQueueRequest(WDML_CONV *pConv, LPARAM lParam)
static WDML_XACT * WDML_ServerQueueExecute(WDML_CONV *pConv, LPARAM lParam)
static WDML_QUEUE_STATE WDML_ServerHandleAdvise(WDML_CONV *pConv, WDML_XACT *pXAct)
static HINSTANCE instance
#define WideCharToMultiByte
#define MultiByteToWideChar
ATOM WINAPI GlobalDeleteAtom(ATOM nAtom)
int WINAPI lstrcmpiW(LPCWSTR str1, LPCWSTR str2)
int WINAPI lstrcmpiA(LPCSTR str1, LPCSTR str2)
FxWmiInstanceExternal * pInstance
GLuint GLuint GLsizei count
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLenum GLuint GLenum GLsizei const GLchar * buf
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
LPVOID NTAPI GlobalLock(HGLOBAL hMem)
HGLOBAL NTAPI GlobalFree(HGLOBAL hMem)
BOOL NTAPI GlobalUnlock(HGLOBAL hMem)
SIZE_T NTAPI GlobalSize(HGLOBAL hMem)
WINE_UNICODE_INLINE WCHAR * memchrW(const WCHAR *ptr, WCHAR ch, size_t n)
unsigned __int3264 UINT_PTR
struct tagWDML_INSTANCE * instance
struct tagWDML_LINK * next
#define FIELD_OFFSET(t, f)
#define WIN_GetFullHandle(h)
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
DWORD WINAPI GetCurrentThreadId(void)
DWORD WINAPI GetWindowThreadProcessId(HWND hWnd, PDWORD lpdwProcessId)
#define GetWindowLongPtrW
LRESULT WINAPI DefWindowProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
LRESULT WINAPI DefWindowProcA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI PostMessageW(_In_opt_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define CreateWindowA(a, b, c, d, e, f, g, h, i, j, k)
int WINAPI GetClassNameA(_In_ HWND hWnd, _Out_writes_to_(nMaxCount, return) LPSTR lpClassName, _In_ int nMaxCount)
BOOL WINAPI IsWindowUnicode(_In_ HWND)
ATOM WINAPI RegisterClassExA(_In_ CONST WNDCLASSEXA *)
ATOM WINAPI RegisterClassExW(_In_ CONST WNDCLASSEXW *)
#define CreateWindowW(a, b, c, d, e, f, g, h, i, j, k)
int WINAPI GetClassNameW(_In_ HWND hWnd, _Out_writes_to_(nMaxCount, return) LPWSTR lpClassName, _In_ int nMaxCount)
#define SetWindowLongPtrW
BOOL WINAPI DestroyWindow(_In_ HWND)
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)