|
|
1.1.1.3 ! root 1: #ifndef _DDEHEADER_INCLUDED_ ! 2: #define _DDEHEADER_INCLUDED_ ! 3: 1.1.1.2 root 4: #ifndef _WINDEF_ 5: #include <windef.h> 6: #endif 1.1 root 7: 8: /* DDE window messages */ 9: 10: #define WM_DDE_FIRST 0x03E0 11: #define WM_DDE_INITIATE (WM_DDE_FIRST) 12: #define WM_DDE_TERMINATE (WM_DDE_FIRST+1) 13: #define WM_DDE_ADVISE (WM_DDE_FIRST+2) 14: #define WM_DDE_UNADVISE (WM_DDE_FIRST+3) 15: #define WM_DDE_ACK (WM_DDE_FIRST+4) 16: #define WM_DDE_DATA (WM_DDE_FIRST+5) 17: #define WM_DDE_REQUEST (WM_DDE_FIRST+6) 18: #define WM_DDE_POKE (WM_DDE_FIRST+7) 19: #define WM_DDE_EXECUTE (WM_DDE_FIRST+8) 20: #define WM_DDE_LAST (WM_DDE_FIRST+8) 21: 22: /*---------------------------------------------------------------------------- 23: | DDEACK structure 24: | 25: | Structure of wStatus (LOWORD(lParam)) in WM_DDE_ACK message 26: | sent in response to a WM_DDE_DATA, WM_DDE_REQUEST, WM_DDE_POKE, 27: | WM_DDE_ADVISE, or WM_DDE_UNADVISE message. 28: | 29: ----------------------------------------------------------------------------*/ 30: 31: typedef struct { 32: unsigned short bAppReturnCode:8, 33: reserved:6, 34: fBusy:1, 35: fAck:1; 36: } DDEACK; 37: 38: 39: /*---------------------------------------------------------------------------- 40: | DDEADVISE structure 41: | 42: | WM_DDE_ADVISE parameter structure for hOptions (LOWORD(lParam)) 43: | 44: ----------------------------------------------------------------------------*/ 45: 46: typedef struct { 47: unsigned short reserved:14, 48: fDeferUpd:1, 49: fAckReq:1; 1.1.1.2 root 50: short cfFormat; 1.1 root 51: } DDEADVISE; 52: 53: 54: /*---------------------------------------------------------------------------- 55: | DDEDATA structure 56: | 1.1.1.2 root 57: | WM_DDE_DATA parameter structure for hData (LOWORD(lParam)). 58: | The actual size of this structure depends on the size of 1.1 root 59: | the Value array. 60: | 61: ----------------------------------------------------------------------------*/ 62: 63: typedef struct { 64: unsigned short unused:12, 65: fResponse:1, 66: fRelease:1, 67: reserved:1, 68: fAckReq:1; 1.1.1.2 root 69: short cfFormat; 1.1 root 70: BYTE Value[1]; 71: } DDEDATA; 72: 73: 74: /*---------------------------------------------------------------------------- 75: | DDEPOKE structure 76: | 1.1.1.2 root 77: | WM_DDE_POKE parameter structure for hData (LOWORD(lParam)). 78: | The actual size of this structure depends on the size of 1.1 root 79: | the Value array. 80: | 81: ----------------------------------------------------------------------------*/ 82: 83: typedef struct { 84: unsigned short unused:13, /* Earlier versions of DDE.H incorrectly */ 85: /* 12 unused bits. */ 86: fRelease:1, 87: fReserved:2; 1.1.1.2 root 88: short cfFormat; 1.1 root 89: BYTE Value[1]; /* This member was named rgb[1] in previous */ 90: /* versions of DDE.H */ 91: 92: } DDEPOKE; 93: 94: /*---------------------------------------------------------------------------- 95: The following typedef's were used in previous versions of the Windows SDK. 96: They are still valid. The above typedef's define exactly the same structures 97: as those below. The above typedef names are recommended, however, as they 98: are more meaningful. 99: 100: Note that the DDEPOKE structure typedef'ed in earlier versions of DDE.H did 101: not correctly define the bit positions. 102: ----------------------------------------------------------------------------*/ 103: 104: typedef struct { 105: unsigned short unused:13, 106: fRelease:1, 107: fDeferUpd:1, 108: fAckReq:1; 1.1.1.2 root 109: short cfFormat; 1.1 root 110: } DDELN; 111: 112: typedef struct { 113: unsigned short unused:12, 114: fAck:1, 115: fRelease:1, 116: fReserved:1, 117: fAckReq:1; 1.1.1.2 root 118: short cfFormat; 1.1 root 119: BYTE rgb[1]; 120: } DDEUP; 121: 122: /* 123: * dde-specific access flags 124: */ 125: #define DDE_ADVISE 0x0001L 126: #define DDE_EXECUTE 0x0002L 127: #define DDE_POKE 0x0004L 128: #define DDE_REQUEST 0x0008L 129: 130: 1.1.1.2 root 131: // 132: // DDE message packing APIs 133: // 134: LONG APIENTRY PackDDElParam(UINT msg, UINT uiLo, UINT uiHi); 135: BOOL APIENTRY UnpackDDElParam(UINT msg, LONG lParam, PUINT puiLo, PUINT puiHi); 136: BOOL APIENTRY FreeDDElParam(UINT msg, LONG lParam); 137: LONG APIENTRY ReuseDDElParam(LONG lParam, UINT msgIn, UINT msgOut, UINT uiLo, UINT uiHi); 1.1.1.3 ! root 138: ! 139: #endif // _DDEHEADER_INCLUDED_
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.