home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c480 / 19.ddi / SAMPLES / DDEML / SERVER / DDEMLSV.H_ / DDEMLSV.H
Encoding:
C/C++ Source or Header  |  1993-02-08  |  4.0 KB  |  147 lines

  1. #include <windows.h>
  2. #include <ddeml.h>
  3. #include "resource.h"
  4.  
  5. #define MAX_APPNAME     64
  6. #define MAX_TOPIC       64
  7. #define MAX_COMMENT     100
  8. #define MAX_EXEC        40
  9. #define CCHARS          80
  10. #define CLINES          40
  11.  
  12. #define UM_CHGDATA      (WM_USER + 435)
  13.  
  14. #define CSYSTEMITEMS 4
  15. #define CTESTITEMS  4
  16. #define CTOPICS     2
  17.  
  18. /****** Structrues ******/
  19.  
  20. // predefined format list item
  21.  
  22. typedef struct {
  23.     ATOM atom;
  24.     PSTR sz;
  25. } FORMATINFO;
  26. #define CFORMATS 3
  27.  
  28. extern FORMATINFO aFormats[];
  29.  
  30. // this structure depends on the fact that EXPENTRY is defined as
  31. // pascal calling convention.  This allows us to merely point to
  32. // the last parameter of DdeCallback and cast the pointer to this
  33. // structure to save stack space. (a common hack)
  34.  
  35. typedef struct _XFERINFO {
  36.     DWORD lData2;
  37.     DWORD lData1;
  38.     HDDEDATA hData;
  39.     HSZ hszItem;
  40.     HSZ hszTopic;
  41.     HCONV hConv;
  42.     WORD wFmt;
  43.     WORD wType;
  44. } XFERINFO;
  45. typedef XFERINFO *PXFERINFO;    // DS==SS!
  46.  
  47. typedef struct _ITEMLIST {
  48.     HSZ hszItem;
  49.     HDDEDATA (*npfnCallback)(PXFERINFO, WORD);
  50.     PSTR pszItem;
  51. } ITEMLIST;
  52.  
  53. typedef struct _TOPICLIST {
  54.     HSZ hszTopic;
  55.     ITEMLIST *pItemList;
  56.     WORD cItems;
  57.     PSTR pszTopic;
  58. } TOPICLIST;
  59.  
  60. typedef struct {    // used to passinfo to/from TextDataEntryDlgProc and
  61.     HDDEDATA hDdeData;
  62.     WORD wFmt;
  63.     HSZ hszItem;
  64. } XACT;
  65.  
  66.  
  67.  
  68. // GLOBALS
  69.  
  70. extern DWORD idInst;
  71. extern CONVCONTEXT CCFilter;
  72. extern HANDLE hInst;
  73. extern HWND hwndServer;
  74. extern RECT rcTopics;
  75. extern RECT rcRand;
  76. extern RECT rcCount;
  77. extern RECT rcComment;
  78. extern RECT rcExec;
  79. extern RECT rcConnCount;
  80. extern RECT rcRndrDelay;
  81. extern RECT rcRunaway;
  82. extern RECT rcAllBlock;
  83. extern RECT rcNextAction;
  84. extern RECT rcHugeSize;
  85. extern RECT rcAppowned;
  86. extern BOOL fAllBlocked;
  87. extern BOOL fAllEnabled;
  88. extern BOOL fEnableOneCB;
  89. extern BOOL fBlockNextCB;
  90. extern BOOL fTermNextCB;
  91. extern BOOL fAppowned;
  92. extern WORD cRunaway;
  93. extern WORD RenderDelay;
  94. extern DWORD count;
  95. extern HSZ hszAppName;
  96. extern char szClass[];
  97. extern char szTopic[MAX_TOPIC];
  98. extern char szServer[MAX_TOPIC];
  99. extern char szComment[MAX_COMMENT];
  100. extern char szExec[MAX_EXEC];
  101. extern char *pszComment;
  102. extern WORD seed;
  103. extern WORD cyText;
  104. extern WORD cServers;
  105. extern HDDEDATA hDataHelp[CFORMATS];
  106. extern HDDEDATA hDataCount[CFORMATS];
  107. extern HDDEDATA hDataRand[CFORMATS];
  108. extern HDDEDATA hDataHuge[CFORMATS];
  109. extern DWORD cbHuge;
  110.  
  111. extern char szDdeHelp[];
  112. extern FORMATINFO aFormats[CFORMATS];
  113. extern ITEMLIST SystemTopicItemList[CSYSTEMITEMS];
  114. extern ITEMLIST TestTopicItemList[CTESTITEMS];
  115. extern TOPICLIST topicList[CTOPICS];
  116.  
  117.  
  118. // FUNCTIONS
  119.  
  120.  
  121. int PASCAL WinMain(HANDLE, HANDLE, LPSTR, int);
  122. BOOL InitApplication(HANDLE);
  123. BOOL InitInstance(HANDLE, int);
  124. int FAR DoDialog(LPSTR lpTemplateName, FARPROC lpDlgProc, DWORD param, BOOL fRememberFocus);
  125. long FAR PASCAL __export MainWndProc(HWND, UINT, WPARAM, LPARAM);
  126. BOOL FAR PASCAL __export About(HWND, unsigned, WORD, LONG);
  127. BOOL FAR PASCAL __export RenderDelayDlgProc(HWND, WORD, WORD, LONG);
  128. BOOL FAR PASCAL __export SetTopicDlgProc(HWND, WORD, WORD, LONG);
  129. BOOL FAR PASCAL __export SetServerDlgProc(HWND, WORD, WORD, LONG);
  130. BOOL FAR PASCAL __export ContextDlgProc(HWND, WORD, WORD, LONG);
  131. VOID PaintServer(HWND hwnd);
  132. VOID DrawTextLine(HDC hdc, RECT *prcClip, RECT *prcText, PSTR psz);
  133. HDDEDATA EXPENTRY __export DdeCallback(WORD wType, WORD wFmt, HCONV hConv, HSZ hszTopic,
  134.         HSZ hszItem, HDDEDATA hData, DWORD lData1, DWORD lData2);
  135. HDDEDATA TopicListXfer(PXFERINFO pXferInfo, WORD iFmt);
  136. HDDEDATA ItemListXfer(PXFERINFO pXferInfo, WORD iFmt);
  137. HDDEDATA sysFormatsXfer(PXFERINFO pXferInfo, WORD iFmt);
  138. HDDEDATA TestRandomXfer(PXFERINFO pXferInfo, WORD iFmt);
  139. HDDEDATA TestCountXfer(PXFERINFO pXferInfo, WORD iFmt);
  140. HDDEDATA TestHugeXfer(PXFERINFO pXferInfo, WORD iFmt);
  141. HDDEDATA HelpXfer(PXFERINFO pXferInfo, WORD iFmt);
  142. void Hszize(void);
  143. void UnHszize(void);
  144. void Delay(DWORD delay, BOOL fModal);
  145.  
  146.  
  147.