| /** |
| * This file has no copyright assigned and is placed in the Public Domain. |
| * This file is part of the mingw-w64 runtime package. |
| * No warranty is given; refer to the file DISCLAIMER.PD within this package. |
| */ |
| #ifndef _MQMAIL_H |
| #define _MQMAIL_H |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| #include <windows.h> |
| #include <windowsx.h> |
| #include <ole2.h> |
| |
| DEFINE_GUID(CLSID_MQMailQueueType,0x5eadc0d0,0x7182,0x11cf,0xa8,0xff,0x00,0x20,0xaf,0xb8,0xfb,0x50); |
| |
| typedef enum MQMailRecipType_enum { |
| MQMailRecip_TO,MQMailRecip_CC,MQMailRecip_BCC |
| } MQMailRecipType; |
| |
| typedef struct MQMailRecip_tag { |
| LPSTR szName; |
| LPSTR szQueueLabel; |
| LPSTR szAddress; |
| MQMailRecipType iType; |
| LPFILETIME pftDeliveryTime; |
| LPSTR szNonDeliveryReason; |
| } MQMailRecip,*LPMQMailRecip; |
| |
| typedef struct MQMailRecipList_tag { |
| ULONG cRecips; |
| LPMQMailRecip *apRecip; |
| } MQMailRecipList,*LPMQMailRecipList; |
| |
| typedef enum MQMailFormFieldType_enum { |
| MQMailFormField_BOOL,MQMailFormField_STRING,MQMailFormField_LONG,MQMailFormField_CURRENCY,MQMailFormField_DOUBLE |
| } MQMailFormFieldType; |
| |
| typedef union MQMailFormFieldData_tag { |
| WINBOOL b; |
| LPSTR lpsz; |
| LONG l; |
| CY cy; |
| double dbl; |
| } MQMailFormFieldData,*LPMQMailFormFieldData; |
| |
| typedef struct MQMailFormField_tag { |
| LPSTR szName; |
| MQMailFormFieldType iType; |
| MQMailFormFieldData Value; |
| } MQMailFormField,*LPMQMailFormField; |
| |
| typedef struct MQMailFormFieldList_tag { |
| ULONG cFields; |
| LPMQMailFormField *apField; |
| } MQMailFormFieldList,*LPMQMailFormFieldList; |
| |
| typedef enum MQMailEMailType_enum { |
| MQMailEMail_MESSAGE,MQMailEMail_FORM,MQMailEMail_TNEF,MQMailEMail_DELIVERY_REPORT,MQMailEMail_NON_DELIVERY_REPORT |
| } MQMailEMailType; |
| |
| typedef struct MQMailMessageData_tag { |
| LPSTR szText; |
| } MQMailMessageData,*LPMQMailMessageData; |
| |
| typedef struct MQMailFormData_tag { |
| LPSTR szName; |
| LPMQMailFormFieldList pFields; |
| } MQMailFormData,*LPMQMailFormData; |
| |
| typedef struct MQMailTnefData_tag { |
| ULONG cbData; |
| LPBYTE lpbData; |
| } MQMailTnefData,*LPMQMailTnefData; |
| |
| typedef struct MQMailDeliveryReportData_tag { |
| LPMQMailRecipList pDeliveredRecips; |
| LPSTR szOriginalSubject; |
| LPFILETIME pftOriginalDate; |
| } MQMailDeliveryReportData,*LPMQMailDeliveryReportData; |
| |
| typedef struct MQMailEMail_tag MQMailEMail,*LPMQMailEMail; |
| typedef struct MQMailNonDeliveryReportData_tag { |
| LPMQMailRecipList pNonDeliveredRecips; |
| LPMQMailEMail pOriginalEMail; |
| } MQMailNonDeliveryReportData,*LPMQMailNonDeliveryReportData; |
| |
| typedef struct MQMailEMail_tag { |
| LPMQMailRecip pFrom; |
| LPSTR szSubject; |
| WINBOOL fRequestDeliveryReport; |
| WINBOOL fRequestNonDeliveryReport; |
| LPFILETIME pftDate; |
| LPMQMailRecipList pRecips; |
| MQMailEMailType iType; |
| __C89_NAMELESS union { |
| MQMailFormData form; |
| MQMailMessageData message; |
| MQMailTnefData tnef; |
| MQMailDeliveryReportData DeliveryReport; |
| MQMailNonDeliveryReportData NonDeliveryReport; |
| }; |
| LPVOID pReserved; |
| } MQMailEMail,*LPMQMailEMail; |
| |
| STDAPI MQMailComposeBody(LPMQMailEMail pEMail,ULONG *pcbBuffer,LPBYTE *ppbBuffer); |
| STDAPI MQMailParseBody(ULONG cbBuffer,LPBYTE pbBuffer,LPMQMailEMail *ppEMail); |
| STDAPI_(void) MQMailFreeMemory(LPVOID lpBuffer); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| #endif |