Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

146 lines
4.4 KiB

  1. /*****************************************************************************\
  2. * *
  3. * dde.h - Dynamic Data Exchange structures and definitions *
  4. * *
  5. * Copyright (c) 1992, Microsoft Corp. All rights reserved *
  6. * *
  7. \*****************************************************************************/
  8. #ifndef _INC_DDE
  9. #define _INC_DDE
  10. #ifndef RC_INVOKED
  11. #pragma pack(1) /* Assume byte packing throughout */
  12. #endif /* RC_INVOKED */
  13. #ifdef __cplusplus
  14. extern "C" { /* Assume C declarations for C++ */
  15. #endif /* __cplusplus */
  16. /* DDE window messages */
  17. #define WM_DDE_FIRST 0x03E0
  18. #define WM_DDE_INITIATE (WM_DDE_FIRST)
  19. #define WM_DDE_TERMINATE (WM_DDE_FIRST+1)
  20. #define WM_DDE_ADVISE (WM_DDE_FIRST+2)
  21. #define WM_DDE_UNADVISE (WM_DDE_FIRST+3)
  22. #define WM_DDE_ACK (WM_DDE_FIRST+4)
  23. #define WM_DDE_DATA (WM_DDE_FIRST+5)
  24. #define WM_DDE_REQUEST (WM_DDE_FIRST+6)
  25. #define WM_DDE_POKE (WM_DDE_FIRST+7)
  26. #define WM_DDE_EXECUTE (WM_DDE_FIRST+8)
  27. #define WM_DDE_LAST (WM_DDE_FIRST+8)
  28. /****************************************************************************\
  29. * DDEACK structure
  30. *
  31. * Structure of wStatus (LOWORD(lParam)) in WM_DDE_ACK message
  32. * sent in response to a WM_DDE_DATA, WM_DDE_REQUEST, WM_DDE_POKE,
  33. * WM_DDE_ADVISE, or WM_DDE_UNADVISE message.
  34. *
  35. \****************************************************************************/
  36. typedef struct tagDDEACK
  37. {
  38. WORD bAppReturnCode:8,
  39. reserved:6,
  40. fBusy:1,
  41. fAck:1;
  42. } DDEACK;
  43. /****************************************************************************\
  44. * DDEADVISE structure
  45. *
  46. * WM_DDE_ADVISE parameter structure for hOptions (LOWORD(lParam))
  47. *
  48. \****************************************************************************/
  49. typedef struct tagDDEADVISE
  50. {
  51. WORD reserved:14,
  52. fDeferUpd:1,
  53. fAckReq:1;
  54. short cfFormat;
  55. } DDEADVISE;
  56. /****************************************************************************\
  57. * DDEDATA structure
  58. *
  59. * WM_DDE_DATA parameter structure for hData (LOWORD(lParam)).
  60. * The actual size of this structure depends on the size of
  61. * the Value array.
  62. *
  63. \****************************************************************************/
  64. typedef struct tagDDEDATA
  65. {
  66. WORD unused:12,
  67. fResponse:1,
  68. fRelease:1,
  69. reserved:1,
  70. fAckReq:1;
  71. short cfFormat;
  72. BYTE Value[1];
  73. } DDEDATA;
  74. /****************************************************************************\
  75. * DDEPOKE structure
  76. *
  77. * WM_DDE_POKE parameter structure for hData (LOWORD(lParam)).
  78. * The actual size of this structure depends on the size of
  79. * the Value array.
  80. *
  81. \****************************************************************************/
  82. typedef struct tagDDEPOKE
  83. {
  84. WORD unused:13, /* Earlier versions of DDE.H incorrectly */
  85. /* 12 unused bits. */
  86. fRelease:1,
  87. fReserved:2;
  88. short cfFormat;
  89. BYTE Value[1]; /* This member was named rgb[1] in previous */
  90. /* versions of DDE.H */
  91. } DDEPOKE;
  92. /****************************************************************************\
  93. * The following typedef's were used in previous versions of the Windows SDK.
  94. * They are still valid. The above typedef's define exactly the same structures
  95. * as those below. The above typedef names are recommended, however, as they
  96. * are more meaningful.
  97. *
  98. * Note that the DDEPOKE structure typedef'ed in earlier versions of DDE.H did
  99. * not correctly define the bit positions.
  100. \****************************************************************************/
  101. typedef struct tagDDELN
  102. {
  103. WORD unused:13,
  104. fRelease:1,
  105. fDeferUpd:1,
  106. fAckReq:1;
  107. short cfFormat;
  108. } DDELN;
  109. typedef struct tagDDEUP
  110. {
  111. WORD unused:12,
  112. fAck:1,
  113. fRelease:1,
  114. fReserved:1,
  115. fAckReq:1;
  116. short cfFormat;
  117. BYTE rgb[1];
  118. } DDEUP;
  119. #ifdef __cplusplus
  120. }
  121. #endif /* __cplusplus */
  122. #ifndef RC_INVOKED
  123. #pragma pack()
  124. #endif /* RC_INVOKED */
  125. #endif /* _INC_DDE */