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