|  | /** | 
|  | * 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 |