windows-nt/Source/XPSP1/NT/windows/netdde/incs/ddepkts.h
2020-09-26 16:20:57 +08:00

210 lines
5.1 KiB
C

#ifndef H__ddepkts
#define H__ddepkts
#ifndef H__ddepkt
#include "ddepkt.h"
#define H__ddepkt
#endif
#define PQOS PSECURITY_QUALITY_OF_SERVICE
#define QOS SECURITY_QUALITY_OF_SERVICE
/*
DDEPKTCMN common information for all DDE message packets
*/
typedef struct {
DDEPKT dc_ddePkt;
WORD dc_message;
WORD dc_filler1;
DWORD dc_hConvSrc;
DWORD dc_hConvDst;
} DDEPKTCMN;
typedef DDEPKTCMN FAR *LPDDEPKTCMN;
/*
DDEPKTINIT initiate packet
*/
typedef struct {
DDEPKTCMN dp_init_ddePktCmn;
HDDER dp_init_fromDder;
WORD dp_init_offsFromNode;
WORD dp_init_offsFromApp;
WORD dp_init_offsToNode;
WORD dp_init_offsToApp;
WORD dp_init_offsToTopic;
WORD dp_init_offsPassword;
DWORD dp_init_hSecurityKey;
DWORD dp_init_dwSecurityType;
DWORD dp_init_sizePassword;
} DDEPKTINIT;
typedef DDEPKTINIT FAR *LPDDEPKTINIT;
/*
DDEPKTSEC defines the structure of "dp_init_offsPassword"
*/
typedef struct {
WORD dp_sec_offsUserName;
WORD dp_sec_sizeUserName;
WORD dp_sec_offsDomainName;
WORD dp_sec_sizeDomainName;
WORD dp_sec_offsPassword;
WORD dp_sec_sizePassword;
WORD dp_sec_offsQos;
WORD dp_sec_sizeQos;
} DDEPKTSEC;
typedef DDEPKTSEC FAR *LPDDEPKTSEC;
/*
DDEPKTIACK initiate ack packet
*/
typedef struct {
DDEPKTCMN dp_iack_ddePktCmn;
HDDER dp_iack_fromDder;
DWORD dp_iack_reason;
DWORD dp_iack_hSecurityKey; /* replaced iack_prmXXXX */
DWORD dp_iack_dwSecurityType; /* replaced iack_prmXXXX */
WORD dp_iack_offsFromNode;
WORD dp_iack_offsFromApp;
WORD dp_iack_offsFromTopic;
WORD dp_iack_offsSecurityKey;
DWORD dp_iack_sizeSecurityKey;
} DDEPKTIACK;
typedef DDEPKTIACK FAR *LPDDEPKTIACK;
#include "sectype.h"
/*
DDEPKTTERM terminate packet
*/
typedef struct {
DDEPKTCMN dp_term_ddePktCmn;
} DDEPKTTERM;
typedef DDEPKTTERM FAR *LPDDEPKTTERM;
/*
DDEPKTEXEC execute packet
*/
typedef struct {
DDEPKTCMN dp_exec_ddePktCmn;
char dp_exec_string[ 1 ];
} DDEPKTEXEC;
typedef DDEPKTEXEC FAR *LPDDEPKTEXEC;
/*
DDEPKTEACK ack execute packet
*/
typedef struct {
DDEPKTCMN dp_eack_ddePktCmn;
BYTE dp_eack_fAck;
BYTE dp_eack_fBusy;
BYTE dp_eack_bAppRtn;
BYTE dp_eack_filler;
} DDEPKTEACK;
typedef DDEPKTEACK FAR *LPDDEPKTEACK;
/*
DDEPKTGACK generic ack packet
used for
WM_DDE_ACK_ADVISE
WM_DDE_ACK_REQUEST
WM_DDE_ACK_UNADVISE
WM_DDE_ACK_POKE
WM_DDE_ACK_DATA
*/
typedef struct {
DDEPKTCMN dp_gack_ddePktCmn;
BYTE dp_gack_fAck;
BYTE dp_gack_fBusy;
BYTE dp_gack_bAppRtn;
char dp_gack_itemName[ 1 ];
} DDEPKTGACK;
typedef DDEPKTGACK FAR *LPDDEPKTGACK;
/*
DDEPKTRQST request packet
*/
typedef struct {
DDEPKTCMN dp_rqst_ddePktCmn;
WORD dp_rqst_cfFormat;
WORD dp_rqst_offsFormat;
WORD dp_rqst_offsItemName;
WORD dp_rqst_filler;
} DDEPKTRQST;
typedef DDEPKTRQST FAR *LPDDEPKTRQST;
/*
DDEPKTUNAD unadvise packet
*/
typedef struct {
DDEPKTCMN dp_unad_ddePktCmn;
WORD dp_unad_cfFormat;
WORD dp_unad_offsFormat;
WORD dp_unad_offsItemName;
WORD dp_unad_filler;
} DDEPKTUNAD;
typedef DDEPKTUNAD FAR *LPDDEPKTUNAD;
/*
DDEPKTADVS advise packet
*/
typedef struct {
DDEPKTCMN dp_advs_ddePktCmn;
WORD dp_advs_cfFormat;
WORD dp_advs_offsFormat;
WORD dp_advs_offsItemName;
BYTE dp_advs_fAckReq;
BYTE dp_advs_fNoData;
} DDEPKTADVS;
typedef DDEPKTADVS FAR *LPDDEPKTADVS;
/*
DDEPKTDATA data packet
*/
typedef struct {
DDEPKTCMN dp_data_ddePktCmn;
WORD dp_data_cfFormat;
WORD dp_data_offsFormat;
WORD dp_data_offsItemName;
WORD dp_data_offsData;
DWORD dp_data_sizeData;
BYTE dp_data_fResponse;
BYTE dp_data_fAckReq;
BYTE dp_data_fRelease;
BYTE dp_data_filler;
} DDEPKTDATA;
typedef DDEPKTDATA FAR *LPDDEPKTDATA;
/*
DDEPKTPOKE poke packet
*/
typedef struct {
DDEPKTCMN dp_poke_ddePktCmn;
WORD dp_poke_cfFormat;
WORD dp_poke_offsFormat;
WORD dp_poke_offsItemName;
WORD dp_poke_offsData;
DWORD dp_poke_sizeData;
BYTE dp_poke_fRelease;
BYTE dp_poke_filler[ 3 ];
} DDEPKTPOKE;
typedef DDEPKTPOKE FAR *LPDDEPKTPOKE;
/*
DDEPKTTEST generic test packet
used for
WM_DDE_TEST
*/
typedef struct {
DDEPKTCMN dp_test_ddePktCmn;
BYTE dp_test_nTestNo;
BYTE dp_test_nPktNo;
BYTE dp_test_nTotalPkts;
BYTE dp_test_filler;
} DDEPKTTEST;
typedef DDEPKTTEST FAR *LPDDEPKTTEST;
#endif