/* this ALWAYS GENERATED file contains the definitions for the interfaces */ /* File created by MIDL compiler version 6.00.0361 */ /* Compiler settings for mimeole.idl: Oicf, W1, Zp8, env=Win32 (32b run) protocol : dce , ms_ext, c_ext error checks: allocation ref bounds_check enum stub_data VC __declspec() decoration level: __declspec(uuid()), __declspec(selectany), __declspec(novtable) DECLSPEC_UUID(), MIDL_INTERFACE() */ //@@MIDL_FILE_HEADING( ) #pragma warning( disable: 4049 ) /* more than 64k source lines */ /* verify that the version is high enough to compile this file*/ #ifndef __REQUIRED_RPCNDR_H_VERSION__ #define __REQUIRED_RPCNDR_H_VERSION__ 440 #endif #include "rpc.h" #include "rpcndr.h" #ifndef __RPCNDR_H_VERSION__ #error this stub requires an updated version of #endif // __RPCNDR_H_VERSION__ #ifndef COM_NO_WINDOWS_H #include "windows.h" #include "ole2.h" #endif /*COM_NO_WINDOWS_H*/ #ifndef __mimeole_h__ #define __mimeole_h__ #if defined(_MSC_VER) && (_MSC_VER >= 1020) #pragma once #endif /* Forward Declarations */ #ifndef __IMimeInternational_FWD_DEFINED__ #define __IMimeInternational_FWD_DEFINED__ typedef interface IMimeInternational IMimeInternational; #endif /* __IMimeInternational_FWD_DEFINED__ */ #ifndef __IMimeSecurity_FWD_DEFINED__ #define __IMimeSecurity_FWD_DEFINED__ typedef interface IMimeSecurity IMimeSecurity; #endif /* __IMimeSecurity_FWD_DEFINED__ */ #ifndef __IMimeHeaderTable_FWD_DEFINED__ #define __IMimeHeaderTable_FWD_DEFINED__ typedef interface IMimeHeaderTable IMimeHeaderTable; #endif /* __IMimeHeaderTable_FWD_DEFINED__ */ #ifndef __IMimePropertySchema_FWD_DEFINED__ #define __IMimePropertySchema_FWD_DEFINED__ typedef interface IMimePropertySchema IMimePropertySchema; #endif /* __IMimePropertySchema_FWD_DEFINED__ */ #ifndef __IMimePropertySet_FWD_DEFINED__ #define __IMimePropertySet_FWD_DEFINED__ typedef interface IMimePropertySet IMimePropertySet; #endif /* __IMimePropertySet_FWD_DEFINED__ */ #ifndef __IMimeAddressTable_FWD_DEFINED__ #define __IMimeAddressTable_FWD_DEFINED__ typedef interface IMimeAddressTable IMimeAddressTable; #endif /* __IMimeAddressTable_FWD_DEFINED__ */ #ifndef __IMimeWebDocument_FWD_DEFINED__ #define __IMimeWebDocument_FWD_DEFINED__ typedef interface IMimeWebDocument IMimeWebDocument; #endif /* __IMimeWebDocument_FWD_DEFINED__ */ #ifndef __IMimeBody_FWD_DEFINED__ #define __IMimeBody_FWD_DEFINED__ typedef interface IMimeBody IMimeBody; #endif /* __IMimeBody_FWD_DEFINED__ */ #ifndef __IMimeMessageTree_FWD_DEFINED__ #define __IMimeMessageTree_FWD_DEFINED__ typedef interface IMimeMessageTree IMimeMessageTree; #endif /* __IMimeMessageTree_FWD_DEFINED__ */ #ifndef __IMimeMessage_FWD_DEFINED__ #define __IMimeMessage_FWD_DEFINED__ typedef interface IMimeMessage IMimeMessage; #endif /* __IMimeMessage_FWD_DEFINED__ */ #ifndef __IMimeMessageCallback_FWD_DEFINED__ #define __IMimeMessageCallback_FWD_DEFINED__ typedef interface IMimeMessageCallback IMimeMessageCallback; #endif /* __IMimeMessageCallback_FWD_DEFINED__ */ #ifndef __IPersistMime_FWD_DEFINED__ #define __IPersistMime_FWD_DEFINED__ typedef interface IPersistMime IPersistMime; #endif /* __IPersistMime_FWD_DEFINED__ */ #ifndef __IMimeMessageParts_FWD_DEFINED__ #define __IMimeMessageParts_FWD_DEFINED__ typedef interface IMimeMessageParts IMimeMessageParts; #endif /* __IMimeMessageParts_FWD_DEFINED__ */ #ifndef __IMimeEnumHeaderRows_FWD_DEFINED__ #define __IMimeEnumHeaderRows_FWD_DEFINED__ typedef interface IMimeEnumHeaderRows IMimeEnumHeaderRows; #endif /* __IMimeEnumHeaderRows_FWD_DEFINED__ */ #ifndef __IMimeEnumProperties_FWD_DEFINED__ #define __IMimeEnumProperties_FWD_DEFINED__ typedef interface IMimeEnumProperties IMimeEnumProperties; #endif /* __IMimeEnumProperties_FWD_DEFINED__ */ #ifndef __IMimeEnumAddressTypes_FWD_DEFINED__ #define __IMimeEnumAddressTypes_FWD_DEFINED__ typedef interface IMimeEnumAddressTypes IMimeEnumAddressTypes; #endif /* __IMimeEnumAddressTypes_FWD_DEFINED__ */ #ifndef __IMimeEnumMessageParts_FWD_DEFINED__ #define __IMimeEnumMessageParts_FWD_DEFINED__ typedef interface IMimeEnumMessageParts IMimeEnumMessageParts; #endif /* __IMimeEnumMessageParts_FWD_DEFINED__ */ #ifndef __IHashTable_FWD_DEFINED__ #define __IHashTable_FWD_DEFINED__ typedef interface IHashTable IHashTable; #endif /* __IHashTable_FWD_DEFINED__ */ #ifndef __IMimeAllocator_FWD_DEFINED__ #define __IMimeAllocator_FWD_DEFINED__ typedef interface IMimeAllocator IMimeAllocator; #endif /* __IMimeAllocator_FWD_DEFINED__ */ #ifndef __IMimeObjResolver_FWD_DEFINED__ #define __IMimeObjResolver_FWD_DEFINED__ typedef interface IMimeObjResolver IMimeObjResolver; #endif /* __IMimeObjResolver_FWD_DEFINED__ */ #ifndef __IFontCache_FWD_DEFINED__ #define __IFontCache_FWD_DEFINED__ typedef interface IFontCache IFontCache; #endif /* __IFontCache_FWD_DEFINED__ */ #ifndef __IFontCacheNotify_FWD_DEFINED__ #define __IFontCacheNotify_FWD_DEFINED__ typedef interface IFontCacheNotify IFontCacheNotify; #endif /* __IFontCacheNotify_FWD_DEFINED__ */ #ifndef __IMimeEditTag_FWD_DEFINED__ #define __IMimeEditTag_FWD_DEFINED__ typedef interface IMimeEditTag IMimeEditTag; #endif /* __IMimeEditTag_FWD_DEFINED__ */ #ifndef __IMimeEditTagCollection_FWD_DEFINED__ #define __IMimeEditTagCollection_FWD_DEFINED__ typedef interface IMimeEditTagCollection IMimeEditTagCollection; #endif /* __IMimeEditTagCollection_FWD_DEFINED__ */ /* header files for imported files */ #include "ocidl.h" #include "propidl.h" #ifdef __cplusplus extern "C"{ #endif void * __RPC_USER MIDL_user_allocate(size_t); void __RPC_USER MIDL_user_free( void * ); /* interface __MIDL_itf_mimeole_0000 */ /* [local] */ #if (_WIN32_OE >= 0x0500) #endif //_WIN32_OE //-------------------------------------------------------------------------------- // MIMEOLE.H //-------------------------------------------------------------------------------- // (C) Copyright 1995-1998 Microsoft Corporation. All Rights Reserved. // // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A // PARTICULAR PURPOSE. //-------------------------------------------------------------------------------- #pragma comment(lib,"uuid.lib") // -------------------------------------------------------------------------------- // GUIDS // -------------------------------------------------------------------------------- // {E4B28371-83B0-11d0-8259-00C04FD85AB4} DEFINE_GUID(LIBID_MIMEOLE, 0xe4b28371, 0x83b0, 0x11d0, 0x82, 0x59, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); // {05300401-BCBC-11d0-85E3-00C04FD85AB4} DEFINE_GUID(CLSID_IMimeHtmlProtocol, 0x5300401, 0xbcbc, 0x11d0, 0x85, 0xe3, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); // {C5588354-7F86-11d0-8252-00C04FD85AB4} DEFINE_GUID(IID_IMimeEnumAddressTypes, 0xc5588354, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); // {EE519F11-851A-11d0-825C-00C04FD85AB4} DEFINE_GUID(IID_IMimeWebDocument, 0xee519f11, 0x851a, 0x11d0, 0x82, 0x5c, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); // {FD853CEF-7F86-11d0-8252-00C04FD85AB4} DEFINE_GUID(IID_IUnicodeStream, 0xfd853cef, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); // {C558834A-7F86-11d0-8252-00C04FD85AB4} DEFINE_GUID(IID_IMimeAddressTable, 0xc558834a, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); // {C558834B-7F86-11d0-8252-00C04FD85AB4} DEFINE_GUID(IID_IMimeAddressInfo, 0xc558834b, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); // {C558834D-7F86-11d0-8252-00C04FD85AB4} DEFINE_GUID(IID_IMimeEnumHeaderRows, 0xc558834d, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); // {C558834E-7F86-11d0-8252-00C04FD85AB4} DEFINE_GUID(IID_IMimeInlineSupport, 0xc558834e, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); // {C5588350-7F86-11d0-8252-00C04FD85AB4} DEFINE_GUID(IID_IMimeEnumMessageParts, 0xc5588350, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); // {FD853CD9-7F86-11d0-8252-00C04FD85AB4} DEFINE_GUID(CLSID_IMimeInternational, 0xfd853cd9, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); // {C5588349-7F86-11d0-8252-00C04FD85AB4} DEFINE_GUID(IID_IMimeInternational, 0xc5588349, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); // {FD853CDB-7F86-11d0-8252-00C04FD85AB4} DEFINE_GUID(CLSID_IMimeBody, 0xfd853cdb, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); // {C558834C-7F86-11d0-8252-00C04FD85AB4} DEFINE_GUID(IID_IMimeBody, 0xc558834c, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); // {FD853CDC-7F86-11d0-8252-00C04FD85AB4} DEFINE_GUID(CLSID_IMimeMessageParts, 0xfd853cdc, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); // {C558834F-7F86-11d0-8252-00C04FD85AB4} DEFINE_GUID(IID_IMimeMessageParts, 0xc558834f, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); // {FD853CDD-7F86-11d0-8252-00C04FD85AB4} DEFINE_GUID(CLSID_IMimeAllocator, 0xfd853cdd, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); // {C5588351-7F86-11d0-8252-00C04FD85AB4} DEFINE_GUID(IID_IMimeAllocator, 0xc5588351, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); // {FD853CDE-7F86-11d0-8252-00C04FD85AB4} DEFINE_GUID(CLSID_IMimeSecurity, 0xfd853cde, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); // {C5588353-7F86-11d0-8252-00C04FD85AB4} DEFINE_GUID(IID_IMimeSecurity, 0xc5588353, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); // {FD853CDF-7F86-11d0-8252-00C04FD85AB4} DEFINE_GUID(CLSID_IVirtualStream, 0xfd853cdf, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); // {C5588359-7F86-11d0-8252-00C04FD85AB4} DEFINE_GUID(IID_IVirtualStream, 0xc5588359, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); // {FD853CE0-7F86-11d0-8252-00C04FD85AB4} DEFINE_GUID(CLSID_IMimeHeaderTable, 0xfd853ce0, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); // {FD853CD1-7F86-11d0-8252-00C04FD85AB4} DEFINE_GUID(IID_IMimeHeaderTable, 0xfd853cd1, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); // {FD853CE1-7F86-11d0-8252-00C04FD85AB4} DEFINE_GUID(CLSID_IMimePropertySet, 0xfd853ce1, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); // {FD853CD3-7F86-11d0-8252-00C04FD85AB4} DEFINE_GUID(IID_IMimePropertySet, 0xfd853cd3, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); // {FD853CE2-7F86-11d0-8252-00C04FD85AB4} DEFINE_GUID(CLSID_IMimeMessageTree, 0xfd853ce2, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); // {FD853CD4-7F86-11d0-8252-00C04FD85AB4} DEFINE_GUID(IID_IMimeMessageTree, 0xfd853cd4, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); // {FD853CE3-7F86-11d0-8252-00C04FD85AB4} DEFINE_GUID(CLSID_IMimeMessage, 0xfd853ce3, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); // {FD853CD5-7F86-11d0-8252-00C04FD85AB4} DEFINE_GUID(IID_IMimeMessage, 0xfd853cd5, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); // {FD853CED-7F86-11d0-8252-00C04FD85AB4} DEFINE_GUID(CLSID_IMimePropertySchema, 0xfd853ced, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); // {FD853CEC-7F86-11d0-8252-00C04FD85AB4} DEFINE_GUID(IID_IMimePropertySchema, 0xfd853cec, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); // {FD853CEE-7F86-11d0-8252-00C04FD85AB4} DEFINE_GUID(IID_IMimeEnumProperties, 0xfd853cee, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4); // {DE4AD8DA-555F-11d1-8DD0-00C04FB951F9} DEFINE_GUID(IID_IPersistMime, 0xde4ad8da, 0x555f, 0x11d1, 0x8d, 0xd0, 0x00, 0xc0, 0x4f, 0xb9, 0x51, 0xf9); // {761AA641-7BDA-11d1-8AA9-00C04FB951F3} DEFINE_GUID(IID_IMimeMessageCallback, 0x761aa641, 0x7bda, 0x11d1, 0x8a, 0xa9, 0x0, 0xc0, 0x4f, 0xb9, 0x51, 0xf3); #if (_WIN32_OE >= 0x0500) // {1C82EAD9-508E-11d1-8DCF-00C04FB951F9} DEFINE_GUID(CLSID_MimeEdit, 0x1c82ead9, 0x508e, 0x11d1, 0x8d, 0xcf, 0x0, 0xc0, 0x4f, 0xb9, 0x51, 0xf9); // {1C82EADA-508E-11d1-8DCF-00C04FB951F9} DEFINE_GUID(CMDSETID_MimeEdit, 0x1c82eada, 0x508e, 0x11d1, 0x8d, 0xcf, 0x0, 0xc0, 0x4f, 0xb9, 0x51, 0xf9); // {1C82EADB-508E-11d1-8DCF-00C04FB951F9} DEFINE_GUID(CMDSETID_MimeEditHost, 0x1c82eadb, 0x508e, 0x11d1, 0x8d, 0xcf, 0x0, 0xc0, 0x4f, 0xb9, 0x51, 0xf9); // {64577981-86D7-11d1-BDFC-00C04FA31009} DEFINE_GUID(IID_IHashTable, 0x64577981, 0x86d7, 0x11d1, 0xbd, 0xfc, 0x0, 0xc0, 0x4f, 0xa3, 0x10, 0x9); // {64577982-86D7-11d1-BDFC-00C04FA31009} DEFINE_GUID(CLSID_IHashTable, 0x64577982, 0x86d7, 0x11d1, 0xbd, 0xfc, 0x0, 0xc0, 0x4f, 0xa3, 0x10, 0x9); // {B0D17FC2-7BC4-11d1-BDFA-00C04FA31009} DEFINE_GUID(CLSID_IFontCache, 0xb0d17fc2, 0x7bc4, 0x11d1, 0xbd, 0xfa, 0x0, 0xc0, 0x4f, 0xa3, 0x10, 0x9); // {B0D17FC4-7BC4-11d1-BDFA-00C04FA31009} DEFINE_GUID(IID_IFontCache, 0xb0d17fc4, 0x7bc4, 0x11d1, 0xbd, 0xfa, 0x0, 0xc0, 0x4f, 0xa3, 0x10, 0x9); // {B0D17FC5-7BC4-11d1-BDFA-00C04FA31009} DEFINE_GUID(IID_IFontCacheNotify, 0xb0d17fc5, 0x7bc4, 0x11d1, 0xbd, 0xfa, 0x0, 0xc0, 0x4f, 0xa3, 0x10, 0x9); // {35461E30-C488-11d1-960E-00C04FBD7C09} DEFINE_GUID(CLSID_IMimeObjResolver, 0x35461e30, 0xc488, 0x11d1, 0x96, 0xe, 0x0, 0xc0, 0x4f, 0xbd, 0x7c, 0x9); // {FECEAFFD-C441-11d1-960E-00C04FBD7C09} DEFINE_GUID(IID_IMimeObjResolver, 0xfeceaffd, 0xc441, 0x11d1, 0x96, 0xe, 0x0, 0xc0, 0x4f, 0xbd, 0x7c, 0x9); // {70183210-7b36-11d2-8c12-00c04fa31009} DEFINE_GUID(IID_IMimeEditTag, 0x70183210, 0x7b36, 0x11d2, 0x8c, 0x12, 0x00, 0xc0, 0x4f, 0xa3, 0x10, 0x09); // {d09ee528-7b38-11d2-8c12-00c04fa31009} DEFINE_GUID(IID_IMimeEditTagCollection, 0xd09ee528, 0x7b38, 0x11d2, 0x8c, 0x12, 0x00, 0xc0, 0x4f, 0xa3, 0x10, 0x09); #endif //_WIN32_OE // -------------------------------------------------------------------------------- // Errors // -------------------------------------------------------------------------------- #ifndef FACILITY_INTERNET #define FACILITY_INTERNET 12 #endif #ifndef HR_E #define HR_E(n) MAKE_SCODE(SEVERITY_ERROR, FACILITY_INTERNET, n) #endif #ifndef HR_S #define HR_S(n) MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_INTERNET, n) #endif #ifndef HR_CODE #define HR_CODE(hr) (INT)(hr & 0xffff) #endif // -------------------------------------------------------------------------------- // MIMEOLE Failure Return Values // -------------------------------------------------------------------------------- #define MIME_E_REG_CREATE_KEY HR_E(0xCE01) #define MIME_E_REG_QUERY_INFO HR_E(0xCE02) #define MIME_E_INVALID_ENCTYPE HR_E(0xCE03) #define MIME_E_BOUNDARY_MISMATCH HR_E(0xCE04) #define MIME_E_NOT_FOUND HR_E(0xCE05) #define MIME_E_NO_DATA HR_E(0xCE05) #define MIME_E_BUFFER_TOO_SMALL HR_E(0xCE06) #define MIME_E_INVALID_ITEM_FLAGS HR_E(0xCE07) #define MIME_E_ONE_LINE_ITEM HR_E(0xCE08) #define MIME_E_INVALID_HANDLE HR_E(0xCE09) #define MIME_E_CHARSET_TRANSLATE HR_E(0xCE0A) #define MIME_E_NOT_INITIALIZED HR_E(0xCE0B) #define MIME_E_NO_MORE_ROWS HR_E(0xCE0C) #define MIME_E_ALREADY_BOUND HR_E(0xCE0D) #define MIME_E_CANT_RESET_ROOT HR_E(0xCE0E) #define MIME_E_INSERT_NOT_ALLOWED HR_E(0xCE0F) #define MIME_E_BAD_BODY_LOCATION HR_E(0xCE10) #define MIME_E_NOT_MULTIPART HR_E(0xCE11) #define MIME_E_NO_MULTIPART_BOUNDARY HR_E(0xCE12) #define MIME_E_CONVERT_NOT_NEEDED HR_E(0xCE13) #define MIME_E_CANT_MOVE_BODY HR_E(0xCE14) #define MIME_E_UNKNOWN_BODYTREE_VERSION HR_E(0xCE15) #define MIME_E_NOTHING_TO_SAVE HR_E(0xCE16) #define MIME_E_NEED_SAVE_MESSAGE HR_E(0xCE17) #define MIME_E_NOTHING_TO_REVERT HR_E(0xCE18) #define MIME_E_MSG_SIZE_DIFF HR_E(0xCE19) #define MIME_E_CANT_RESET_PARENT HR_E(0xCE1A) #define MIME_E_CORRUPT_CACHE_TREE HR_E(0xCE1B) #define MIME_E_BODYTREE_OUT_OF_SYNC HR_E(0xCE1C) #define MIME_E_INVALID_ENCODINGTYPE HR_E(0xCE1D) #define MIME_E_MULTIPART_NO_DATA HR_E(0xCE1E) #define MIME_E_INVALID_OPTION_VALUE HR_E(0xCE1F) #define MIME_E_INVALID_OPTION_ID HR_E(0xCE20) #define MIME_E_INVALID_HEADER_NAME HR_E(0xCE21) #define MIME_E_NOT_BOUND HR_E(0xCE22) #define MIME_E_MAX_SIZE_TOO_SMALL HR_E(0xCE23) #define MIME_E_MULTIPART_HAS_CHILDREN HR_E(0xCE25) #define MIME_E_INVALID_PROP_FLAGS HR_E(0xCE26) #define MIME_E_INVALID_ADDRESS_TYPE HR_E(0xCE27) #define MIME_E_INVALID_OBJECT_IID HR_E(0xCE28) #define MIME_E_MLANG_DLL_NOT_FOUND HR_E(0xCE29) #define MIME_E_ROOT_NOT_EMPTY HR_E(0xCE2A) #define MIME_E_MLANG_BAD_DLL HR_E(0xCE2B) #define MIME_E_REG_OPEN_KEY HR_E(0xCE2C) #define MIME_E_INVALID_INET_DATE HR_E(0xCE2D) #define MIME_E_INVALID_BODYTYPE HR_E(0xCE2E) #define MIME_E_INVALID_DELETE_TYPE HR_E(0xCE2F) #define MIME_E_OPTION_HAS_NO_VALUE HR_E(0xCE30) #define MIME_E_INVALID_CHARSET_TYPE HR_E(0xCE31) #define MIME_E_VARTYPE_NO_CONVERT HR_E(0xCE32) #define MIME_E_INVALID_VARTYPE HR_E(0xCE33) #define MIME_E_NO_MORE_ADDRESS_TYPES HR_E(0xCE34) #define MIME_E_INVALID_ENCODING_TYPE HR_E(0xCE35) #define MIME_S_ILLEGAL_LINES_FOUND HR_S(0xCE36) #define MIME_S_MIME_VERSION HR_S(0xCE37) #define MIME_E_INVALID_TEXT_TYPE HR_E(0xCE38) #define MIME_E_READ_ONLY HR_E(0xCE39) #define MIME_S_INVALID_MESSAGE HR_S(0xCE3A) #define MIME_S_CHARSET_CONFLICT HR_S(0xCE3B) #define MIME_E_UNSUPPORTED_VARTYPE HR_E(0xCE3C) #define MIME_S_NO_CHARSET_CONVERT HR_S(0xCE3D) #define MIME_E_URL_NOTFOUND HR_E(0xCE3E) #define MIME_E_BAD_TEXT_DATA HR_E(0xCE3F) #define MIME_E_NO_SIGNER HR_S(0xCE40) // --------------------------------------------------------------------------- // MIMEOLE Security Error Return Values // --------------------------------------------------------------------------- #define MIME_E_SECURITY_NOTINIT HR_E(0xCEA0) #define MIME_E_SECURITY_LOADCRYPT32 HR_E(0xCEA1) #define MIME_E_SECURITY_BADPROCADDR HR_E(0xCEA2) #define MIME_E_SECURITY_NODEFAULT HR_E(0xCEB0) #define MIME_E_SECURITY_NOOP HR_E(0xCEB1) #define MIME_S_SECURITY_NOOP HR_S(0xCEB1) #define MIME_S_SECURITY_NONE HR_S(0xCEB2) #define MIME_S_SECURITY_ERROROCCURED HR_S(0xCEB3) #define MIME_E_SECURITY_USERCHOICE HR_E(0xCEB4) #define MIME_E_SECURITY_UNKMSGTYPE HR_E(0xCEB5) #define MIME_E_SECURITY_BADMESSAGE HR_E(0xCEB6) #define MIME_E_SECURITY_BADCONTENT HR_E(0xCEB7) #define MIME_E_SECURITY_BADSECURETYPE HR_E(0xCEB8) #define MIME_E_SECURITY_CLASSNOTSUPPORTED HR_E(0xCEB9) #define MIME_S_SECURITY_RECURSEONLY HR_S(0xCEBA) #define MIME_E_SECURITY_BADSTORE HR_E(0xCED0) #define MIME_S_SECURITY_NOCERT HR_S(0xCED1) #define MIME_E_SECURITY_NOCERT HR_E(0xCED1) #define MIME_E_SECURITY_CERTERROR HR_E(0xCED2) #define MIME_S_SECURITY_CERTERROR HR_S(0xCED2) #define MIME_S_SECURITY_NODEFCERT HR_S(0xCED3) #define MIME_E_SECURITY_BADSIGNATURE HR_E(0xCEE0) #define MIME_E_SECURITY_MULTSIGNERS HR_E(0xCEE1) #define MIME_E_SECURITY_NOSIGNINGCERT HR_E(0xCEE2) #define MIME_E_SECURITY_CANTDECRYPT HR_E(0xCEF0) #define MIME_E_SECURITY_ENCRYPTNOSENDERCERT HR_E(0xCEF1) #define MIME_S_SECURITY_NOSENDERCERT HR_S(0xCEF2) #if (_WIN32_OE >= 0x0500) // -------------------------------------------------------------------------------- // MIMEEDIT Failure Return Values // -------------------------------------------------------------------------------- #define MIMEEDIT_E_UNEXPECTED HR_E(0x1700) #define MIMEEDIT_E_DODEFAULT HR_E(0x1701) #define MIMEEDIT_E_LOADLIBRARYFAILURE HR_E(0x1702) #define MIMEEDIT_E_USERCANCEL HR_E(0x1703) #define MIMEEDIT_E_CHARSETNOTFOUND HR_E(0x1704) #define MIMEEDIT_E_ILLEGALBODYFORMAT HR_E(0x1705) #define MIMEEDIT_E_CANNOTSAVEUNTILPARSECOMPLETE HR_E(0x1706) #define MIMEEDIT_E_CANNOTSAVEWHILESOURCEEDITING HR_E(0x1707) // -------------------------------------------------------------------------------- // MIMEEDIT Success Return Values // -------------------------------------------------------------------------------- #define MIMEEDIT_S_OPENFILE HR_S(0x1750) #define MIMEEDIT_S_SAVEFILE HR_S(0x1751) // -------------------------------------------------------------------------------- // MIMEEDIT Warning Return Values // -------------------------------------------------------------------------------- #define MIMEEDIT_W_DOWNLOADNOTCOMPLETE HR_S(0x1760) #define MIMEEDIT_W_BADURLSNOTATTACHED HR_S(0x1761) #endif //_WIN32_OE // -------------------------------------------------------------------------------- // String Definition Macros // -------------------------------------------------------------------------------- #ifdef __cplusplus #define EXTERN_C extern "C" #else #define EXTERN_C extern #endif #ifndef STRCONSTA #ifdef DEFINE_STRCONST #define STRCONSTA(x,y) EXTERN_C const char x[] = y #define STRCONSTW(x,y) EXTERN_C const WCHAR x[] = L##y #else #define STRCONSTA(x,y) EXTERN_C const char x[] #define STRCONSTW(x,y) EXTERN_C const WCHAR x[] #endif #endif // -------------------------------------------------------------------------------- // rfc822 Headers // -------------------------------------------------------------------------------- STRCONSTA(STR_HDR_FROM, "From"); STRCONSTA(STR_HDR_TO, "To"); STRCONSTA(STR_HDR_CC, "Cc"); STRCONSTA(STR_HDR_BCC, "Bcc"); STRCONSTA(STR_HDR_SENDER, "Sender"); STRCONSTA(STR_HDR_REPLYTO, "Reply-To"); STRCONSTA(STR_HDR_RETURNPATH, "Return-Path"); STRCONSTA(STR_HDR_RR, "Rr"); STRCONSTA(STR_HDR_RETRCPTTO, "Return-Receipt-To"); STRCONSTA(STR_HDR_APPARTO, "Apparently-To"); STRCONSTA(STR_HDR_DATE, "Date"); STRCONSTA(STR_HDR_RECEIVED, "Received"); STRCONSTA(STR_HDR_MESSAGEID, "Message-ID"); STRCONSTA(STR_HDR_XMAILER, "X-Mailer"); STRCONSTA(STR_HDR_ENCODING, "Encoding"); STRCONSTA(STR_HDR_ENCRYPTED, "Encrypted"); STRCONSTA(STR_HDR_COMMENT, "Comment"); STRCONSTA(STR_HDR_SUBJECT, "Subject"); STRCONSTA(STR_HDR_MIMEVER, "MIME-Version"); STRCONSTA(STR_HDR_CNTTYPE, "Content-Type"); STRCONSTA(STR_HDR_CNTXFER, "Content-Transfer-Encoding"); STRCONSTA(STR_HDR_CNTID, "Content-ID"); STRCONSTA(STR_HDR_CNTDESC, "Content-Description"); STRCONSTA(STR_HDR_CNTDISP, "Content-Disposition"); STRCONSTA(STR_HDR_CNTBASE, "Content-Base"); STRCONSTA(STR_HDR_CNTLOC, "Content-Location"); STRCONSTA(STR_HDR_NEWSGROUPS, "Newsgroups"); STRCONSTA(STR_HDR_PATH, "Path"); STRCONSTA(STR_HDR_FOLLOWUPTO, "Followup-To"); STRCONSTA(STR_HDR_EXPIRES, "Expires"); STRCONSTA(STR_HDR_REFS, "References"); STRCONSTA(STR_HDR_CONTROL, "Control"); STRCONSTA(STR_HDR_DISTRIB, "Distribution"); STRCONSTA(STR_HDR_KEYWORDS, "Keywords"); STRCONSTA(STR_HDR_SUMMARY, "Summary"); STRCONSTA(STR_HDR_APPROVED, "Approved"); STRCONSTA(STR_HDR_LINES, "Lines"); STRCONSTA(STR_HDR_XREF, "Xref"); STRCONSTA(STR_HDR_ORG, "Organization"); STRCONSTA(STR_HDR_XNEWSRDR, "X-Newsreader"); STRCONSTA(STR_HDR_XPRI, "X-Priority"); STRCONSTA(STR_HDR_XMSPRI, "X-MSMail-Priority"); STRCONSTA(STR_HDR_OFFSETS, "X-Offsets"); STRCONSTA(STR_HDR_XUNSENT, "X-Unsent"); STRCONSTA(STR_HDR_ARTICLEID, "X-ArticleId"); STRCONSTA(STR_HDR_NEWSGROUP, "X-Newsgroup"); STRCONSTA(STR_HDR_XVOICEMAIL, "X-VoiceMail"); // -------------------------------------------------------------------------------- // Parameters Available through IMimePropertySet/IMimeBody // -------------------------------------------------------------------------------- STRCONSTA(STR_PAR_CHARSET, "par:content-type:charset"); STRCONSTA(STR_PAR_NUMBER, "par:content-type:number"); STRCONSTA(STR_PAR_TOTAL, "par:content-type:total"); STRCONSTA(STR_PAR_ID, "par:content-type:id"); STRCONSTA(STR_PAR_BOUNDARY, "par:content-type:boundary"); STRCONSTA(STR_PAR_NAME, "par:content-type:name"); STRCONSTA(STR_PAR_PROTOCOL, "par:content-type:protocol"); STRCONSTA(STR_PAR_MICALG, "par:content-type:micalg"); STRCONSTA(STR_PAR_FILENAME, "par:content-disposition:filename"); STRCONSTA(STR_PAR_TYPE, "par:content-type:type"); STRCONSTA(STR_PAR_START, "par:content-type:start"); #if (_WIN32_OE >= 0x0500) STRCONSTA(STR_PAR_ACCESSTYPE, "par:content-type:access-type"); STRCONSTA(STR_PAR_XURL, "par:content-type:X-URL"); STRCONSTA(STR_PAR_SIZE, "par:content-type:size"); STRCONSTA(STR_PAR_SMIMETYPE, "par:content-type:smime-type"); #endif // -------------------------------------------------------------------------------- // Attributes Available through IMimePropertySet/IMimeBody // -------------------------------------------------------------------------------- STRCONSTA(STR_ATT_FILENAME, "att:filename"); STRCONSTA(STR_ATT_GENFNAME, "att:generated-filename"); STRCONSTA(STR_ATT_PRITYPE, "att:pri-content-type"); STRCONSTA(STR_ATT_SUBTYPE, "att:sub-content-type"); STRCONSTA(STR_ATT_NORMSUBJ, "att:normalized-subject"); STRCONSTA(STR_ATT_ILLEGAL, "att:illegal-lines"); STRCONSTA(STR_ATT_RENDERED, "att:rendered"); // VT_UI4 - TRUE or FALSE STRCONSTA(STR_ATT_AUTOINLINED, "att:auto-inlined"); // VT_UI4 - TRUE or FALSE STRCONSTA(STR_ATT_SENTTIME, "att:sent-time"); STRCONSTA(STR_ATT_RECVTIME, "att:received-time"); STRCONSTA(STR_ATT_PRIORITY, "att:priority"); STRCONSTA(STR_ATT_SERVER, "att:athena-server"); // VT_LPSTR #ifdef OE5_BETA2 STRCONSTA(STR_ATT_ACCOUNTNAME, "att:athena-account-name"); // VT_LPSTR #else STRCONSTA(STR_ATT_ACCOUNT, "att:athena-account"); // VT_LPSTR #endif STRCONSTA(STR_ATT_UIDL, "att:athena-pop3-uidl"); // VT_LPSTR STRCONSTA(STR_ATT_STOREMSGID, "att:athena-store-msgid"); // VT_UI4 STRCONSTA(STR_ATT_USERNAME, "att:athena-user-name"); // VT_LPSTR STRCONSTA(STR_ATT_FORWARDTO, "att:athena-forward-to"); // VT_LPSTR STRCONSTA(STR_ATT_STOREFOLDERID, "att:athena-store-fdrid"); // VT_UI4 STRCONSTA(STR_ATT_GHOSTED, "att:athena-ghosted"); // VT_I4 STRCONSTA(STR_ATT_UNCACHEDSIZE, "att:athena-uncachedsize"); // VT_UI4 STRCONSTA(STR_ATT_COMBINED, "att:athena-combined"); // VT_UI4 #ifdef OE5_BETA2 STRCONSTA(STR_ATT_ACCOUNTID, "att:athena-account-id"); // VT_LPSTR #endif // -------------------------------------------------------------------------------- // MIME Content Types // -------------------------------------------------------------------------------- STRCONSTA(STR_MIME_TEXT_PLAIN, "text/plain"); STRCONSTA(STR_MIME_TEXT_HTML, "text/html"); STRCONSTA(STR_MIME_APPL_STREAM, "application/octet-stream"); STRCONSTA(STR_MIME_MPART_MIXED, "multipart/mixed"); STRCONSTA(STR_MIME_MPART_ALT, "multipart/alternative"); STRCONSTA(STR_MIME_MPART_RELATED, "multipart/related"); STRCONSTA(STR_MIME_MSG_PART, "message/partial"); STRCONSTA(STR_MIME_MSG_RFC822, "message/rfc822"); STRCONSTA(STR_MIME_APPLY_MSTNEF, "application/ms-tnef"); STRCONSTA(STR_MIME_APPL_PKCS7SIG, "application/x-pkcs7-signature"); STRCONSTA(STR_MIME_APPL_PKCS7SIG_1, "application/pkcs7-signature"); STRCONSTA(STR_MIME_TEXT_ENRCICHED, "text/enriched"); // -------------------------------------------------------------------------------- // MIME Primary Content Types // -------------------------------------------------------------------------------- STRCONSTA(STR_CNT_TEXT, "text"); STRCONSTA(STR_CNT_MULTIPART, "multipart"); STRCONSTA(STR_CNT_MESSAGE, "message"); STRCONSTA(STR_CNT_IMAGE, "image"); STRCONSTA(STR_CNT_AUDIO, "audio"); STRCONSTA(STR_CNT_VIDEO, "video"); STRCONSTA(STR_CNT_APPLICATION, "application"); // -------------------------------------------------------------------------------- // MIME Secondary Content Types // -------------------------------------------------------------------------------- STRCONSTA(STR_SUB_PLAIN, "plain"); STRCONSTA(STR_SUB_HTML, "html"); STRCONSTA(STR_SUB_ENRICHED, "enriched"); STRCONSTA(STR_SUB_RTF, "ms-rtf"); STRCONSTA(STR_SUB_MIXED, "mixed"); STRCONSTA(STR_SUB_PARALLEL, "parallel"); STRCONSTA(STR_SUB_DIGEST, "digest"); STRCONSTA(STR_SUB_RELATED, "related"); STRCONSTA(STR_SUB_ALTERNATIVE, "alternative"); STRCONSTA(STR_SUB_RFC822, "rfc822"); STRCONSTA(STR_SUB_PARTIAL, "partial"); STRCONSTA(STR_SUB_EXTERNAL, "external-body"); STRCONSTA(STR_SUB_OCTETSTREAM, "octet-stream"); STRCONSTA(STR_SUB_POSTSCRIPT, "postscript"); STRCONSTA(STR_SUB_GIF, "gif"); STRCONSTA(STR_SUB_JPEG, "jpeg"); STRCONSTA(STR_SUB_BASIC, "basic"); STRCONSTA(STR_SUB_MPEG, "mpeg"); STRCONSTA(STR_SUB_MSTNEF, "ms-tnef"); STRCONSTA(STR_SUB_MSWORD, "msword"); STRCONSTA(STR_SUB_WAV, "wav"); STRCONSTA(STR_SUB_PKCS7MIME, "pkcs7-mime"); // non-standard STRCONSTA(STR_SUB_PKCS7SIG, "pkcs7-signature"); // non-standard STRCONSTA(STR_SUB_XPKCS7MIME, "x-pkcs7-mime"); STRCONSTA(STR_SUB_XPKCS7SIG, "x-pkcs7-signature"); STRCONSTA(STR_SUB_SIGNED, "signed"); STRCONSTA(STR_SUB_BINHEX, "mac-binhex40"); STRCONSTA(STR_SUB_VCARD, "x-vcard"); // -------------------------------------------------------------------------------- // MIME Content-Transfer-Encoding Types // -------------------------------------------------------------------------------- STRCONSTA(STR_ENC_7BIT, "7bit"); STRCONSTA(STR_ENC_QP, "quoted-printable"); STRCONSTA(STR_ENC_BASE64, "base64"); STRCONSTA(STR_ENC_8BIT, "8bit"); STRCONSTA(STR_ENC_BINARY, "binary"); STRCONSTA(STR_ENC_UUENCODE, "uuencode"); STRCONSTA(STR_ENC_XUUENCODE, "x-uuencode"); STRCONSTA(STR_ENC_XUUE, "x-uue"); STRCONSTA(STR_ENC_BINHEX40, "mac-binhex40"); // -------------------------------------------------------------------------------- // MIME Content-Disposition Types // -------------------------------------------------------------------------------- STRCONSTA(STR_DIS_INLINE, "inline"); STRCONSTA(STR_DIS_ATTACHMENT, "attachment"); // -------------------------------------------------------------------------------- // MIME Protocol Types // -------------------------------------------------------------------------------- STRCONSTA(STR_PRO_SHA1, "sha1"); STRCONSTA(STR_PRO_MD5, "rsa-md5"); // -------------------------------------------------------------------------------- // Known Priority Strings // -------------------------------------------------------------------------------- STRCONSTA(STR_PRI_MS_HIGH, "High"); STRCONSTA(STR_PRI_MS_NORMAL, "Normal"); STRCONSTA(STR_PRI_MS_LOW, "Low"); STRCONSTA(STR_PRI_HIGH, "1"); STRCONSTA(STR_PRI_NORMAL, "3"); STRCONSTA(STR_PRI_LOW, "5"); // -------------------------------------------------------------------------------- // IMimeMessage IDataObject clipboard formats (also include CF_TEXT) // -------------------------------------------------------------------------------- STRCONSTA(STR_CF_HTML, "HTML Format"); STRCONSTA(STR_CF_INETMSG, "Internet Message (rfc822/rfc1522)"); STRCONSTA(STR_CF_RFC822, "message/rfc822"); // -------------------------------------------------------------------------------- // PIDSTRING - Use in GetProp, SetProp, QueryProp, DeleteProp // -------------------------------------------------------------------------------- #define PID_BASE 2 #define PIDTOSTR(_dwPropId) ((LPCSTR)((DWORD_PTR)(_dwPropId))) #define STRTOPID(_pszName) ((DWORD)((DWORD_PTR)((LPCSTR)(_pszName)))) #define ISPIDSTR(_pszName) ((HIWORD((DWORD_PTR)(_pszName)) == 0)) #define ISKNOWNPID(_dwPropId) (_dwPropId >= PID_BASE && _dwPropId < PID_LAST) // -------------------------------------------------------------------------------- // Mime Property Ids // -------------------------------------------------------------------------------- typedef enum tagMIMEPROPID { PID_HDR_NEWSGROUP = 2, PID_HDR_NEWSGROUPS = 3, PID_HDR_REFS = 4, PID_HDR_SUBJECT = 5, PID_HDR_FROM = 6, PID_HDR_MESSAGEID = 7, PID_HDR_RETURNPATH = 8, PID_HDR_RR = 9, PID_HDR_RETRCPTTO = 10, PID_HDR_APPARTO = 11, PID_HDR_DATE = 12, PID_HDR_RECEIVED = 13, PID_HDR_REPLYTO = 14, PID_HDR_XMAILER = 15, PID_HDR_BCC = 16, PID_HDR_MIMEVER = 17, PID_HDR_CNTTYPE = 18, PID_HDR_CNTXFER = 19, PID_HDR_CNTID = 20, PID_HDR_CNTDESC = 21, PID_HDR_CNTDISP = 22, PID_HDR_CNTBASE = 23, PID_HDR_CNTLOC = 24, PID_HDR_TO = 25, PID_HDR_PATH = 26, PID_HDR_FOLLOWUPTO = 27, PID_HDR_EXPIRES = 28, PID_HDR_CC = 29, PID_HDR_CONTROL = 30, PID_HDR_DISTRIB = 31, PID_HDR_KEYWORDS = 32, PID_HDR_SUMMARY = 33, PID_HDR_APPROVED = 34, PID_HDR_LINES = 35, PID_HDR_XREF = 36, PID_HDR_ORG = 37, PID_HDR_XNEWSRDR = 38, PID_HDR_XPRI = 39, PID_HDR_XMSPRI = 40, PID_PAR_FILENAME = 41, PID_PAR_BOUNDARY = 42, PID_PAR_CHARSET = 43, PID_PAR_NAME = 44, PID_ATT_FILENAME = 45, PID_ATT_GENFNAME = 46, PID_ATT_PRITYPE = 47, PID_ATT_SUBTYPE = 48, PID_ATT_NORMSUBJ = 49, PID_ATT_ILLEGAL = 50, PID_ATT_RENDERED = 51, PID_ATT_SENTTIME = 52, PID_ATT_RECVTIME = 53, PID_ATT_PRIORITY = 54, PID_HDR_COMMENT = 55, PID_HDR_ENCODING = 56, PID_HDR_ENCRYPTED = 57, PID_HDR_OFFSETS = 58, PID_HDR_XUNSENT = 59, PID_HDR_ARTICLEID = 60, PID_HDR_SENDER = 61, PID_ATT_SERVER = 62, #ifdef OE5_BETA2 PID_ATT_ACCOUNTID = 63, #else PID_ATT_ACCOUNT = 63, #endif PID_ATT_UIDL = 64, PID_ATT_STOREMSGID = 65, PID_ATT_USERNAME = 66, PID_ATT_FORWARDTO = 67, PID_ATT_STOREFOLDERID = 68, PID_ATT_GHOSTED = 69, PID_ATT_UNCACHEDSIZE = 70, PID_ATT_COMBINED = 71, PID_ATT_AUTOINLINED = 72, PID_LAST = 73 } MIMEPROPID; // -------------------------------------------------------------------------------- // Variant Typed Identifiers // -------------------------------------------------------------------------------- #define TYPEDID_MASK ((ULONG)0x0000FFFF) #define TYPEDID_TYPE(_typedid) (VARTYPE)(((ULONG)(_typedid)) & TYPEDID_MASK) #define TYPEDID_ID(_typedid) (((ULONG)(_typedid))>>16) #define TYPEDID(_vartype,_id) ((((TYPEDID)(_id))<<16)|((ULONG)(_vartype))) // -------------------------------------------------------------------------------- // Options Ids // -------------------------------------------------------------------------------- #define OID_ALLOW_8BIT_HEADER TYPEDID(VT_BOOL, 0x0001) // TRUE or FALSE #define OID_CBMAX_HEADER_LINE TYPEDID(VT_UI4, 0x0002) // Bytes #define OID_SAVE_FORMAT TYPEDID(VT_UI4, 0x0003) // SAVE_RFC822 or SAVE_RFC1521 (mime) #define OID_WRAP_BODY_TEXT TYPEDID(VT_BOOL, 0x0004) // TRUE or FALSE #define OID_CBMAX_BODY_LINE TYPEDID(VT_UI4, 0x0005) // Bytes #define OID_TRANSMIT_BODY_ENCODING TYPEDID(VT_UI4, 0x0006) // ENCODINGTYPE #define OID_TRANSMIT_TEXT_ENCODING TYPEDID(VT_UI4, 0x0007) // ENCODINGTYPE, IMimeMessageTree #define OID_GENERATE_MESSAGE_ID TYPEDID(VT_BOOL, 0x0008) // TRUE or FALSE #define OID_HIDE_TNEF_ATTACHMENTS TYPEDID(VT_BOOL, 0X000E) // TRUE or FALSE #define OID_CLEANUP_TREE_ON_SAVE TYPEDID(VT_BOOL, 0X000F) // TRUE or FALSE #define OID_BODY_REMOVE_NBSP TYPEDID(VT_BOOL, 0x0014) // TRUE or FALSE #define OID_DEFAULT_BODY_CHARSET TYPEDID(VT_UI4, 0x0015) // HCHARSET #define OID_DEFAULT_HEADER_CHARSET TYPEDID(VT_UI4, 0x0016) // HCHARSET #define OID_DBCS_ESCAPE_IS_8BIT TYPEDID(VT_BOOL, 0x0017) // TRUE or FALSE #define OID_SECURITY_TYPE TYPEDID(VT_UI4, 0x0018) #define OID_SECURITY_ALG_HASH TYPEDID(VT_BLOB, 0x0019) #define OID_SECURITY_ALG_BULK TYPEDID(VT_BLOB, 0x0020) #define OID_SECURITY_CERT_SIGNING TYPEDID(VT_UI4, 0x0021) #define OID_SECURITY_CERT_DECRYPTION TYPEDID(VT_UI4, 0x0022) #define OID_SECURITY_RG_CERT_ENCRYPT TYPEDID(VT_VECTOR | VT_UI4, 0x0023) #define OID_SECURITY_HCERTSTORE TYPEDID(VT_UI4, 0x0024) #define OID_SECURITY_RG_CERT_BAG TYPEDID(VT_VECTOR | VT_UI4, 0x0025) #define OID_SECURITY_CRL TYPEDID(VT_BLOB, 0x0026) #define OID_SECURITY_SEARCHSTORES TYPEDID(VT_VECTOR | VT_UI4, 0x0027) #define OID_SECURITY_RG_IASN TYPEDID(VT_VECTOR | VT_UI4, 0x0028) #define OID_SECURITY_SYMCAPS TYPEDID(VT_BLOB, 0x0029) #define OID_SECURITY_AUTHATTR TYPEDID(VT_BLOB, 0x002A) #define OID_SECURITY_UNAUTHATTR TYPEDID(VT_BLOB, 0x002B) #define OID_SECURITY_SIGNTIME TYPEDID(VT_FILETIME,0x002C) #define OID_SECURITY_USER_VALIDITY TYPEDID(VT_UI4, 0x002D) #define OID_SECURITY_RO_MSG_VALIDITY TYPEDID(VT_UI4, 0x002E) // read-only #define OID_SECURITY_HCRYPTPROV TYPEDID(VT_UI4, 0x002F) #define OID_SECURITY_ENCODE_FLAGS TYPEDID(VT_UI4, 0x0030) #define OID_SECURITY_CERT_INCLUDED TYPEDID(VT_BOOL, 0x0031) // read-only #define OID_SECURITY_HWND_OWNER TYPEDID(VT_UI4, 0x0032) #define OID_SECURITY_REQUESTED_CTE TYPEDID(VT_I4, 0x0033) #define OID_NO_DEFAULT_CNTTYPE TYPEDID(VT_BOOL, 0x0034) #define OID_XMIT_PLAIN_TEXT_ENCODING TYPEDID(VT_UI4, 0x0035) // ENCODINGTYPE, IMimeMessageTree #define OID_XMIT_HTML_TEXT_ENCODING TYPEDID(VT_UI4, 0x0036) // ENCODINGTYPE, IMimeMessageTree #define OID_HEADER_RELOAD_TYPE TYPEDID(VT_UI4, 0x0037) // RELOADTYPE IMimeMessageTree or IMimeBody or IMimePropertySet #define OID_CAN_INLINE_TEXT_BODIES TYPEDID(VT_BOOL, 0x0038) // TRUE or FALSE #define OID_SHOW_MACBINARY TYPEDID(VT_BOOL, 0x0039) // TRUE or FALSE #define OID_SAVEBODY_KEEPBOUNDARY TYPEDID(VT_BOOL, 0x0040) // TRUE or FALSE #if (_WIN32_OE >= 0x0500) #define OID_SECURITY_ALG_HASH_RG TYPEDID(VT_VECTOR | VT_VARIANT, 0x0019) #define OID_SECURITY_CERT_SIGNING_RG TYPEDID(VT_VECTOR | VT_UI4, 0x0021) #define OID_SECURITY_SYMCAPS_RG TYPEDID(VT_VECTOR | VT_VARIANT, 0x0029) #define OID_SECURITY_AUTHATTR_RG TYPEDID(VT_VECTOR | VT_VARIANT, 0x002A) #define OID_SECURITY_UNAUTHATTR_RG TYPEDID(VT_VECTOR | VT_VARIANT, 0x002B) #define OID_SECURITY_SIGNTIME_RG TYPEDID(VT_VECTOR | VT_FILETIME, 0x002C) #define OID_SECURITY_USER_VALIDITY_RG TYPEDID(VT_VECTOR | VT_UI4, 0x002D) #define OID_SECURITY_RO_MSG_VALIDITY_RG TYPEDID(VT_VECTOR | VT_UI4, 0x002E) // read-only #define OID_SUPPORT_EXTERNAL_BODY TYPEDID(VT_BOOL, 0x0041) // TRUE or FALSE #define OID_LOAD_USE_BIND_FILE TYPEDID(VT_BOOL, 0x0042) // TRUE or FALSE #define OID_SECURITY_SIGNATURE_COUNT TYPEDID(VT_UI4, 0x0043) // Size of SECURITY LAYER arrays #define OID_HANDSOFF_ONSAVE TYPEDID(VT_BOOL, 0x0044) // TRUE or FALSE #define OID_SECURITY_RECEIPT TYPEDID(VT_BLOB, 0x0045) // Receipt body #define OID_NOSECURITY_ONSAVE TYPEDID(VT_BOOL, 0x0046) // TRUE or FALSE #define OID_DECODE_RFC1154 TYPEDID(VT_BOOL, 0x0047) // TRUE or FALSE #endif // -------------------------------------------------------------------------------- // Default Option Values // -------------------------------------------------------------------------------- #define DEF_ALLOW_8BIT_HEADER FALSE #define DEF_CBMAX_HEADER_LINE 1000 #define DEF_SAVE_FORMAT SAVE_RFC1521 #define DEF_WRAP_BODY_TEXT TRUE #define DEF_CBMAX_BODY_LINE 74 #define DEF_GENERATE_MESSAGE_ID FALSE #define DEF_HASH_ALG_ID 0x8004 //SHA //N needed? #define DEF_ENCRYPTION_ALG_ID 0x6602 //RC2 //N needed? #define DEF_INCLUDE_SENDER_CERT FALSE #define DEF_HIDE_TNEF_ATTACHMENTS TRUE #define DEF_CLEANUP_TREE_ON_SAVE TRUE #define DEF_BODY_REMOVE_NBSP TRUE #define DEF_SECURITY_IGNOREMASK 0 #define DEF_DBCS_ESCAPE_IS_8BIT FALSE #define DEF_TRANSMIT_BODY_ENCODING IET_UNKNOWN #define DEF_TRANSMIT_TEXT_ENCODING IET_UNKNOWN #define DEF_XMIT_PLAIN_TEXT_ENCODING IET_UNKNOWN #define DEF_XMIT_HTML_TEXT_ENCODING IET_UNKNOWN #define DEF_NO_DEFAULT_CNTTYPE FALSE #define DEF_HEADER_RELOAD_TYPE_TREE RELOAD_HEADER_RESET #define DEF_HEADER_RELOAD_TYPE_PROPSET RELOAD_HEADER_NONE #define DEF_CAN_INLINE_TEXT_BODIES FALSE #define DEF_SHOW_MACBINARY FALSE #define DEF_SAVEBODY_KEEPBOUNDARY FALSE #if (_WIN32_OE >= 0x0500) #define DEF_SUPPORT_EXTERNAL_BODY FALSE #define DEF_LOAD_USE_BIND_FILE FALSE #define DEF_HANDSOFF_ONSAVE FALSE #define DEF_DECODE_RFC1154 FALSE #endif // -------------------------------------------------------------------------------- // Min-Max Option Values // -------------------------------------------------------------------------------- #define MAX_CBMAX_HEADER_LINE 0xffffffff #define MIN_CBMAX_HEADER_LINE 76 #define MAX_CBMAX_BODY_LINE 0xffffffff #define MIN_CBMAX_BODY_LINE 30 // -------------------------------------------------------------------------------- // LIBID_MIMEOLE // -------------------------------------------------------------------------------- extern RPC_IF_HANDLE __MIDL_itf_mimeole_0000_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mimeole_0000_v0_0_s_ifspec; #ifndef __MIMEOLE_LIBRARY_DEFINED__ #define __MIMEOLE_LIBRARY_DEFINED__ /* library MIMEOLE */ /* [version][helpstring][uuid] */ struct HCHARSET__ { DWORD unused; } ; typedef const struct HCHARSET__ *HCHARSET; typedef HCHARSET *LPHCHARSET; struct HBODY__ { DWORD unused; } ; typedef const struct HBODY__ *HBODY; typedef HBODY *LPHBODY; struct HHEADERROW__ { DWORD unused; } ; typedef const struct HHEADERROW__ *HHEADERROW; typedef HHEADERROW *LPHHEADERROW; typedef DWORD TYPEDID; typedef const PROPVARIANT *LPCPROPVARIANT; typedef const BLOB *LPCBLOB; typedef enum tagRELOADTYPE { RELOAD_HEADER_NONE = 0, RELOAD_HEADER_RESET = RELOAD_HEADER_NONE + 1, RELOAD_HEADER_APPEND = RELOAD_HEADER_RESET + 1, RELOAD_HEADER_REPLACE = RELOAD_HEADER_APPEND + 1 } RELOADTYPE; typedef enum tagMIMESAVETYPE { SAVE_RFC822 = 0, SAVE_RFC1521 = SAVE_RFC822 + 1 } MIMESAVETYPE; typedef enum tagCSETAPPLYTYPE { CSET_APPLY_UNTAGGED = 0, CSET_APPLY_ALL = CSET_APPLY_UNTAGGED + 1, CSET_APPLY_TAG_ALL = CSET_APPLY_ALL + 1 } CSETAPPLYTYPE; typedef enum tagENCODINGTYPE { IET_BINARY = 0, IET_BASE64 = IET_BINARY + 1, IET_UUENCODE = IET_BASE64 + 1, IET_QP = IET_UUENCODE + 1, IET_7BIT = IET_QP + 1, IET_8BIT = IET_7BIT + 1, IET_INETCSET = IET_8BIT + 1, IET_UNICODE = IET_INETCSET + 1, IET_RFC1522 = IET_UNICODE + 1, IET_ENCODED = IET_RFC1522 + 1, IET_CURRENT = IET_ENCODED + 1, IET_UNKNOWN = IET_CURRENT + 1, IET_BINHEX40 = IET_UNKNOWN + 1, IET_LAST = IET_BINHEX40 + 1 } ENCODINGTYPE; #define IET_DECODED ( IET_BINARY ) #define CCHMAX_HEADER_LINE ( 1000 ) EXTERN_C const IID LIBID_MIMEOLE; #ifndef __IMimeInternational_INTERFACE_DEFINED__ #define __IMimeInternational_INTERFACE_DEFINED__ /* interface IMimeInternational */ /* [object][helpstring][uuid] */ typedef /* [unique] */ IMimeInternational *LPMIMEINTERNATIONAL; typedef DWORD CODEPAGEID; #define CP_USASCII ( 1252 ) #define CP_UNICODE ( 1200 ) #define CP_JAUTODETECT ( 50932 ) #define CP_KAUTODETECT ( 50949 ) #define CP_ISO2022JPESC ( 50221 ) #define CP_ISO2022JPSIO ( 50222 ) #define CCHMAX_CSET_NAME ( 128 ) #define CCHMAX_LANG_NAME ( 128 ) #define CCHMAX_FACE_NAME ( 128 ) typedef struct tagINETCSETINFO { CHAR szName[ 128 ]; HCHARSET hCharset; CODEPAGEID cpiWindows; CODEPAGEID cpiInternet; DWORD dwReserved1; } INETCSETINFO; typedef struct tagINETCSETINFO *LPINETCSETINFO; typedef enum tagINETLANGMASK { ILM_FAMILY = 0x1, ILM_NAME = 0x2, ILM_BODYCSET = 0x4, ILM_HEADERCSET = 0x8, ILM_WEBCSET = 0x10, ILM_FIXEDFONT = 0x20, ILM_VARIABLEFONT = 0x40 } INETLANGMASK; typedef struct tagCODEPAGEINFO { DWORD dwMask; CODEPAGEID cpiCodePage; BOOL fIsValidCodePage; ULONG ulMaxCharSize; BOOL fInternetCP; CODEPAGEID cpiFamily; CHAR szName[ 128 ]; CHAR szBodyCset[ 128 ]; CHAR szHeaderCset[ 128 ]; CHAR szWebCset[ 128 ]; CHAR szFixedFont[ 128 ]; CHAR szVariableFont[ 128 ]; ENCODINGTYPE ietNewsDefault; ENCODINGTYPE ietMailDefault; DWORD dwReserved1; } CODEPAGEINFO; typedef struct tagCODEPAGEINFO *LPCODEPAGEINFO; typedef struct tagRFC1522INFO { BOOL fRfc1522Allowed; BOOL fRfc1522Used; BOOL fAllow8bit; HCHARSET hRfc1522Cset; } RFC1522INFO; typedef struct tagRFC1522INFO *LPRFC1522INFO; typedef enum tagCHARSETTYPE { CHARSET_BODY = 0, CHARSET_HEADER = CHARSET_BODY + 1, CHARSET_WEB = CHARSET_HEADER + 1 } CHARSETTYPE; EXTERN_C const IID IID_IMimeInternational; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("C5588349-7F86-11d0-8252-00C04FD85AB4") IMimeInternational : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE SetDefaultCharset( /* [in] */ HCHARSET hCharset) = 0; virtual HRESULT STDMETHODCALLTYPE GetDefaultCharset( /* [out] */ LPHCHARSET phCharset) = 0; virtual HRESULT STDMETHODCALLTYPE GetCodePageCharset( /* [in] */ CODEPAGEID cpiCodePage, /* [in] */ CHARSETTYPE ctCsetType, /* [out] */ LPHCHARSET phCharset) = 0; virtual HRESULT STDMETHODCALLTYPE FindCharset( /* [in] */ LPCSTR pszCharset, /* [out] */ LPHCHARSET phCharset) = 0; virtual HRESULT STDMETHODCALLTYPE GetCharsetInfo( /* [in] */ HCHARSET hCharset, /* [out][in] */ LPINETCSETINFO pCsetInfo) = 0; virtual HRESULT STDMETHODCALLTYPE GetCodePageInfo( /* [in] */ CODEPAGEID cpiCodePage, /* [out][in] */ LPCODEPAGEINFO pCodePageInfo) = 0; virtual HRESULT STDMETHODCALLTYPE CanConvertCodePages( /* [in] */ CODEPAGEID cpiSource, /* [in] */ CODEPAGEID cpiDest) = 0; virtual HRESULT STDMETHODCALLTYPE DecodeHeader( /* [in] */ HCHARSET hCharset, /* [in] */ LPCSTR pszData, /* [out][in] */ LPPROPVARIANT pDecoded, /* [out][in] */ LPRFC1522INFO pRfc1522Info) = 0; virtual HRESULT STDMETHODCALLTYPE EncodeHeader( /* [in] */ HCHARSET hCharset, /* [in] */ LPPROPVARIANT pData, /* [out] */ LPSTR *ppszEncoded, /* [out][in] */ LPRFC1522INFO pRfc1522Info) = 0; virtual HRESULT STDMETHODCALLTYPE ConvertBuffer( /* [in] */ CODEPAGEID cpiSource, /* [in] */ CODEPAGEID cpiDest, /* [in] */ LPBLOB pIn, /* [out][in] */ LPBLOB pOut, /* [out] */ ULONG *pcbRead) = 0; virtual HRESULT STDMETHODCALLTYPE ConvertString( /* [in] */ CODEPAGEID cpiSource, /* [in] */ CODEPAGEID cpiDest, /* [in] */ LPPROPVARIANT pIn, /* [out][in] */ LPPROPVARIANT pOut) = 0; virtual HRESULT STDMETHODCALLTYPE MLANG_ConvertInetReset( void) = 0; virtual HRESULT STDMETHODCALLTYPE MLANG_ConvertInetString( /* [in] */ CODEPAGEID cpiSource, /* [in] */ CODEPAGEID cpiDest, /* [in] */ LPCSTR pSource, /* [in] */ int *pnSizeOfSource, /* [out] */ LPSTR pDestination, /* [in] */ int *pnDstSize) = 0; virtual HRESULT STDMETHODCALLTYPE Rfc1522Decode( /* [in] */ LPCSTR pszValue, /* [ref][in] */ LPSTR pszCharset, /* [in] */ ULONG cchmax, /* [out] */ LPSTR *ppszDecoded) = 0; virtual HRESULT STDMETHODCALLTYPE Rfc1522Encode( /* [in] */ LPCSTR pszValue, /* [in] */ HCHARSET hCharset, /* [out] */ LPSTR *ppszEncoded) = 0; }; #else /* C style interface */ typedef struct IMimeInternationalVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMimeInternational * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMimeInternational * This); ULONG ( STDMETHODCALLTYPE *Release )( IMimeInternational * This); HRESULT ( STDMETHODCALLTYPE *SetDefaultCharset )( IMimeInternational * This, /* [in] */ HCHARSET hCharset); HRESULT ( STDMETHODCALLTYPE *GetDefaultCharset )( IMimeInternational * This, /* [out] */ LPHCHARSET phCharset); HRESULT ( STDMETHODCALLTYPE *GetCodePageCharset )( IMimeInternational * This, /* [in] */ CODEPAGEID cpiCodePage, /* [in] */ CHARSETTYPE ctCsetType, /* [out] */ LPHCHARSET phCharset); HRESULT ( STDMETHODCALLTYPE *FindCharset )( IMimeInternational * This, /* [in] */ LPCSTR pszCharset, /* [out] */ LPHCHARSET phCharset); HRESULT ( STDMETHODCALLTYPE *GetCharsetInfo )( IMimeInternational * This, /* [in] */ HCHARSET hCharset, /* [out][in] */ LPINETCSETINFO pCsetInfo); HRESULT ( STDMETHODCALLTYPE *GetCodePageInfo )( IMimeInternational * This, /* [in] */ CODEPAGEID cpiCodePage, /* [out][in] */ LPCODEPAGEINFO pCodePageInfo); HRESULT ( STDMETHODCALLTYPE *CanConvertCodePages )( IMimeInternational * This, /* [in] */ CODEPAGEID cpiSource, /* [in] */ CODEPAGEID cpiDest); HRESULT ( STDMETHODCALLTYPE *DecodeHeader )( IMimeInternational * This, /* [in] */ HCHARSET hCharset, /* [in] */ LPCSTR pszData, /* [out][in] */ LPPROPVARIANT pDecoded, /* [out][in] */ LPRFC1522INFO pRfc1522Info); HRESULT ( STDMETHODCALLTYPE *EncodeHeader )( IMimeInternational * This, /* [in] */ HCHARSET hCharset, /* [in] */ LPPROPVARIANT pData, /* [out] */ LPSTR *ppszEncoded, /* [out][in] */ LPRFC1522INFO pRfc1522Info); HRESULT ( STDMETHODCALLTYPE *ConvertBuffer )( IMimeInternational * This, /* [in] */ CODEPAGEID cpiSource, /* [in] */ CODEPAGEID cpiDest, /* [in] */ LPBLOB pIn, /* [out][in] */ LPBLOB pOut, /* [out] */ ULONG *pcbRead); HRESULT ( STDMETHODCALLTYPE *ConvertString )( IMimeInternational * This, /* [in] */ CODEPAGEID cpiSource, /* [in] */ CODEPAGEID cpiDest, /* [in] */ LPPROPVARIANT pIn, /* [out][in] */ LPPROPVARIANT pOut); HRESULT ( STDMETHODCALLTYPE *MLANG_ConvertInetReset )( IMimeInternational * This); HRESULT ( STDMETHODCALLTYPE *MLANG_ConvertInetString )( IMimeInternational * This, /* [in] */ CODEPAGEID cpiSource, /* [in] */ CODEPAGEID cpiDest, /* [in] */ LPCSTR pSource, /* [in] */ int *pnSizeOfSource, /* [out] */ LPSTR pDestination, /* [in] */ int *pnDstSize); HRESULT ( STDMETHODCALLTYPE *Rfc1522Decode )( IMimeInternational * This, /* [in] */ LPCSTR pszValue, /* [ref][in] */ LPSTR pszCharset, /* [in] */ ULONG cchmax, /* [out] */ LPSTR *ppszDecoded); HRESULT ( STDMETHODCALLTYPE *Rfc1522Encode )( IMimeInternational * This, /* [in] */ LPCSTR pszValue, /* [in] */ HCHARSET hCharset, /* [out] */ LPSTR *ppszEncoded); END_INTERFACE } IMimeInternationalVtbl; interface IMimeInternational { CONST_VTBL struct IMimeInternationalVtbl *lpVtbl; }; #ifdef COBJMACROS #define IMimeInternational_QueryInterface(This,riid,ppvObject) \ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) #define IMimeInternational_AddRef(This) \ (This)->lpVtbl -> AddRef(This) #define IMimeInternational_Release(This) \ (This)->lpVtbl -> Release(This) #define IMimeInternational_SetDefaultCharset(This,hCharset) \ (This)->lpVtbl -> SetDefaultCharset(This,hCharset) #define IMimeInternational_GetDefaultCharset(This,phCharset) \ (This)->lpVtbl -> GetDefaultCharset(This,phCharset) #define IMimeInternational_GetCodePageCharset(This,cpiCodePage,ctCsetType,phCharset) \ (This)->lpVtbl -> GetCodePageCharset(This,cpiCodePage,ctCsetType,phCharset) #define IMimeInternational_FindCharset(This,pszCharset,phCharset) \ (This)->lpVtbl -> FindCharset(This,pszCharset,phCharset) #define IMimeInternational_GetCharsetInfo(This,hCharset,pCsetInfo) \ (This)->lpVtbl -> GetCharsetInfo(This,hCharset,pCsetInfo) #define IMimeInternational_GetCodePageInfo(This,cpiCodePage,pCodePageInfo) \ (This)->lpVtbl -> GetCodePageInfo(This,cpiCodePage,pCodePageInfo) #define IMimeInternational_CanConvertCodePages(This,cpiSource,cpiDest) \ (This)->lpVtbl -> CanConvertCodePages(This,cpiSource,cpiDest) #define IMimeInternational_DecodeHeader(This,hCharset,pszData,pDecoded,pRfc1522Info) \ (This)->lpVtbl -> DecodeHeader(This,hCharset,pszData,pDecoded,pRfc1522Info) #define IMimeInternational_EncodeHeader(This,hCharset,pData,ppszEncoded,pRfc1522Info) \ (This)->lpVtbl -> EncodeHeader(This,hCharset,pData,ppszEncoded,pRfc1522Info) #define IMimeInternational_ConvertBuffer(This,cpiSource,cpiDest,pIn,pOut,pcbRead) \ (This)->lpVtbl -> ConvertBuffer(This,cpiSource,cpiDest,pIn,pOut,pcbRead) #define IMimeInternational_ConvertString(This,cpiSource,cpiDest,pIn,pOut) \ (This)->lpVtbl -> ConvertString(This,cpiSource,cpiDest,pIn,pOut) #define IMimeInternational_MLANG_ConvertInetReset(This) \ (This)->lpVtbl -> MLANG_ConvertInetReset(This) #define IMimeInternational_MLANG_ConvertInetString(This,cpiSource,cpiDest,pSource,pnSizeOfSource,pDestination,pnDstSize) \ (This)->lpVtbl -> MLANG_ConvertInetString(This,cpiSource,cpiDest,pSource,pnSizeOfSource,pDestination,pnDstSize) #define IMimeInternational_Rfc1522Decode(This,pszValue,pszCharset,cchmax,ppszDecoded) \ (This)->lpVtbl -> Rfc1522Decode(This,pszValue,pszCharset,cchmax,ppszDecoded) #define IMimeInternational_Rfc1522Encode(This,pszValue,hCharset,ppszEncoded) \ (This)->lpVtbl -> Rfc1522Encode(This,pszValue,hCharset,ppszEncoded) #endif /* COBJMACROS */ #endif /* C style interface */ HRESULT STDMETHODCALLTYPE IMimeInternational_SetDefaultCharset_Proxy( IMimeInternational * This, /* [in] */ HCHARSET hCharset); void __RPC_STUB IMimeInternational_SetDefaultCharset_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeInternational_GetDefaultCharset_Proxy( IMimeInternational * This, /* [out] */ LPHCHARSET phCharset); void __RPC_STUB IMimeInternational_GetDefaultCharset_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeInternational_GetCodePageCharset_Proxy( IMimeInternational * This, /* [in] */ CODEPAGEID cpiCodePage, /* [in] */ CHARSETTYPE ctCsetType, /* [out] */ LPHCHARSET phCharset); void __RPC_STUB IMimeInternational_GetCodePageCharset_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeInternational_FindCharset_Proxy( IMimeInternational * This, /* [in] */ LPCSTR pszCharset, /* [out] */ LPHCHARSET phCharset); void __RPC_STUB IMimeInternational_FindCharset_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeInternational_GetCharsetInfo_Proxy( IMimeInternational * This, /* [in] */ HCHARSET hCharset, /* [out][in] */ LPINETCSETINFO pCsetInfo); void __RPC_STUB IMimeInternational_GetCharsetInfo_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeInternational_GetCodePageInfo_Proxy( IMimeInternational * This, /* [in] */ CODEPAGEID cpiCodePage, /* [out][in] */ LPCODEPAGEINFO pCodePageInfo); void __RPC_STUB IMimeInternational_GetCodePageInfo_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeInternational_CanConvertCodePages_Proxy( IMimeInternational * This, /* [in] */ CODEPAGEID cpiSource, /* [in] */ CODEPAGEID cpiDest); void __RPC_STUB IMimeInternational_CanConvertCodePages_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeInternational_DecodeHeader_Proxy( IMimeInternational * This, /* [in] */ HCHARSET hCharset, /* [in] */ LPCSTR pszData, /* [out][in] */ LPPROPVARIANT pDecoded, /* [out][in] */ LPRFC1522INFO pRfc1522Info); void __RPC_STUB IMimeInternational_DecodeHeader_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeInternational_EncodeHeader_Proxy( IMimeInternational * This, /* [in] */ HCHARSET hCharset, /* [in] */ LPPROPVARIANT pData, /* [out] */ LPSTR *ppszEncoded, /* [out][in] */ LPRFC1522INFO pRfc1522Info); void __RPC_STUB IMimeInternational_EncodeHeader_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeInternational_ConvertBuffer_Proxy( IMimeInternational * This, /* [in] */ CODEPAGEID cpiSource, /* [in] */ CODEPAGEID cpiDest, /* [in] */ LPBLOB pIn, /* [out][in] */ LPBLOB pOut, /* [out] */ ULONG *pcbRead); void __RPC_STUB IMimeInternational_ConvertBuffer_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeInternational_ConvertString_Proxy( IMimeInternational * This, /* [in] */ CODEPAGEID cpiSource, /* [in] */ CODEPAGEID cpiDest, /* [in] */ LPPROPVARIANT pIn, /* [out][in] */ LPPROPVARIANT pOut); void __RPC_STUB IMimeInternational_ConvertString_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeInternational_MLANG_ConvertInetReset_Proxy( IMimeInternational * This); void __RPC_STUB IMimeInternational_MLANG_ConvertInetReset_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeInternational_MLANG_ConvertInetString_Proxy( IMimeInternational * This, /* [in] */ CODEPAGEID cpiSource, /* [in] */ CODEPAGEID cpiDest, /* [in] */ LPCSTR pSource, /* [in] */ int *pnSizeOfSource, /* [out] */ LPSTR pDestination, /* [in] */ int *pnDstSize); void __RPC_STUB IMimeInternational_MLANG_ConvertInetString_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeInternational_Rfc1522Decode_Proxy( IMimeInternational * This, /* [in] */ LPCSTR pszValue, /* [ref][in] */ LPSTR pszCharset, /* [in] */ ULONG cchmax, /* [out] */ LPSTR *ppszDecoded); void __RPC_STUB IMimeInternational_Rfc1522Decode_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeInternational_Rfc1522Encode_Proxy( IMimeInternational * This, /* [in] */ LPCSTR pszValue, /* [in] */ HCHARSET hCharset, /* [out] */ LPSTR *ppszEncoded); void __RPC_STUB IMimeInternational_Rfc1522Encode_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #endif /* __IMimeInternational_INTERFACE_DEFINED__ */ #ifndef __IMimeSecurity_INTERFACE_DEFINED__ #define __IMimeSecurity_INTERFACE_DEFINED__ /* interface IMimeSecurity */ /* [object][helpstring][uuid] */ typedef /* [unique] */ IMimeSecurity *LPMIMESECURITY; typedef /* [unique] */ const IMimeSecurity *LPCMIMESECURITY; typedef BLOB THUMBBLOB; typedef void *HCAPICERTSTORE; #ifndef __WINCRYPT_H__ typedef const void *PCX509CERT; typedef void *HCERTSTORE; #else typedef PCCERT_CONTEXT PCX509CERT; #endif #ifndef IMS_ALGIDDEF #define IMS_ALGIDDEF typedef unsigned int ALG_ID; #endif // ------------------------------------------------------------------- // ITT_* - thumbprint types // ------------------------------------------------------------------- typedef DWORD ITHUMBPRINTTYPE; #define ITT_SIGNING 0x00000001 #define ITT_ENCRYPTION 0x00000002 // ------------------------------------------------------------------- // SEF_* - Secure Encoding Flags // must not overlap the EBF flags // ------------------------------------------------------------------- #define SEF_ENCRYPTWITHNOSENDERCERT 0x00000001 #define SEF_SENDERSCERTPROVIDED 0x00000002 #define SEF_MASK 0x0000ffff // ------------------------------------------------------------------- // EBF_* - Enchanted Broccoli Forest, also Encode Body Flags // must not overlap the SEF flags // ------------------------------------------------------------------- #define EBF_RECURSE 0x00010000 #define EBF_COMMITIFDIRTY 0x00020000 #define EBF_MASK 0xffff0000 // ------------------------------------------------------------------- // MSV_* - MIME Security Validity // ------------------------------------------------------------------- #define MSV_OK 0x00000000 #define MSV_BADSIGNATURE 0X00000001 #define MSV_UNVERIFIABLE 0X00000002 #define MSV_UNKHASH 0X00000004 #define MSV_MALFORMEDSIG 0X00000080 #define MSV_SIGNATURE_MASK 0X000000ff #define MSV_EXPIRED_SIGNINGCERT 0X00000100 #define MSV_SIGNING_MASK 0X00000f00 #define MSV_CANTDECRYPT 0X00001000 #define MSV_ENC_FOR_EXPIREDCERT 0X00002000 #define MSV_ENCRYPT_MASK 0x000ff000 #define MSV_INVALID 0X01000000 #define MSV_MSG_MASK 0x0f000000 // ------------------------------------------------------------------- // MST_* - MIME Security Type // ------------------------------------------------------------------- #define MST_NONE 0x00000000 #define MST_THIS_SIGN 0x00000001 #define MST_THIS_ENCRYPT 0x00000002 #define MST_THIS_BLOBSIGN 0x00000005 // MST_BLOB_FLAG|MST_THIS_SIGN #define MST_CHILD_SIGN 0x00000100 #define MST_CHILD_ENCRYPT 0x00000200 #define MST_SUBMSG_SIGN 0x00001000 #define MST_SUBMSG_ENCRYPT 0x00002000 #define MST_THIS_MASK 0x000000ff #define MST_CHILD_MASK 0x00000f00 #define MST_SUBMSG_MASK 0x0000f000 #define MST_DESCENDENT_MASK 0x0000ff00 //(MST_CHILD|MST_SUBMSG) #define MST_SIGN_MASK 0x00001101 #define MST_ENCRYPT_MASK 0x00002202 #define MST_BLOB_FLAG 0x00000004 #define MST_TYPE_MASK 0x0000ffff #define MST_RECEIPT_REQUEST 0x00010000 #define MST_CLASS_SMIME_V1 0x00000000 #define MST_CLASS_PGP 0x01000000 #define MST_CLASS_MASK 0xff000000 typedef enum tagCERTSTATE { CERTIFICATE_OK = 0, CERTIFICATE_NOT_PRESENT = CERTIFICATE_OK + 1, CERTIFICATE_EXPIRED = CERTIFICATE_NOT_PRESENT + 1, CERTIFICATE_CHAIN_TOO_LONG = CERTIFICATE_EXPIRED + 1, CERTIFICATE_MISSING_ISSUER = CERTIFICATE_CHAIN_TOO_LONG + 1, CERTIFICATE_CRL_LISTED = CERTIFICATE_MISSING_ISSUER + 1, CERTIFICATE_NOT_TRUSTED = CERTIFICATE_CRL_LISTED + 1, CERTIFICATE_INVALID = CERTIFICATE_NOT_TRUSTED + 1, CERTIFICATE_ERROR = CERTIFICATE_INVALID + 1, CERTIFICATE_NOPRINT = CERTIFICATE_ERROR + 1, CERTIFICATE_UNKNOWN = CERTIFICATE_NOPRINT + 1 } CERTSTATE; typedef enum tagCERTNAMETYPE { SIMPLE = 0, OID = SIMPLE + 1, X500 = OID + 1 } CERTNAMETYPE; typedef enum tagCERTDATAID { CDID_EMAIL = 0, CDID_MAX = CDID_EMAIL + 1 } CERTDATAID; typedef struct tagX509CERTRESULT { DWORD cEntries; CERTSTATE *rgcs; PCX509CERT *rgpCert; } X509CERTRESULT; typedef struct tagX509CERTRESULT *PX509CERTRESULT; typedef const X509CERTRESULT *PCX509CERTRESULT; EXTERN_C const IID IID_IMimeSecurity; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("C5588353-7F86-11d0-8252-00C04FD85AB4") IMimeSecurity : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE InitNew( void) = 0; virtual HRESULT STDMETHODCALLTYPE CheckInit( void) = 0; virtual HRESULT STDMETHODCALLTYPE EncodeMessage( /* [in] */ IMimeMessageTree *const pTree, /* [in] */ DWORD dwFlags) = 0; virtual HRESULT STDMETHODCALLTYPE EncodeBody( /* [in] */ IMimeMessageTree *const pTree, /* [in] */ HBODY hEncodeRoot, /* [in] */ DWORD dwFlags) = 0; virtual HRESULT STDMETHODCALLTYPE DecodeMessage( /* [in] */ IMimeMessageTree *const pTree, /* [in] */ DWORD dwFlags) = 0; virtual HRESULT STDMETHODCALLTYPE DecodeBody( /* [in] */ IMimeMessageTree *const pTree, /* [in] */ HBODY hDecodeRoot, /* [in] */ DWORD dwFlags) = 0; virtual HRESULT STDMETHODCALLTYPE EnumCertificates( /* [in] */ HCAPICERTSTORE hc, /* [in] */ DWORD dwUsage, /* [in] */ PCX509CERT pPrev, /* [out] */ PCX509CERT *ppCert) = 0; virtual HRESULT STDMETHODCALLTYPE GetCertificateName( /* [in] */ const PCX509CERT pX509Cert, /* [in] */ const CERTNAMETYPE cn, /* [out] */ LPSTR *ppszName) = 0; virtual HRESULT STDMETHODCALLTYPE GetMessageType( /* [in] */ const HWND hwndParent, /* [in] */ IMimeBody *const pBody, /* [out] */ DWORD *const pdwSecType) = 0; virtual HRESULT STDMETHODCALLTYPE GetCertData( /* [in] */ const PCX509CERT pX509Cert, /* [in] */ const CERTDATAID dataid, /* [ref][out] */ LPPROPVARIANT pValue) = 0; }; #else /* C style interface */ typedef struct IMimeSecurityVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMimeSecurity * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMimeSecurity * This); ULONG ( STDMETHODCALLTYPE *Release )( IMimeSecurity * This); HRESULT ( STDMETHODCALLTYPE *InitNew )( IMimeSecurity * This); HRESULT ( STDMETHODCALLTYPE *CheckInit )( IMimeSecurity * This); HRESULT ( STDMETHODCALLTYPE *EncodeMessage )( IMimeSecurity * This, /* [in] */ IMimeMessageTree *const pTree, /* [in] */ DWORD dwFlags); HRESULT ( STDMETHODCALLTYPE *EncodeBody )( IMimeSecurity * This, /* [in] */ IMimeMessageTree *const pTree, /* [in] */ HBODY hEncodeRoot, /* [in] */ DWORD dwFlags); HRESULT ( STDMETHODCALLTYPE *DecodeMessage )( IMimeSecurity * This, /* [in] */ IMimeMessageTree *const pTree, /* [in] */ DWORD dwFlags); HRESULT ( STDMETHODCALLTYPE *DecodeBody )( IMimeSecurity * This, /* [in] */ IMimeMessageTree *const pTree, /* [in] */ HBODY hDecodeRoot, /* [in] */ DWORD dwFlags); HRESULT ( STDMETHODCALLTYPE *EnumCertificates )( IMimeSecurity * This, /* [in] */ HCAPICERTSTORE hc, /* [in] */ DWORD dwUsage, /* [in] */ PCX509CERT pPrev, /* [out] */ PCX509CERT *ppCert); HRESULT ( STDMETHODCALLTYPE *GetCertificateName )( IMimeSecurity * This, /* [in] */ const PCX509CERT pX509Cert, /* [in] */ const CERTNAMETYPE cn, /* [out] */ LPSTR *ppszName); HRESULT ( STDMETHODCALLTYPE *GetMessageType )( IMimeSecurity * This, /* [in] */ const HWND hwndParent, /* [in] */ IMimeBody *const pBody, /* [out] */ DWORD *const pdwSecType); HRESULT ( STDMETHODCALLTYPE *GetCertData )( IMimeSecurity * This, /* [in] */ const PCX509CERT pX509Cert, /* [in] */ const CERTDATAID dataid, /* [ref][out] */ LPPROPVARIANT pValue); END_INTERFACE } IMimeSecurityVtbl; interface IMimeSecurity { CONST_VTBL struct IMimeSecurityVtbl *lpVtbl; }; #ifdef COBJMACROS #define IMimeSecurity_QueryInterface(This,riid,ppvObject) \ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) #define IMimeSecurity_AddRef(This) \ (This)->lpVtbl -> AddRef(This) #define IMimeSecurity_Release(This) \ (This)->lpVtbl -> Release(This) #define IMimeSecurity_InitNew(This) \ (This)->lpVtbl -> InitNew(This) #define IMimeSecurity_CheckInit(This) \ (This)->lpVtbl -> CheckInit(This) #define IMimeSecurity_EncodeMessage(This,pTree,dwFlags) \ (This)->lpVtbl -> EncodeMessage(This,pTree,dwFlags) #define IMimeSecurity_EncodeBody(This,pTree,hEncodeRoot,dwFlags) \ (This)->lpVtbl -> EncodeBody(This,pTree,hEncodeRoot,dwFlags) #define IMimeSecurity_DecodeMessage(This,pTree,dwFlags) \ (This)->lpVtbl -> DecodeMessage(This,pTree,dwFlags) #define IMimeSecurity_DecodeBody(This,pTree,hDecodeRoot,dwFlags) \ (This)->lpVtbl -> DecodeBody(This,pTree,hDecodeRoot,dwFlags) #define IMimeSecurity_EnumCertificates(This,hc,dwUsage,pPrev,ppCert) \ (This)->lpVtbl -> EnumCertificates(This,hc,dwUsage,pPrev,ppCert) #define IMimeSecurity_GetCertificateName(This,pX509Cert,cn,ppszName) \ (This)->lpVtbl -> GetCertificateName(This,pX509Cert,cn,ppszName) #define IMimeSecurity_GetMessageType(This,hwndParent,pBody,pdwSecType) \ (This)->lpVtbl -> GetMessageType(This,hwndParent,pBody,pdwSecType) #define IMimeSecurity_GetCertData(This,pX509Cert,dataid,pValue) \ (This)->lpVtbl -> GetCertData(This,pX509Cert,dataid,pValue) #endif /* COBJMACROS */ #endif /* C style interface */ HRESULT STDMETHODCALLTYPE IMimeSecurity_InitNew_Proxy( IMimeSecurity * This); void __RPC_STUB IMimeSecurity_InitNew_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeSecurity_CheckInit_Proxy( IMimeSecurity * This); void __RPC_STUB IMimeSecurity_CheckInit_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeSecurity_EncodeMessage_Proxy( IMimeSecurity * This, /* [in] */ IMimeMessageTree *const pTree, /* [in] */ DWORD dwFlags); void __RPC_STUB IMimeSecurity_EncodeMessage_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeSecurity_EncodeBody_Proxy( IMimeSecurity * This, /* [in] */ IMimeMessageTree *const pTree, /* [in] */ HBODY hEncodeRoot, /* [in] */ DWORD dwFlags); void __RPC_STUB IMimeSecurity_EncodeBody_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeSecurity_DecodeMessage_Proxy( IMimeSecurity * This, /* [in] */ IMimeMessageTree *const pTree, /* [in] */ DWORD dwFlags); void __RPC_STUB IMimeSecurity_DecodeMessage_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeSecurity_DecodeBody_Proxy( IMimeSecurity * This, /* [in] */ IMimeMessageTree *const pTree, /* [in] */ HBODY hDecodeRoot, /* [in] */ DWORD dwFlags); void __RPC_STUB IMimeSecurity_DecodeBody_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeSecurity_EnumCertificates_Proxy( IMimeSecurity * This, /* [in] */ HCAPICERTSTORE hc, /* [in] */ DWORD dwUsage, /* [in] */ PCX509CERT pPrev, /* [out] */ PCX509CERT *ppCert); void __RPC_STUB IMimeSecurity_EnumCertificates_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeSecurity_GetCertificateName_Proxy( IMimeSecurity * This, /* [in] */ const PCX509CERT pX509Cert, /* [in] */ const CERTNAMETYPE cn, /* [out] */ LPSTR *ppszName); void __RPC_STUB IMimeSecurity_GetCertificateName_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeSecurity_GetMessageType_Proxy( IMimeSecurity * This, /* [in] */ const HWND hwndParent, /* [in] */ IMimeBody *const pBody, /* [out] */ DWORD *const pdwSecType); void __RPC_STUB IMimeSecurity_GetMessageType_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeSecurity_GetCertData_Proxy( IMimeSecurity * This, /* [in] */ const PCX509CERT pX509Cert, /* [in] */ const CERTDATAID dataid, /* [ref][out] */ LPPROPVARIANT pValue); void __RPC_STUB IMimeSecurity_GetCertData_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #endif /* __IMimeSecurity_INTERFACE_DEFINED__ */ #ifndef __IMimeHeaderTable_INTERFACE_DEFINED__ #define __IMimeHeaderTable_INTERFACE_DEFINED__ /* interface IMimeHeaderTable */ /* [object][helpstring][uuid] */ typedef struct tagFINDHEADER { LPCSTR pszHeader; DWORD dwReserved; } FINDHEADER; typedef struct tagFINDHEADER *LPFINDHEADER; typedef struct tagHEADERROWINFO { DWORD dwRowNumber; ULONG cboffStart; ULONG cboffColon; ULONG cboffEnd; } HEADERROWINFO; typedef struct tagHEADERROWINFO *LPHEADERROWINFO; typedef enum tagHEADERTABLEFLAGS { HTF_NAMEINDATA = 0x1, HTF_ENUMHANDLESONLY = 0x2 } HEADERTABLEFLAGS; EXTERN_C const IID IID_IMimeHeaderTable; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("FD853CD1-7F86-11d0-8252-00C04FD85AB4") IMimeHeaderTable : public IPersistStream { public: virtual HRESULT STDMETHODCALLTYPE FindFirstRow( /* [in] */ LPFINDHEADER pFindHeader, /* [out] */ LPHHEADERROW phRow) = 0; virtual HRESULT STDMETHODCALLTYPE FindNextRow( /* [in] */ LPFINDHEADER pFindHeader, /* [out] */ LPHHEADERROW phRow) = 0; virtual HRESULT STDMETHODCALLTYPE CountRows( /* [in] */ LPCSTR pszHeader, /* [out] */ ULONG *pcRows) = 0; virtual HRESULT STDMETHODCALLTYPE AppendRow( /* [in] */ LPCSTR pszHeader, /* [in] */ DWORD dwFlags, /* [in] */ LPCSTR pszData, /* [in] */ ULONG cchData, /* [out] */ LPHHEADERROW phRow) = 0; virtual HRESULT STDMETHODCALLTYPE DeleteRow( /* [in] */ HHEADERROW hRow) = 0; virtual HRESULT STDMETHODCALLTYPE GetRowData( /* [in] */ HHEADERROW hRow, /* [in] */ DWORD dwFlags, /* [out] */ LPSTR *ppszData, /* [out] */ ULONG *pcchData) = 0; virtual HRESULT STDMETHODCALLTYPE SetRowData( /* [in] */ HHEADERROW hRow, /* [in] */ DWORD dwFlags, /* [in] */ LPCSTR pszData, /* [in] */ ULONG cchData) = 0; virtual HRESULT STDMETHODCALLTYPE GetRowInfo( /* [in] */ HHEADERROW hRow, /* [out][in] */ LPHEADERROWINFO pInfo) = 0; virtual HRESULT STDMETHODCALLTYPE SetRowNumber( /* [in] */ HHEADERROW hRow, /* [in] */ DWORD dwRowNumber) = 0; virtual HRESULT STDMETHODCALLTYPE EnumRows( /* [in] */ LPCSTR pszHeader, /* [in] */ DWORD dwFlags, /* [out] */ IMimeEnumHeaderRows **ppEnum) = 0; virtual HRESULT STDMETHODCALLTYPE Clone( /* [out] */ IMimeHeaderTable **ppTable) = 0; virtual HRESULT STDMETHODCALLTYPE BindToObject( /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject) = 0; }; #else /* C style interface */ typedef struct IMimeHeaderTableVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMimeHeaderTable * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMimeHeaderTable * This); ULONG ( STDMETHODCALLTYPE *Release )( IMimeHeaderTable * This); HRESULT ( STDMETHODCALLTYPE *GetClassID )( IMimeHeaderTable * This, /* [out] */ CLSID *pClassID); HRESULT ( STDMETHODCALLTYPE *IsDirty )( IMimeHeaderTable * This); HRESULT ( STDMETHODCALLTYPE *Load )( IMimeHeaderTable * This, /* [unique][in] */ IStream *pStm); HRESULT ( STDMETHODCALLTYPE *Save )( IMimeHeaderTable * This, /* [unique][in] */ IStream *pStm, /* [in] */ BOOL fClearDirty); HRESULT ( STDMETHODCALLTYPE *GetSizeMax )( IMimeHeaderTable * This, /* [out] */ ULARGE_INTEGER *pcbSize); HRESULT ( STDMETHODCALLTYPE *FindFirstRow )( IMimeHeaderTable * This, /* [in] */ LPFINDHEADER pFindHeader, /* [out] */ LPHHEADERROW phRow); HRESULT ( STDMETHODCALLTYPE *FindNextRow )( IMimeHeaderTable * This, /* [in] */ LPFINDHEADER pFindHeader, /* [out] */ LPHHEADERROW phRow); HRESULT ( STDMETHODCALLTYPE *CountRows )( IMimeHeaderTable * This, /* [in] */ LPCSTR pszHeader, /* [out] */ ULONG *pcRows); HRESULT ( STDMETHODCALLTYPE *AppendRow )( IMimeHeaderTable * This, /* [in] */ LPCSTR pszHeader, /* [in] */ DWORD dwFlags, /* [in] */ LPCSTR pszData, /* [in] */ ULONG cchData, /* [out] */ LPHHEADERROW phRow); HRESULT ( STDMETHODCALLTYPE *DeleteRow )( IMimeHeaderTable * This, /* [in] */ HHEADERROW hRow); HRESULT ( STDMETHODCALLTYPE *GetRowData )( IMimeHeaderTable * This, /* [in] */ HHEADERROW hRow, /* [in] */ DWORD dwFlags, /* [out] */ LPSTR *ppszData, /* [out] */ ULONG *pcchData); HRESULT ( STDMETHODCALLTYPE *SetRowData )( IMimeHeaderTable * This, /* [in] */ HHEADERROW hRow, /* [in] */ DWORD dwFlags, /* [in] */ LPCSTR pszData, /* [in] */ ULONG cchData); HRESULT ( STDMETHODCALLTYPE *GetRowInfo )( IMimeHeaderTable * This, /* [in] */ HHEADERROW hRow, /* [out][in] */ LPHEADERROWINFO pInfo); HRESULT ( STDMETHODCALLTYPE *SetRowNumber )( IMimeHeaderTable * This, /* [in] */ HHEADERROW hRow, /* [in] */ DWORD dwRowNumber); HRESULT ( STDMETHODCALLTYPE *EnumRows )( IMimeHeaderTable * This, /* [in] */ LPCSTR pszHeader, /* [in] */ DWORD dwFlags, /* [out] */ IMimeEnumHeaderRows **ppEnum); HRESULT ( STDMETHODCALLTYPE *Clone )( IMimeHeaderTable * This, /* [out] */ IMimeHeaderTable **ppTable); HRESULT ( STDMETHODCALLTYPE *BindToObject )( IMimeHeaderTable * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject); END_INTERFACE } IMimeHeaderTableVtbl; interface IMimeHeaderTable { CONST_VTBL struct IMimeHeaderTableVtbl *lpVtbl; }; #ifdef COBJMACROS #define IMimeHeaderTable_QueryInterface(This,riid,ppvObject) \ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) #define IMimeHeaderTable_AddRef(This) \ (This)->lpVtbl -> AddRef(This) #define IMimeHeaderTable_Release(This) \ (This)->lpVtbl -> Release(This) #define IMimeHeaderTable_GetClassID(This,pClassID) \ (This)->lpVtbl -> GetClassID(This,pClassID) #define IMimeHeaderTable_IsDirty(This) \ (This)->lpVtbl -> IsDirty(This) #define IMimeHeaderTable_Load(This,pStm) \ (This)->lpVtbl -> Load(This,pStm) #define IMimeHeaderTable_Save(This,pStm,fClearDirty) \ (This)->lpVtbl -> Save(This,pStm,fClearDirty) #define IMimeHeaderTable_GetSizeMax(This,pcbSize) \ (This)->lpVtbl -> GetSizeMax(This,pcbSize) #define IMimeHeaderTable_FindFirstRow(This,pFindHeader,phRow) \ (This)->lpVtbl -> FindFirstRow(This,pFindHeader,phRow) #define IMimeHeaderTable_FindNextRow(This,pFindHeader,phRow) \ (This)->lpVtbl -> FindNextRow(This,pFindHeader,phRow) #define IMimeHeaderTable_CountRows(This,pszHeader,pcRows) \ (This)->lpVtbl -> CountRows(This,pszHeader,pcRows) #define IMimeHeaderTable_AppendRow(This,pszHeader,dwFlags,pszData,cchData,phRow) \ (This)->lpVtbl -> AppendRow(This,pszHeader,dwFlags,pszData,cchData,phRow) #define IMimeHeaderTable_DeleteRow(This,hRow) \ (This)->lpVtbl -> DeleteRow(This,hRow) #define IMimeHeaderTable_GetRowData(This,hRow,dwFlags,ppszData,pcchData) \ (This)->lpVtbl -> GetRowData(This,hRow,dwFlags,ppszData,pcchData) #define IMimeHeaderTable_SetRowData(This,hRow,dwFlags,pszData,cchData) \ (This)->lpVtbl -> SetRowData(This,hRow,dwFlags,pszData,cchData) #define IMimeHeaderTable_GetRowInfo(This,hRow,pInfo) \ (This)->lpVtbl -> GetRowInfo(This,hRow,pInfo) #define IMimeHeaderTable_SetRowNumber(This,hRow,dwRowNumber) \ (This)->lpVtbl -> SetRowNumber(This,hRow,dwRowNumber) #define IMimeHeaderTable_EnumRows(This,pszHeader,dwFlags,ppEnum) \ (This)->lpVtbl -> EnumRows(This,pszHeader,dwFlags,ppEnum) #define IMimeHeaderTable_Clone(This,ppTable) \ (This)->lpVtbl -> Clone(This,ppTable) #define IMimeHeaderTable_BindToObject(This,riid,ppvObject) \ (This)->lpVtbl -> BindToObject(This,riid,ppvObject) #endif /* COBJMACROS */ #endif /* C style interface */ HRESULT STDMETHODCALLTYPE IMimeHeaderTable_FindFirstRow_Proxy( IMimeHeaderTable * This, /* [in] */ LPFINDHEADER pFindHeader, /* [out] */ LPHHEADERROW phRow); void __RPC_STUB IMimeHeaderTable_FindFirstRow_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeHeaderTable_FindNextRow_Proxy( IMimeHeaderTable * This, /* [in] */ LPFINDHEADER pFindHeader, /* [out] */ LPHHEADERROW phRow); void __RPC_STUB IMimeHeaderTable_FindNextRow_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeHeaderTable_CountRows_Proxy( IMimeHeaderTable * This, /* [in] */ LPCSTR pszHeader, /* [out] */ ULONG *pcRows); void __RPC_STUB IMimeHeaderTable_CountRows_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeHeaderTable_AppendRow_Proxy( IMimeHeaderTable * This, /* [in] */ LPCSTR pszHeader, /* [in] */ DWORD dwFlags, /* [in] */ LPCSTR pszData, /* [in] */ ULONG cchData, /* [out] */ LPHHEADERROW phRow); void __RPC_STUB IMimeHeaderTable_AppendRow_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeHeaderTable_DeleteRow_Proxy( IMimeHeaderTable * This, /* [in] */ HHEADERROW hRow); void __RPC_STUB IMimeHeaderTable_DeleteRow_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeHeaderTable_GetRowData_Proxy( IMimeHeaderTable * This, /* [in] */ HHEADERROW hRow, /* [in] */ DWORD dwFlags, /* [out] */ LPSTR *ppszData, /* [out] */ ULONG *pcchData); void __RPC_STUB IMimeHeaderTable_GetRowData_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeHeaderTable_SetRowData_Proxy( IMimeHeaderTable * This, /* [in] */ HHEADERROW hRow, /* [in] */ DWORD dwFlags, /* [in] */ LPCSTR pszData, /* [in] */ ULONG cchData); void __RPC_STUB IMimeHeaderTable_SetRowData_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeHeaderTable_GetRowInfo_Proxy( IMimeHeaderTable * This, /* [in] */ HHEADERROW hRow, /* [out][in] */ LPHEADERROWINFO pInfo); void __RPC_STUB IMimeHeaderTable_GetRowInfo_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeHeaderTable_SetRowNumber_Proxy( IMimeHeaderTable * This, /* [in] */ HHEADERROW hRow, /* [in] */ DWORD dwRowNumber); void __RPC_STUB IMimeHeaderTable_SetRowNumber_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeHeaderTable_EnumRows_Proxy( IMimeHeaderTable * This, /* [in] */ LPCSTR pszHeader, /* [in] */ DWORD dwFlags, /* [out] */ IMimeEnumHeaderRows **ppEnum); void __RPC_STUB IMimeHeaderTable_EnumRows_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeHeaderTable_Clone_Proxy( IMimeHeaderTable * This, /* [out] */ IMimeHeaderTable **ppTable); void __RPC_STUB IMimeHeaderTable_Clone_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeHeaderTable_BindToObject_Proxy( IMimeHeaderTable * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject); void __RPC_STUB IMimeHeaderTable_BindToObject_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #endif /* __IMimeHeaderTable_INTERFACE_DEFINED__ */ #ifndef __IMimePropertySchema_INTERFACE_DEFINED__ #define __IMimePropertySchema_INTERFACE_DEFINED__ /* interface IMimePropertySchema */ /* [object][helpstring][uuid] */ typedef /* [unique] */ IMimePropertySchema *LPMIMEPROPERTYSCHEMA; typedef enum tagMIMEPROPFLAGS { MPF_INETCSET = 0x1, MPF_RFC1522 = 0x2, MPF_ADDRESS = 0x4, MPF_HASPARAMS = 0x8, MPF_MIME = 0x10, MPF_READONLY = 0x20 } MIMEPROPFLAGS; EXTERN_C const IID IID_IMimePropertySchema; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("FD853CEC-7F86-11d0-8252-00C04FD85AB4") IMimePropertySchema : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE RegisterProperty( /* [in] */ LPCSTR pszName, /* [in] */ DWORD dwFlags, /* [in] */ DWORD dwRowNumber, /* [in] */ VARTYPE vtDefault, /* [out] */ LPDWORD pdwPropId) = 0; virtual HRESULT STDMETHODCALLTYPE ModifyProperty( /* [in] */ LPCSTR pszName, /* [in] */ DWORD dwFlags, /* [in] */ DWORD dwRowNumber, /* [in] */ VARTYPE vtDefault) = 0; virtual HRESULT STDMETHODCALLTYPE GetPropertyId( /* [in] */ LPCSTR pszName, /* [out] */ LPDWORD pdwPropId) = 0; virtual HRESULT STDMETHODCALLTYPE GetPropertyName( /* [in] */ DWORD dwPropId, /* [out] */ LPSTR *ppszName) = 0; virtual HRESULT STDMETHODCALLTYPE RegisterAddressType( /* [in] */ LPCSTR pszName, /* [out] */ LPDWORD pdwAdrType) = 0; }; #else /* C style interface */ typedef struct IMimePropertySchemaVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMimePropertySchema * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMimePropertySchema * This); ULONG ( STDMETHODCALLTYPE *Release )( IMimePropertySchema * This); HRESULT ( STDMETHODCALLTYPE *RegisterProperty )( IMimePropertySchema * This, /* [in] */ LPCSTR pszName, /* [in] */ DWORD dwFlags, /* [in] */ DWORD dwRowNumber, /* [in] */ VARTYPE vtDefault, /* [out] */ LPDWORD pdwPropId); HRESULT ( STDMETHODCALLTYPE *ModifyProperty )( IMimePropertySchema * This, /* [in] */ LPCSTR pszName, /* [in] */ DWORD dwFlags, /* [in] */ DWORD dwRowNumber, /* [in] */ VARTYPE vtDefault); HRESULT ( STDMETHODCALLTYPE *GetPropertyId )( IMimePropertySchema * This, /* [in] */ LPCSTR pszName, /* [out] */ LPDWORD pdwPropId); HRESULT ( STDMETHODCALLTYPE *GetPropertyName )( IMimePropertySchema * This, /* [in] */ DWORD dwPropId, /* [out] */ LPSTR *ppszName); HRESULT ( STDMETHODCALLTYPE *RegisterAddressType )( IMimePropertySchema * This, /* [in] */ LPCSTR pszName, /* [out] */ LPDWORD pdwAdrType); END_INTERFACE } IMimePropertySchemaVtbl; interface IMimePropertySchema { CONST_VTBL struct IMimePropertySchemaVtbl *lpVtbl; }; #ifdef COBJMACROS #define IMimePropertySchema_QueryInterface(This,riid,ppvObject) \ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) #define IMimePropertySchema_AddRef(This) \ (This)->lpVtbl -> AddRef(This) #define IMimePropertySchema_Release(This) \ (This)->lpVtbl -> Release(This) #define IMimePropertySchema_RegisterProperty(This,pszName,dwFlags,dwRowNumber,vtDefault,pdwPropId) \ (This)->lpVtbl -> RegisterProperty(This,pszName,dwFlags,dwRowNumber,vtDefault,pdwPropId) #define IMimePropertySchema_ModifyProperty(This,pszName,dwFlags,dwRowNumber,vtDefault) \ (This)->lpVtbl -> ModifyProperty(This,pszName,dwFlags,dwRowNumber,vtDefault) #define IMimePropertySchema_GetPropertyId(This,pszName,pdwPropId) \ (This)->lpVtbl -> GetPropertyId(This,pszName,pdwPropId) #define IMimePropertySchema_GetPropertyName(This,dwPropId,ppszName) \ (This)->lpVtbl -> GetPropertyName(This,dwPropId,ppszName) #define IMimePropertySchema_RegisterAddressType(This,pszName,pdwAdrType) \ (This)->lpVtbl -> RegisterAddressType(This,pszName,pdwAdrType) #endif /* COBJMACROS */ #endif /* C style interface */ HRESULT STDMETHODCALLTYPE IMimePropertySchema_RegisterProperty_Proxy( IMimePropertySchema * This, /* [in] */ LPCSTR pszName, /* [in] */ DWORD dwFlags, /* [in] */ DWORD dwRowNumber, /* [in] */ VARTYPE vtDefault, /* [out] */ LPDWORD pdwPropId); void __RPC_STUB IMimePropertySchema_RegisterProperty_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimePropertySchema_ModifyProperty_Proxy( IMimePropertySchema * This, /* [in] */ LPCSTR pszName, /* [in] */ DWORD dwFlags, /* [in] */ DWORD dwRowNumber, /* [in] */ VARTYPE vtDefault); void __RPC_STUB IMimePropertySchema_ModifyProperty_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimePropertySchema_GetPropertyId_Proxy( IMimePropertySchema * This, /* [in] */ LPCSTR pszName, /* [out] */ LPDWORD pdwPropId); void __RPC_STUB IMimePropertySchema_GetPropertyId_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimePropertySchema_GetPropertyName_Proxy( IMimePropertySchema * This, /* [in] */ DWORD dwPropId, /* [out] */ LPSTR *ppszName); void __RPC_STUB IMimePropertySchema_GetPropertyName_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimePropertySchema_RegisterAddressType_Proxy( IMimePropertySchema * This, /* [in] */ LPCSTR pszName, /* [out] */ LPDWORD pdwAdrType); void __RPC_STUB IMimePropertySchema_RegisterAddressType_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #endif /* __IMimePropertySchema_INTERFACE_DEFINED__ */ #ifndef __IMimePropertySet_INTERFACE_DEFINED__ #define __IMimePropertySet_INTERFACE_DEFINED__ /* interface IMimePropertySet */ /* [object][helpstring][uuid] */ typedef /* [unique] */ IMimePropertySet *LPMIMEPROPERTYSET; #define PDF_ENCODED 0x00000001 #define PDF_NAMEINDATA 0x00000002 #define PDF_HEADERFORMAT (0x00000004 | PDF_ENCODED) #define PDF_NOCOMMENTS 0x00000008 #define PDF_SAVENOENCODE 0x00000010 #define PDF_VECTOR 0x00000020 typedef struct tagMIMEPARAMINFO { LPSTR pszName; LPSTR pszData; } MIMEPARAMINFO; typedef struct tagMIMEPARAMINFO *LPMIMEPARAMINFO; typedef enum tagPROPINFOMASK { PIM_CHARSET = 0x1, PIM_ENCODINGTYPE = 0x2, PIM_ROWNUMBER = 0x4, PIM_FLAGS = 0x8, PIM_PROPID = 0x10, PIM_VALUES = 0x20, PIM_VTDEFAULT = 0x40, PIM_VTCURRENT = 0x80 } PROPINFOMASK; typedef struct tagMIMEPROPINFO { DWORD dwMask; HCHARSET hCharset; ENCODINGTYPE ietEncoding; DWORD dwRowNumber; DWORD dwFlags; DWORD dwPropId; DWORD cValues; VARTYPE vtDefault; VARTYPE vtCurrent; } MIMEPROPINFO; typedef struct tagMIMEPROPINFO *LPMIMEPROPINFO; typedef const MIMEPROPINFO *LPCMIMEPROPINFO; #define EPF_NONAME 0x00000001 EXTERN_C const IID IID_IMimePropertySet; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("FD853CD3-7F86-11d0-8252-00C04FD85AB4") IMimePropertySet : public IPersistStreamInit { public: virtual HRESULT STDMETHODCALLTYPE GetPropInfo( /* [in] */ LPCSTR pszName, /* [out][in] */ LPMIMEPROPINFO pInfo) = 0; virtual HRESULT STDMETHODCALLTYPE SetPropInfo( /* [in] */ LPCSTR pszName, /* [in] */ LPCMIMEPROPINFO pInfo) = 0; virtual HRESULT STDMETHODCALLTYPE GetProp( /* [in] */ LPCSTR pszName, /* [in] */ DWORD dwFlags, /* [out][in] */ LPPROPVARIANT pValue) = 0; virtual HRESULT STDMETHODCALLTYPE SetProp( /* [in] */ LPCSTR pszName, /* [in] */ DWORD dwFlags, /* [in] */ LPCPROPVARIANT pValue) = 0; virtual HRESULT STDMETHODCALLTYPE AppendProp( /* [in] */ LPCSTR pszName, /* [in] */ DWORD dwFlags, /* [in] */ LPPROPVARIANT pValue) = 0; virtual HRESULT STDMETHODCALLTYPE DeleteProp( /* [in] */ LPCSTR pszName) = 0; virtual HRESULT STDMETHODCALLTYPE CopyProps( /* [in] */ ULONG cNames, /* [in] */ LPCSTR *prgszName, /* [in] */ IMimePropertySet *pPropertySet) = 0; virtual HRESULT STDMETHODCALLTYPE MoveProps( /* [in] */ ULONG cNames, /* [in] */ LPCSTR *prgszName, /* [in] */ IMimePropertySet *pPropertySet) = 0; virtual HRESULT STDMETHODCALLTYPE DeleteExcept( /* [in] */ ULONG cNames, /* [in] */ LPCSTR *prgszName) = 0; virtual HRESULT STDMETHODCALLTYPE QueryProp( /* [in] */ LPCSTR pszName, /* [in] */ LPCSTR pszCriteria, /* [in] */ boolean fSubString, /* [in] */ boolean fCaseSensitive) = 0; virtual HRESULT STDMETHODCALLTYPE GetCharset( /* [out] */ LPHCHARSET phCharset) = 0; virtual HRESULT STDMETHODCALLTYPE SetCharset( /* [in] */ HCHARSET hCharset, /* [in] */ CSETAPPLYTYPE applytype) = 0; virtual HRESULT STDMETHODCALLTYPE GetParameters( /* [in] */ LPCSTR pszName, /* [out] */ ULONG *pcParams, /* [out] */ LPMIMEPARAMINFO *pprgParam) = 0; virtual HRESULT STDMETHODCALLTYPE IsContentType( /* [in] */ LPCSTR pszPriType, /* [in] */ LPCSTR pszSubType) = 0; virtual HRESULT STDMETHODCALLTYPE BindToObject( /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject) = 0; virtual HRESULT STDMETHODCALLTYPE Clone( /* [out] */ IMimePropertySet **ppPropertySet) = 0; virtual HRESULT STDMETHODCALLTYPE SetOption( /* [in] */ const TYPEDID oid, /* [in] */ LPCPROPVARIANT pValue) = 0; virtual HRESULT STDMETHODCALLTYPE GetOption( /* [in] */ const TYPEDID oid, /* [out][in] */ LPPROPVARIANT pValue) = 0; virtual HRESULT STDMETHODCALLTYPE EnumProps( /* [in] */ DWORD dwFlags, /* [out] */ IMimeEnumProperties **ppEnum) = 0; }; #else /* C style interface */ typedef struct IMimePropertySetVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMimePropertySet * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMimePropertySet * This); ULONG ( STDMETHODCALLTYPE *Release )( IMimePropertySet * This); HRESULT ( STDMETHODCALLTYPE *GetClassID )( IMimePropertySet * This, /* [out] */ CLSID *pClassID); HRESULT ( STDMETHODCALLTYPE *IsDirty )( IMimePropertySet * This); HRESULT ( STDMETHODCALLTYPE *Load )( IMimePropertySet * This, /* [in] */ LPSTREAM pStm); HRESULT ( STDMETHODCALLTYPE *Save )( IMimePropertySet * This, /* [in] */ LPSTREAM pStm, /* [in] */ BOOL fClearDirty); HRESULT ( STDMETHODCALLTYPE *GetSizeMax )( IMimePropertySet * This, /* [out] */ ULARGE_INTEGER *pCbSize); HRESULT ( STDMETHODCALLTYPE *InitNew )( IMimePropertySet * This); HRESULT ( STDMETHODCALLTYPE *GetPropInfo )( IMimePropertySet * This, /* [in] */ LPCSTR pszName, /* [out][in] */ LPMIMEPROPINFO pInfo); HRESULT ( STDMETHODCALLTYPE *SetPropInfo )( IMimePropertySet * This, /* [in] */ LPCSTR pszName, /* [in] */ LPCMIMEPROPINFO pInfo); HRESULT ( STDMETHODCALLTYPE *GetProp )( IMimePropertySet * This, /* [in] */ LPCSTR pszName, /* [in] */ DWORD dwFlags, /* [out][in] */ LPPROPVARIANT pValue); HRESULT ( STDMETHODCALLTYPE *SetProp )( IMimePropertySet * This, /* [in] */ LPCSTR pszName, /* [in] */ DWORD dwFlags, /* [in] */ LPCPROPVARIANT pValue); HRESULT ( STDMETHODCALLTYPE *AppendProp )( IMimePropertySet * This, /* [in] */ LPCSTR pszName, /* [in] */ DWORD dwFlags, /* [in] */ LPPROPVARIANT pValue); HRESULT ( STDMETHODCALLTYPE *DeleteProp )( IMimePropertySet * This, /* [in] */ LPCSTR pszName); HRESULT ( STDMETHODCALLTYPE *CopyProps )( IMimePropertySet * This, /* [in] */ ULONG cNames, /* [in] */ LPCSTR *prgszName, /* [in] */ IMimePropertySet *pPropertySet); HRESULT ( STDMETHODCALLTYPE *MoveProps )( IMimePropertySet * This, /* [in] */ ULONG cNames, /* [in] */ LPCSTR *prgszName, /* [in] */ IMimePropertySet *pPropertySet); HRESULT ( STDMETHODCALLTYPE *DeleteExcept )( IMimePropertySet * This, /* [in] */ ULONG cNames, /* [in] */ LPCSTR *prgszName); HRESULT ( STDMETHODCALLTYPE *QueryProp )( IMimePropertySet * This, /* [in] */ LPCSTR pszName, /* [in] */ LPCSTR pszCriteria, /* [in] */ boolean fSubString, /* [in] */ boolean fCaseSensitive); HRESULT ( STDMETHODCALLTYPE *GetCharset )( IMimePropertySet * This, /* [out] */ LPHCHARSET phCharset); HRESULT ( STDMETHODCALLTYPE *SetCharset )( IMimePropertySet * This, /* [in] */ HCHARSET hCharset, /* [in] */ CSETAPPLYTYPE applytype); HRESULT ( STDMETHODCALLTYPE *GetParameters )( IMimePropertySet * This, /* [in] */ LPCSTR pszName, /* [out] */ ULONG *pcParams, /* [out] */ LPMIMEPARAMINFO *pprgParam); HRESULT ( STDMETHODCALLTYPE *IsContentType )( IMimePropertySet * This, /* [in] */ LPCSTR pszPriType, /* [in] */ LPCSTR pszSubType); HRESULT ( STDMETHODCALLTYPE *BindToObject )( IMimePropertySet * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject); HRESULT ( STDMETHODCALLTYPE *Clone )( IMimePropertySet * This, /* [out] */ IMimePropertySet **ppPropertySet); HRESULT ( STDMETHODCALLTYPE *SetOption )( IMimePropertySet * This, /* [in] */ const TYPEDID oid, /* [in] */ LPCPROPVARIANT pValue); HRESULT ( STDMETHODCALLTYPE *GetOption )( IMimePropertySet * This, /* [in] */ const TYPEDID oid, /* [out][in] */ LPPROPVARIANT pValue); HRESULT ( STDMETHODCALLTYPE *EnumProps )( IMimePropertySet * This, /* [in] */ DWORD dwFlags, /* [out] */ IMimeEnumProperties **ppEnum); END_INTERFACE } IMimePropertySetVtbl; interface IMimePropertySet { CONST_VTBL struct IMimePropertySetVtbl *lpVtbl; }; #ifdef COBJMACROS #define IMimePropertySet_QueryInterface(This,riid,ppvObject) \ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) #define IMimePropertySet_AddRef(This) \ (This)->lpVtbl -> AddRef(This) #define IMimePropertySet_Release(This) \ (This)->lpVtbl -> Release(This) #define IMimePropertySet_GetClassID(This,pClassID) \ (This)->lpVtbl -> GetClassID(This,pClassID) #define IMimePropertySet_IsDirty(This) \ (This)->lpVtbl -> IsDirty(This) #define IMimePropertySet_Load(This,pStm) \ (This)->lpVtbl -> Load(This,pStm) #define IMimePropertySet_Save(This,pStm,fClearDirty) \ (This)->lpVtbl -> Save(This,pStm,fClearDirty) #define IMimePropertySet_GetSizeMax(This,pCbSize) \ (This)->lpVtbl -> GetSizeMax(This,pCbSize) #define IMimePropertySet_InitNew(This) \ (This)->lpVtbl -> InitNew(This) #define IMimePropertySet_GetPropInfo(This,pszName,pInfo) \ (This)->lpVtbl -> GetPropInfo(This,pszName,pInfo) #define IMimePropertySet_SetPropInfo(This,pszName,pInfo) \ (This)->lpVtbl -> SetPropInfo(This,pszName,pInfo) #define IMimePropertySet_GetProp(This,pszName,dwFlags,pValue) \ (This)->lpVtbl -> GetProp(This,pszName,dwFlags,pValue) #define IMimePropertySet_SetProp(This,pszName,dwFlags,pValue) \ (This)->lpVtbl -> SetProp(This,pszName,dwFlags,pValue) #define IMimePropertySet_AppendProp(This,pszName,dwFlags,pValue) \ (This)->lpVtbl -> AppendProp(This,pszName,dwFlags,pValue) #define IMimePropertySet_DeleteProp(This,pszName) \ (This)->lpVtbl -> DeleteProp(This,pszName) #define IMimePropertySet_CopyProps(This,cNames,prgszName,pPropertySet) \ (This)->lpVtbl -> CopyProps(This,cNames,prgszName,pPropertySet) #define IMimePropertySet_MoveProps(This,cNames,prgszName,pPropertySet) \ (This)->lpVtbl -> MoveProps(This,cNames,prgszName,pPropertySet) #define IMimePropertySet_DeleteExcept(This,cNames,prgszName) \ (This)->lpVtbl -> DeleteExcept(This,cNames,prgszName) #define IMimePropertySet_QueryProp(This,pszName,pszCriteria,fSubString,fCaseSensitive) \ (This)->lpVtbl -> QueryProp(This,pszName,pszCriteria,fSubString,fCaseSensitive) #define IMimePropertySet_GetCharset(This,phCharset) \ (This)->lpVtbl -> GetCharset(This,phCharset) #define IMimePropertySet_SetCharset(This,hCharset,applytype) \ (This)->lpVtbl -> SetCharset(This,hCharset,applytype) #define IMimePropertySet_GetParameters(This,pszName,pcParams,pprgParam) \ (This)->lpVtbl -> GetParameters(This,pszName,pcParams,pprgParam) #define IMimePropertySet_IsContentType(This,pszPriType,pszSubType) \ (This)->lpVtbl -> IsContentType(This,pszPriType,pszSubType) #define IMimePropertySet_BindToObject(This,riid,ppvObject) \ (This)->lpVtbl -> BindToObject(This,riid,ppvObject) #define IMimePropertySet_Clone(This,ppPropertySet) \ (This)->lpVtbl -> Clone(This,ppPropertySet) #define IMimePropertySet_SetOption(This,oid,pValue) \ (This)->lpVtbl -> SetOption(This,oid,pValue) #define IMimePropertySet_GetOption(This,oid,pValue) \ (This)->lpVtbl -> GetOption(This,oid,pValue) #define IMimePropertySet_EnumProps(This,dwFlags,ppEnum) \ (This)->lpVtbl -> EnumProps(This,dwFlags,ppEnum) #endif /* COBJMACROS */ #endif /* C style interface */ HRESULT STDMETHODCALLTYPE IMimePropertySet_GetPropInfo_Proxy( IMimePropertySet * This, /* [in] */ LPCSTR pszName, /* [out][in] */ LPMIMEPROPINFO pInfo); void __RPC_STUB IMimePropertySet_GetPropInfo_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimePropertySet_SetPropInfo_Proxy( IMimePropertySet * This, /* [in] */ LPCSTR pszName, /* [in] */ LPCMIMEPROPINFO pInfo); void __RPC_STUB IMimePropertySet_SetPropInfo_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimePropertySet_GetProp_Proxy( IMimePropertySet * This, /* [in] */ LPCSTR pszName, /* [in] */ DWORD dwFlags, /* [out][in] */ LPPROPVARIANT pValue); void __RPC_STUB IMimePropertySet_GetProp_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimePropertySet_SetProp_Proxy( IMimePropertySet * This, /* [in] */ LPCSTR pszName, /* [in] */ DWORD dwFlags, /* [in] */ LPCPROPVARIANT pValue); void __RPC_STUB IMimePropertySet_SetProp_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimePropertySet_AppendProp_Proxy( IMimePropertySet * This, /* [in] */ LPCSTR pszName, /* [in] */ DWORD dwFlags, /* [in] */ LPPROPVARIANT pValue); void __RPC_STUB IMimePropertySet_AppendProp_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimePropertySet_DeleteProp_Proxy( IMimePropertySet * This, /* [in] */ LPCSTR pszName); void __RPC_STUB IMimePropertySet_DeleteProp_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimePropertySet_CopyProps_Proxy( IMimePropertySet * This, /* [in] */ ULONG cNames, /* [in] */ LPCSTR *prgszName, /* [in] */ IMimePropertySet *pPropertySet); void __RPC_STUB IMimePropertySet_CopyProps_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimePropertySet_MoveProps_Proxy( IMimePropertySet * This, /* [in] */ ULONG cNames, /* [in] */ LPCSTR *prgszName, /* [in] */ IMimePropertySet *pPropertySet); void __RPC_STUB IMimePropertySet_MoveProps_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimePropertySet_DeleteExcept_Proxy( IMimePropertySet * This, /* [in] */ ULONG cNames, /* [in] */ LPCSTR *prgszName); void __RPC_STUB IMimePropertySet_DeleteExcept_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimePropertySet_QueryProp_Proxy( IMimePropertySet * This, /* [in] */ LPCSTR pszName, /* [in] */ LPCSTR pszCriteria, /* [in] */ boolean fSubString, /* [in] */ boolean fCaseSensitive); void __RPC_STUB IMimePropertySet_QueryProp_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimePropertySet_GetCharset_Proxy( IMimePropertySet * This, /* [out] */ LPHCHARSET phCharset); void __RPC_STUB IMimePropertySet_GetCharset_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimePropertySet_SetCharset_Proxy( IMimePropertySet * This, /* [in] */ HCHARSET hCharset, /* [in] */ CSETAPPLYTYPE applytype); void __RPC_STUB IMimePropertySet_SetCharset_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimePropertySet_GetParameters_Proxy( IMimePropertySet * This, /* [in] */ LPCSTR pszName, /* [out] */ ULONG *pcParams, /* [out] */ LPMIMEPARAMINFO *pprgParam); void __RPC_STUB IMimePropertySet_GetParameters_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimePropertySet_IsContentType_Proxy( IMimePropertySet * This, /* [in] */ LPCSTR pszPriType, /* [in] */ LPCSTR pszSubType); void __RPC_STUB IMimePropertySet_IsContentType_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimePropertySet_BindToObject_Proxy( IMimePropertySet * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject); void __RPC_STUB IMimePropertySet_BindToObject_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimePropertySet_Clone_Proxy( IMimePropertySet * This, /* [out] */ IMimePropertySet **ppPropertySet); void __RPC_STUB IMimePropertySet_Clone_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimePropertySet_SetOption_Proxy( IMimePropertySet * This, /* [in] */ const TYPEDID oid, /* [in] */ LPCPROPVARIANT pValue); void __RPC_STUB IMimePropertySet_SetOption_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimePropertySet_GetOption_Proxy( IMimePropertySet * This, /* [in] */ const TYPEDID oid, /* [out][in] */ LPPROPVARIANT pValue); void __RPC_STUB IMimePropertySet_GetOption_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimePropertySet_EnumProps_Proxy( IMimePropertySet * This, /* [in] */ DWORD dwFlags, /* [out] */ IMimeEnumProperties **ppEnum); void __RPC_STUB IMimePropertySet_EnumProps_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #endif /* __IMimePropertySet_INTERFACE_DEFINED__ */ #ifndef __IMimeAddressTable_INTERFACE_DEFINED__ #define __IMimeAddressTable_INTERFACE_DEFINED__ /* interface IMimeAddressTable */ /* [object][helpstring][uuid] */ typedef /* [unique] */ IMimeAddressTable *LPMIMEADDRESSTABLE; typedef DWORD IADDRESSTYPE; struct HADDRESS__ { DWORD unused; } ; typedef const struct HADDRESS__ *HADDRESS; typedef HADDRESS *LPHADDRESS; #define IAT_UNKNOWN 0x00000000 #define IAT_FROM 0x00000001 #define IAT_SENDER 0x00000002 #define IAT_TO 0x00000004 #define IAT_CC 0x00000008 #define IAT_BCC 0x00000010 #define IAT_REPLYTO 0x00000020 #define IAT_RETURNPATH 0x00000040 #define IAT_RETRCPTTO 0x00000080 #define IAT_RR 0x00000100 #define IAT_APPARTO 0x00000200 #define IAT_ALL 0xFFFFFFFF #define IAT_KNOWN (IAT_FROM | IAT_TO | IAT_CC | IAT_BCC | IAT_REPLYTO | IAT_SENDER) #define IAT_RECIPS (IAT_TO | IAT_CC | IAT_BCC) typedef enum tagADDRESSFORMAT { AFT_DISPLAY_FRIENDLY = 0, AFT_DISPLAY_EMAIL = AFT_DISPLAY_FRIENDLY + 1, AFT_DISPLAY_BOTH = AFT_DISPLAY_EMAIL + 1, AFT_RFC822_DECODED = AFT_DISPLAY_BOTH + 1, AFT_RFC822_ENCODED = AFT_RFC822_DECODED + 1, AFT_RFC822_TRANSMIT = AFT_RFC822_ENCODED + 1 } ADDRESSFORMAT; #define IAP_CHARSET 0x00000001 #define IAP_HANDLE 0x00000002 #define IAP_ADRTYPE 0x00000004 #define IAP_FRIENDLY 0x00000008 #define IAP_EMAIL 0x00000020 #define IAP_CERTSTATE 0x00000100 #define IAP_SIGNING_PRINT 0x00000200 #define IAP_ENCRYPTION_PRINT 0x00000400 #define IAP_ENCODING 0x00000800 #define IAP_COOKIE 0x00001000 #define IAP_ALL 0xffffffff typedef struct tagADDRESSPROPS { DWORD dwProps; HADDRESS hAddress; ENCODINGTYPE ietFriendly; HCHARSET hCharset; DWORD dwAdrType; LPSTR pszFriendly; LPWSTR pwszReserved; LPSTR pszEmail; CERTSTATE certstate; THUMBBLOB tbSigning; THUMBBLOB tbEncryption; DWORD dwCookie; DWORD dwReserved1; DWORD dwReserved2; } ADDRESSPROPS; typedef struct tagADDRESSPROPS *LPADDRESSPROPS; typedef struct tagADDRESSLIST { ULONG cAdrs; LPADDRESSPROPS prgAdr; } ADDRESSLIST; typedef struct tagADDRESSLIST *LPADDRESSLIST; EXTERN_C const IID IID_IMimeAddressTable; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("C558834A-7F86-11d0-8252-00C04FD85AB4") IMimeAddressTable : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE Append( /* [in] */ DWORD dwAdrType, /* [in] */ ENCODINGTYPE ietFriendly, /* [in] */ LPCSTR pszFriendly, /* [in] */ LPCSTR pszEmail, /* [out] */ LPHADDRESS phAddress) = 0; virtual HRESULT STDMETHODCALLTYPE Insert( /* [in] */ LPADDRESSPROPS pAddress, /* [out] */ LPHADDRESS phAddress) = 0; virtual HRESULT STDMETHODCALLTYPE SetProps( /* [in] */ HADDRESS hAddress, /* [in] */ LPADDRESSPROPS pAddress) = 0; virtual HRESULT STDMETHODCALLTYPE GetProps( /* [in] */ HADDRESS hAddress, /* [in] */ LPADDRESSPROPS pAddress) = 0; virtual HRESULT STDMETHODCALLTYPE GetSender( /* [out][in] */ LPADDRESSPROPS pAddress) = 0; virtual HRESULT STDMETHODCALLTYPE CountTypes( /* [in] */ DWORD dwAdrTypes, /* [out] */ ULONG *pcAdrs) = 0; virtual HRESULT STDMETHODCALLTYPE GetTypes( /* [in] */ DWORD dwAdrTypes, /* [in] */ DWORD dwProps, /* [out][in] */ LPADDRESSLIST pList) = 0; virtual HRESULT STDMETHODCALLTYPE EnumTypes( /* [in] */ DWORD dwAdrTypes, /* [in] */ DWORD dwProps, /* [out] */ IMimeEnumAddressTypes **ppEnum) = 0; virtual HRESULT STDMETHODCALLTYPE Delete( /* [in] */ HADDRESS hAddress) = 0; virtual HRESULT STDMETHODCALLTYPE DeleteTypes( /* [in] */ DWORD dwAdrTypes) = 0; virtual HRESULT STDMETHODCALLTYPE GetFormat( /* [in] */ DWORD dwAdrType, /* [in] */ ADDRESSFORMAT format, /* [out] */ LPSTR *ppszFormat) = 0; virtual HRESULT STDMETHODCALLTYPE AppendRfc822( /* [in] */ DWORD dwAdrType, /* [in] */ ENCODINGTYPE ietEncoding, /* [in] */ LPCSTR pszRfc822Adr) = 0; virtual HRESULT STDMETHODCALLTYPE ParseRfc822( /* [in] */ DWORD dwAdrType, /* [in] */ ENCODINGTYPE ietEncoding, /* [in] */ LPCSTR pszRfc822Adr, /* [out][in] */ LPADDRESSLIST pList) = 0; virtual HRESULT STDMETHODCALLTYPE Clone( /* [out] */ IMimeAddressTable **ppTable) = 0; virtual HRESULT STDMETHODCALLTYPE BindToObject( /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject) = 0; }; #else /* C style interface */ typedef struct IMimeAddressTableVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMimeAddressTable * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMimeAddressTable * This); ULONG ( STDMETHODCALLTYPE *Release )( IMimeAddressTable * This); HRESULT ( STDMETHODCALLTYPE *Append )( IMimeAddressTable * This, /* [in] */ DWORD dwAdrType, /* [in] */ ENCODINGTYPE ietFriendly, /* [in] */ LPCSTR pszFriendly, /* [in] */ LPCSTR pszEmail, /* [out] */ LPHADDRESS phAddress); HRESULT ( STDMETHODCALLTYPE *Insert )( IMimeAddressTable * This, /* [in] */ LPADDRESSPROPS pAddress, /* [out] */ LPHADDRESS phAddress); HRESULT ( STDMETHODCALLTYPE *SetProps )( IMimeAddressTable * This, /* [in] */ HADDRESS hAddress, /* [in] */ LPADDRESSPROPS pAddress); HRESULT ( STDMETHODCALLTYPE *GetProps )( IMimeAddressTable * This, /* [in] */ HADDRESS hAddress, /* [in] */ LPADDRESSPROPS pAddress); HRESULT ( STDMETHODCALLTYPE *GetSender )( IMimeAddressTable * This, /* [out][in] */ LPADDRESSPROPS pAddress); HRESULT ( STDMETHODCALLTYPE *CountTypes )( IMimeAddressTable * This, /* [in] */ DWORD dwAdrTypes, /* [out] */ ULONG *pcAdrs); HRESULT ( STDMETHODCALLTYPE *GetTypes )( IMimeAddressTable * This, /* [in] */ DWORD dwAdrTypes, /* [in] */ DWORD dwProps, /* [out][in] */ LPADDRESSLIST pList); HRESULT ( STDMETHODCALLTYPE *EnumTypes )( IMimeAddressTable * This, /* [in] */ DWORD dwAdrTypes, /* [in] */ DWORD dwProps, /* [out] */ IMimeEnumAddressTypes **ppEnum); HRESULT ( STDMETHODCALLTYPE *Delete )( IMimeAddressTable * This, /* [in] */ HADDRESS hAddress); HRESULT ( STDMETHODCALLTYPE *DeleteTypes )( IMimeAddressTable * This, /* [in] */ DWORD dwAdrTypes); HRESULT ( STDMETHODCALLTYPE *GetFormat )( IMimeAddressTable * This, /* [in] */ DWORD dwAdrType, /* [in] */ ADDRESSFORMAT format, /* [out] */ LPSTR *ppszFormat); HRESULT ( STDMETHODCALLTYPE *AppendRfc822 )( IMimeAddressTable * This, /* [in] */ DWORD dwAdrType, /* [in] */ ENCODINGTYPE ietEncoding, /* [in] */ LPCSTR pszRfc822Adr); HRESULT ( STDMETHODCALLTYPE *ParseRfc822 )( IMimeAddressTable * This, /* [in] */ DWORD dwAdrType, /* [in] */ ENCODINGTYPE ietEncoding, /* [in] */ LPCSTR pszRfc822Adr, /* [out][in] */ LPADDRESSLIST pList); HRESULT ( STDMETHODCALLTYPE *Clone )( IMimeAddressTable * This, /* [out] */ IMimeAddressTable **ppTable); HRESULT ( STDMETHODCALLTYPE *BindToObject )( IMimeAddressTable * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject); END_INTERFACE } IMimeAddressTableVtbl; interface IMimeAddressTable { CONST_VTBL struct IMimeAddressTableVtbl *lpVtbl; }; #ifdef COBJMACROS #define IMimeAddressTable_QueryInterface(This,riid,ppvObject) \ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) #define IMimeAddressTable_AddRef(This) \ (This)->lpVtbl -> AddRef(This) #define IMimeAddressTable_Release(This) \ (This)->lpVtbl -> Release(This) #define IMimeAddressTable_Append(This,dwAdrType,ietFriendly,pszFriendly,pszEmail,phAddress) \ (This)->lpVtbl -> Append(This,dwAdrType,ietFriendly,pszFriendly,pszEmail,phAddress) #define IMimeAddressTable_Insert(This,pAddress,phAddress) \ (This)->lpVtbl -> Insert(This,pAddress,phAddress) #define IMimeAddressTable_SetProps(This,hAddress,pAddress) \ (This)->lpVtbl -> SetProps(This,hAddress,pAddress) #define IMimeAddressTable_GetProps(This,hAddress,pAddress) \ (This)->lpVtbl -> GetProps(This,hAddress,pAddress) #define IMimeAddressTable_GetSender(This,pAddress) \ (This)->lpVtbl -> GetSender(This,pAddress) #define IMimeAddressTable_CountTypes(This,dwAdrTypes,pcAdrs) \ (This)->lpVtbl -> CountTypes(This,dwAdrTypes,pcAdrs) #define IMimeAddressTable_GetTypes(This,dwAdrTypes,dwProps,pList) \ (This)->lpVtbl -> GetTypes(This,dwAdrTypes,dwProps,pList) #define IMimeAddressTable_EnumTypes(This,dwAdrTypes,dwProps,ppEnum) \ (This)->lpVtbl -> EnumTypes(This,dwAdrTypes,dwProps,ppEnum) #define IMimeAddressTable_Delete(This,hAddress) \ (This)->lpVtbl -> Delete(This,hAddress) #define IMimeAddressTable_DeleteTypes(This,dwAdrTypes) \ (This)->lpVtbl -> DeleteTypes(This,dwAdrTypes) #define IMimeAddressTable_GetFormat(This,dwAdrType,format,ppszFormat) \ (This)->lpVtbl -> GetFormat(This,dwAdrType,format,ppszFormat) #define IMimeAddressTable_AppendRfc822(This,dwAdrType,ietEncoding,pszRfc822Adr) \ (This)->lpVtbl -> AppendRfc822(This,dwAdrType,ietEncoding,pszRfc822Adr) #define IMimeAddressTable_ParseRfc822(This,dwAdrType,ietEncoding,pszRfc822Adr,pList) \ (This)->lpVtbl -> ParseRfc822(This,dwAdrType,ietEncoding,pszRfc822Adr,pList) #define IMimeAddressTable_Clone(This,ppTable) \ (This)->lpVtbl -> Clone(This,ppTable) #define IMimeAddressTable_BindToObject(This,riid,ppvObject) \ (This)->lpVtbl -> BindToObject(This,riid,ppvObject) #endif /* COBJMACROS */ #endif /* C style interface */ HRESULT STDMETHODCALLTYPE IMimeAddressTable_Append_Proxy( IMimeAddressTable * This, /* [in] */ DWORD dwAdrType, /* [in] */ ENCODINGTYPE ietFriendly, /* [in] */ LPCSTR pszFriendly, /* [in] */ LPCSTR pszEmail, /* [out] */ LPHADDRESS phAddress); void __RPC_STUB IMimeAddressTable_Append_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeAddressTable_Insert_Proxy( IMimeAddressTable * This, /* [in] */ LPADDRESSPROPS pAddress, /* [out] */ LPHADDRESS phAddress); void __RPC_STUB IMimeAddressTable_Insert_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeAddressTable_SetProps_Proxy( IMimeAddressTable * This, /* [in] */ HADDRESS hAddress, /* [in] */ LPADDRESSPROPS pAddress); void __RPC_STUB IMimeAddressTable_SetProps_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeAddressTable_GetProps_Proxy( IMimeAddressTable * This, /* [in] */ HADDRESS hAddress, /* [in] */ LPADDRESSPROPS pAddress); void __RPC_STUB IMimeAddressTable_GetProps_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeAddressTable_GetSender_Proxy( IMimeAddressTable * This, /* [out][in] */ LPADDRESSPROPS pAddress); void __RPC_STUB IMimeAddressTable_GetSender_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeAddressTable_CountTypes_Proxy( IMimeAddressTable * This, /* [in] */ DWORD dwAdrTypes, /* [out] */ ULONG *pcAdrs); void __RPC_STUB IMimeAddressTable_CountTypes_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeAddressTable_GetTypes_Proxy( IMimeAddressTable * This, /* [in] */ DWORD dwAdrTypes, /* [in] */ DWORD dwProps, /* [out][in] */ LPADDRESSLIST pList); void __RPC_STUB IMimeAddressTable_GetTypes_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeAddressTable_EnumTypes_Proxy( IMimeAddressTable * This, /* [in] */ DWORD dwAdrTypes, /* [in] */ DWORD dwProps, /* [out] */ IMimeEnumAddressTypes **ppEnum); void __RPC_STUB IMimeAddressTable_EnumTypes_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeAddressTable_Delete_Proxy( IMimeAddressTable * This, /* [in] */ HADDRESS hAddress); void __RPC_STUB IMimeAddressTable_Delete_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeAddressTable_DeleteTypes_Proxy( IMimeAddressTable * This, /* [in] */ DWORD dwAdrTypes); void __RPC_STUB IMimeAddressTable_DeleteTypes_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeAddressTable_GetFormat_Proxy( IMimeAddressTable * This, /* [in] */ DWORD dwAdrType, /* [in] */ ADDRESSFORMAT format, /* [out] */ LPSTR *ppszFormat); void __RPC_STUB IMimeAddressTable_GetFormat_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeAddressTable_AppendRfc822_Proxy( IMimeAddressTable * This, /* [in] */ DWORD dwAdrType, /* [in] */ ENCODINGTYPE ietEncoding, /* [in] */ LPCSTR pszRfc822Adr); void __RPC_STUB IMimeAddressTable_AppendRfc822_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeAddressTable_ParseRfc822_Proxy( IMimeAddressTable * This, /* [in] */ DWORD dwAdrType, /* [in] */ ENCODINGTYPE ietEncoding, /* [in] */ LPCSTR pszRfc822Adr, /* [out][in] */ LPADDRESSLIST pList); void __RPC_STUB IMimeAddressTable_ParseRfc822_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeAddressTable_Clone_Proxy( IMimeAddressTable * This, /* [out] */ IMimeAddressTable **ppTable); void __RPC_STUB IMimeAddressTable_Clone_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeAddressTable_BindToObject_Proxy( IMimeAddressTable * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject); void __RPC_STUB IMimeAddressTable_BindToObject_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #endif /* __IMimeAddressTable_INTERFACE_DEFINED__ */ #ifndef __IMimeWebDocument_INTERFACE_DEFINED__ #define __IMimeWebDocument_INTERFACE_DEFINED__ /* interface IMimeWebDocument */ /* [object][helpstring][uuid] */ EXTERN_C const IID IID_IMimeWebDocument; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("EE519F11-851A-11d0-825C-00C04FD85AB4") IMimeWebDocument : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetURL( /* [out] */ LPSTR *ppszURL) = 0; virtual HRESULT STDMETHODCALLTYPE BindToStorage( /* [in] */ REFIID riid, /* [iid_is][out] */ LPVOID *ppvObject) = 0; }; #else /* C style interface */ typedef struct IMimeWebDocumentVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMimeWebDocument * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMimeWebDocument * This); ULONG ( STDMETHODCALLTYPE *Release )( IMimeWebDocument * This); HRESULT ( STDMETHODCALLTYPE *GetURL )( IMimeWebDocument * This, /* [out] */ LPSTR *ppszURL); HRESULT ( STDMETHODCALLTYPE *BindToStorage )( IMimeWebDocument * This, /* [in] */ REFIID riid, /* [iid_is][out] */ LPVOID *ppvObject); END_INTERFACE } IMimeWebDocumentVtbl; interface IMimeWebDocument { CONST_VTBL struct IMimeWebDocumentVtbl *lpVtbl; }; #ifdef COBJMACROS #define IMimeWebDocument_QueryInterface(This,riid,ppvObject) \ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) #define IMimeWebDocument_AddRef(This) \ (This)->lpVtbl -> AddRef(This) #define IMimeWebDocument_Release(This) \ (This)->lpVtbl -> Release(This) #define IMimeWebDocument_GetURL(This,ppszURL) \ (This)->lpVtbl -> GetURL(This,ppszURL) #define IMimeWebDocument_BindToStorage(This,riid,ppvObject) \ (This)->lpVtbl -> BindToStorage(This,riid,ppvObject) #endif /* COBJMACROS */ #endif /* C style interface */ HRESULT STDMETHODCALLTYPE IMimeWebDocument_GetURL_Proxy( IMimeWebDocument * This, /* [out] */ LPSTR *ppszURL); void __RPC_STUB IMimeWebDocument_GetURL_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeWebDocument_BindToStorage_Proxy( IMimeWebDocument * This, /* [in] */ REFIID riid, /* [iid_is][out] */ LPVOID *ppvObject); void __RPC_STUB IMimeWebDocument_BindToStorage_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #endif /* __IMimeWebDocument_INTERFACE_DEFINED__ */ #ifndef __IMimeBody_INTERFACE_DEFINED__ #define __IMimeBody_INTERFACE_DEFINED__ /* interface IMimeBody */ /* [object][helpstring][uuid] */ typedef /* [unique] */ IMimeBody *LPMIMEBODY; typedef enum tagIMSGBODYTYPE { IBT_SECURE = 0, IBT_ATTACHMENT = IBT_SECURE + 1, IBT_EMPTY = IBT_ATTACHMENT + 1, IBT_CSETTAGGED = IBT_EMPTY + 1, IBT_AUTOATTACH = IBT_CSETTAGGED + 1 } IMSGBODYTYPE; typedef struct tagBODYOFFSETS { DWORD cbBoundaryStart; DWORD cbHeaderStart; DWORD cbBodyStart; DWORD cbBodyEnd; } BODYOFFSETS; typedef struct tagBODYOFFSETS *LPBODYOFFSETS; typedef struct tagTRANSMITINFO { ENCODINGTYPE ietCurrent; ENCODINGTYPE ietXmitMime; ENCODINGTYPE ietXmit822; ULONG cbLongestLine; ULONG cExtended; ULONG ulPercentExt; ULONG cbSize; ULONG cLines; } TRANSMITINFO; typedef struct tagTRANSMITINFO *LPTRANSMITINFO; EXTERN_C const IID IID_IMimeBody; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("C558834C-7F86-11d0-8252-00C04FD85AB4") IMimeBody : public IMimePropertySet { public: virtual HRESULT STDMETHODCALLTYPE IsType( /* [in] */ IMSGBODYTYPE bodytype) = 0; virtual HRESULT STDMETHODCALLTYPE SetDisplayName( /* [in] */ LPCSTR pszDisplay) = 0; virtual HRESULT STDMETHODCALLTYPE GetDisplayName( /* [out] */ LPSTR *ppszDisplay) = 0; virtual HRESULT STDMETHODCALLTYPE GetOffsets( /* [out] */ LPBODYOFFSETS pOffsets) = 0; virtual HRESULT STDMETHODCALLTYPE GetCurrentEncoding( /* [out] */ ENCODINGTYPE *pietEncoding) = 0; virtual HRESULT STDMETHODCALLTYPE SetCurrentEncoding( /* [in] */ ENCODINGTYPE ietEncoding) = 0; virtual HRESULT STDMETHODCALLTYPE GetEstimatedSize( /* [in] */ ENCODINGTYPE ietEncoding, /* [out] */ ULONG *pcbSize) = 0; virtual HRESULT STDMETHODCALLTYPE GetDataHere( /* [in] */ ENCODINGTYPE ietEncoding, /* [in] */ IStream *pStream) = 0; virtual HRESULT STDMETHODCALLTYPE GetData( /* [in] */ ENCODINGTYPE ietEncoding, /* [out] */ IStream **ppStream) = 0; virtual HRESULT STDMETHODCALLTYPE SetData( /* [in] */ ENCODINGTYPE ietEncoding, /* [in] */ LPCSTR pszPriType, /* [in] */ LPCSTR pszSubType, /* [in] */ REFIID riid, /* [iid_is][in] */ LPVOID pvObject) = 0; virtual HRESULT STDMETHODCALLTYPE EmptyData( void) = 0; virtual HRESULT STDMETHODCALLTYPE CopyTo( /* [in] */ IMimeBody *pBody) = 0; virtual HRESULT STDMETHODCALLTYPE GetTransmitInfo( /* [out][in] */ LPTRANSMITINFO pTransmitInfo) = 0; virtual HRESULT STDMETHODCALLTYPE SaveToFile( /* [in] */ ENCODINGTYPE ietEncoding, /* [in] */ LPCSTR pszFilePath) = 0; virtual HRESULT STDMETHODCALLTYPE GetHandle( /* [out] */ LPHBODY phBody) = 0; }; #else /* C style interface */ typedef struct IMimeBodyVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMimeBody * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMimeBody * This); ULONG ( STDMETHODCALLTYPE *Release )( IMimeBody * This); HRESULT ( STDMETHODCALLTYPE *GetClassID )( IMimeBody * This, /* [out] */ CLSID *pClassID); HRESULT ( STDMETHODCALLTYPE *IsDirty )( IMimeBody * This); HRESULT ( STDMETHODCALLTYPE *Load )( IMimeBody * This, /* [in] */ LPSTREAM pStm); HRESULT ( STDMETHODCALLTYPE *Save )( IMimeBody * This, /* [in] */ LPSTREAM pStm, /* [in] */ BOOL fClearDirty); HRESULT ( STDMETHODCALLTYPE *GetSizeMax )( IMimeBody * This, /* [out] */ ULARGE_INTEGER *pCbSize); HRESULT ( STDMETHODCALLTYPE *InitNew )( IMimeBody * This); HRESULT ( STDMETHODCALLTYPE *GetPropInfo )( IMimeBody * This, /* [in] */ LPCSTR pszName, /* [out][in] */ LPMIMEPROPINFO pInfo); HRESULT ( STDMETHODCALLTYPE *SetPropInfo )( IMimeBody * This, /* [in] */ LPCSTR pszName, /* [in] */ LPCMIMEPROPINFO pInfo); HRESULT ( STDMETHODCALLTYPE *GetProp )( IMimeBody * This, /* [in] */ LPCSTR pszName, /* [in] */ DWORD dwFlags, /* [out][in] */ LPPROPVARIANT pValue); HRESULT ( STDMETHODCALLTYPE *SetProp )( IMimeBody * This, /* [in] */ LPCSTR pszName, /* [in] */ DWORD dwFlags, /* [in] */ LPCPROPVARIANT pValue); HRESULT ( STDMETHODCALLTYPE *AppendProp )( IMimeBody * This, /* [in] */ LPCSTR pszName, /* [in] */ DWORD dwFlags, /* [in] */ LPPROPVARIANT pValue); HRESULT ( STDMETHODCALLTYPE *DeleteProp )( IMimeBody * This, /* [in] */ LPCSTR pszName); HRESULT ( STDMETHODCALLTYPE *CopyProps )( IMimeBody * This, /* [in] */ ULONG cNames, /* [in] */ LPCSTR *prgszName, /* [in] */ IMimePropertySet *pPropertySet); HRESULT ( STDMETHODCALLTYPE *MoveProps )( IMimeBody * This, /* [in] */ ULONG cNames, /* [in] */ LPCSTR *prgszName, /* [in] */ IMimePropertySet *pPropertySet); HRESULT ( STDMETHODCALLTYPE *DeleteExcept )( IMimeBody * This, /* [in] */ ULONG cNames, /* [in] */ LPCSTR *prgszName); HRESULT ( STDMETHODCALLTYPE *QueryProp )( IMimeBody * This, /* [in] */ LPCSTR pszName, /* [in] */ LPCSTR pszCriteria, /* [in] */ boolean fSubString, /* [in] */ boolean fCaseSensitive); HRESULT ( STDMETHODCALLTYPE *GetCharset )( IMimeBody * This, /* [out] */ LPHCHARSET phCharset); HRESULT ( STDMETHODCALLTYPE *SetCharset )( IMimeBody * This, /* [in] */ HCHARSET hCharset, /* [in] */ CSETAPPLYTYPE applytype); HRESULT ( STDMETHODCALLTYPE *GetParameters )( IMimeBody * This, /* [in] */ LPCSTR pszName, /* [out] */ ULONG *pcParams, /* [out] */ LPMIMEPARAMINFO *pprgParam); HRESULT ( STDMETHODCALLTYPE *IsContentType )( IMimeBody * This, /* [in] */ LPCSTR pszPriType, /* [in] */ LPCSTR pszSubType); HRESULT ( STDMETHODCALLTYPE *BindToObject )( IMimeBody * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject); HRESULT ( STDMETHODCALLTYPE *Clone )( IMimeBody * This, /* [out] */ IMimePropertySet **ppPropertySet); HRESULT ( STDMETHODCALLTYPE *SetOption )( IMimeBody * This, /* [in] */ const TYPEDID oid, /* [in] */ LPCPROPVARIANT pValue); HRESULT ( STDMETHODCALLTYPE *GetOption )( IMimeBody * This, /* [in] */ const TYPEDID oid, /* [out][in] */ LPPROPVARIANT pValue); HRESULT ( STDMETHODCALLTYPE *EnumProps )( IMimeBody * This, /* [in] */ DWORD dwFlags, /* [out] */ IMimeEnumProperties **ppEnum); HRESULT ( STDMETHODCALLTYPE *IsType )( IMimeBody * This, /* [in] */ IMSGBODYTYPE bodytype); HRESULT ( STDMETHODCALLTYPE *SetDisplayName )( IMimeBody * This, /* [in] */ LPCSTR pszDisplay); HRESULT ( STDMETHODCALLTYPE *GetDisplayName )( IMimeBody * This, /* [out] */ LPSTR *ppszDisplay); HRESULT ( STDMETHODCALLTYPE *GetOffsets )( IMimeBody * This, /* [out] */ LPBODYOFFSETS pOffsets); HRESULT ( STDMETHODCALLTYPE *GetCurrentEncoding )( IMimeBody * This, /* [out] */ ENCODINGTYPE *pietEncoding); HRESULT ( STDMETHODCALLTYPE *SetCurrentEncoding )( IMimeBody * This, /* [in] */ ENCODINGTYPE ietEncoding); HRESULT ( STDMETHODCALLTYPE *GetEstimatedSize )( IMimeBody * This, /* [in] */ ENCODINGTYPE ietEncoding, /* [out] */ ULONG *pcbSize); HRESULT ( STDMETHODCALLTYPE *GetDataHere )( IMimeBody * This, /* [in] */ ENCODINGTYPE ietEncoding, /* [in] */ IStream *pStream); HRESULT ( STDMETHODCALLTYPE *GetData )( IMimeBody * This, /* [in] */ ENCODINGTYPE ietEncoding, /* [out] */ IStream **ppStream); HRESULT ( STDMETHODCALLTYPE *SetData )( IMimeBody * This, /* [in] */ ENCODINGTYPE ietEncoding, /* [in] */ LPCSTR pszPriType, /* [in] */ LPCSTR pszSubType, /* [in] */ REFIID riid, /* [iid_is][in] */ LPVOID pvObject); HRESULT ( STDMETHODCALLTYPE *EmptyData )( IMimeBody * This); HRESULT ( STDMETHODCALLTYPE *CopyTo )( IMimeBody * This, /* [in] */ IMimeBody *pBody); HRESULT ( STDMETHODCALLTYPE *GetTransmitInfo )( IMimeBody * This, /* [out][in] */ LPTRANSMITINFO pTransmitInfo); HRESULT ( STDMETHODCALLTYPE *SaveToFile )( IMimeBody * This, /* [in] */ ENCODINGTYPE ietEncoding, /* [in] */ LPCSTR pszFilePath); HRESULT ( STDMETHODCALLTYPE *GetHandle )( IMimeBody * This, /* [out] */ LPHBODY phBody); END_INTERFACE } IMimeBodyVtbl; interface IMimeBody { CONST_VTBL struct IMimeBodyVtbl *lpVtbl; }; #ifdef COBJMACROS #define IMimeBody_QueryInterface(This,riid,ppvObject) \ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) #define IMimeBody_AddRef(This) \ (This)->lpVtbl -> AddRef(This) #define IMimeBody_Release(This) \ (This)->lpVtbl -> Release(This) #define IMimeBody_GetClassID(This,pClassID) \ (This)->lpVtbl -> GetClassID(This,pClassID) #define IMimeBody_IsDirty(This) \ (This)->lpVtbl -> IsDirty(This) #define IMimeBody_Load(This,pStm) \ (This)->lpVtbl -> Load(This,pStm) #define IMimeBody_Save(This,pStm,fClearDirty) \ (This)->lpVtbl -> Save(This,pStm,fClearDirty) #define IMimeBody_GetSizeMax(This,pCbSize) \ (This)->lpVtbl -> GetSizeMax(This,pCbSize) #define IMimeBody_InitNew(This) \ (This)->lpVtbl -> InitNew(This) #define IMimeBody_GetPropInfo(This,pszName,pInfo) \ (This)->lpVtbl -> GetPropInfo(This,pszName,pInfo) #define IMimeBody_SetPropInfo(This,pszName,pInfo) \ (This)->lpVtbl -> SetPropInfo(This,pszName,pInfo) #define IMimeBody_GetProp(This,pszName,dwFlags,pValue) \ (This)->lpVtbl -> GetProp(This,pszName,dwFlags,pValue) #define IMimeBody_SetProp(This,pszName,dwFlags,pValue) \ (This)->lpVtbl -> SetProp(This,pszName,dwFlags,pValue) #define IMimeBody_AppendProp(This,pszName,dwFlags,pValue) \ (This)->lpVtbl -> AppendProp(This,pszName,dwFlags,pValue) #define IMimeBody_DeleteProp(This,pszName) \ (This)->lpVtbl -> DeleteProp(This,pszName) #define IMimeBody_CopyProps(This,cNames,prgszName,pPropertySet) \ (This)->lpVtbl -> CopyProps(This,cNames,prgszName,pPropertySet) #define IMimeBody_MoveProps(This,cNames,prgszName,pPropertySet) \ (This)->lpVtbl -> MoveProps(This,cNames,prgszName,pPropertySet) #define IMimeBody_DeleteExcept(This,cNames,prgszName) \ (This)->lpVtbl -> DeleteExcept(This,cNames,prgszName) #define IMimeBody_QueryProp(This,pszName,pszCriteria,fSubString,fCaseSensitive) \ (This)->lpVtbl -> QueryProp(This,pszName,pszCriteria,fSubString,fCaseSensitive) #define IMimeBody_GetCharset(This,phCharset) \ (This)->lpVtbl -> GetCharset(This,phCharset) #define IMimeBody_SetCharset(This,hCharset,applytype) \ (This)->lpVtbl -> SetCharset(This,hCharset,applytype) #define IMimeBody_GetParameters(This,pszName,pcParams,pprgParam) \ (This)->lpVtbl -> GetParameters(This,pszName,pcParams,pprgParam) #define IMimeBody_IsContentType(This,pszPriType,pszSubType) \ (This)->lpVtbl -> IsContentType(This,pszPriType,pszSubType) #define IMimeBody_BindToObject(This,riid,ppvObject) \ (This)->lpVtbl -> BindToObject(This,riid,ppvObject) #define IMimeBody_Clone(This,ppPropertySet) \ (This)->lpVtbl -> Clone(This,ppPropertySet) #define IMimeBody_SetOption(This,oid,pValue) \ (This)->lpVtbl -> SetOption(This,oid,pValue) #define IMimeBody_GetOption(This,oid,pValue) \ (This)->lpVtbl -> GetOption(This,oid,pValue) #define IMimeBody_EnumProps(This,dwFlags,ppEnum) \ (This)->lpVtbl -> EnumProps(This,dwFlags,ppEnum) #define IMimeBody_IsType(This,bodytype) \ (This)->lpVtbl -> IsType(This,bodytype) #define IMimeBody_SetDisplayName(This,pszDisplay) \ (This)->lpVtbl -> SetDisplayName(This,pszDisplay) #define IMimeBody_GetDisplayName(This,ppszDisplay) \ (This)->lpVtbl -> GetDisplayName(This,ppszDisplay) #define IMimeBody_GetOffsets(This,pOffsets) \ (This)->lpVtbl -> GetOffsets(This,pOffsets) #define IMimeBody_GetCurrentEncoding(This,pietEncoding) \ (This)->lpVtbl -> GetCurrentEncoding(This,pietEncoding) #define IMimeBody_SetCurrentEncoding(This,ietEncoding) \ (This)->lpVtbl -> SetCurrentEncoding(This,ietEncoding) #define IMimeBody_GetEstimatedSize(This,ietEncoding,pcbSize) \ (This)->lpVtbl -> GetEstimatedSize(This,ietEncoding,pcbSize) #define IMimeBody_GetDataHere(This,ietEncoding,pStream) \ (This)->lpVtbl -> GetDataHere(This,ietEncoding,pStream) #define IMimeBody_GetData(This,ietEncoding,ppStream) \ (This)->lpVtbl -> GetData(This,ietEncoding,ppStream) #define IMimeBody_SetData(This,ietEncoding,pszPriType,pszSubType,riid,pvObject) \ (This)->lpVtbl -> SetData(This,ietEncoding,pszPriType,pszSubType,riid,pvObject) #define IMimeBody_EmptyData(This) \ (This)->lpVtbl -> EmptyData(This) #define IMimeBody_CopyTo(This,pBody) \ (This)->lpVtbl -> CopyTo(This,pBody) #define IMimeBody_GetTransmitInfo(This,pTransmitInfo) \ (This)->lpVtbl -> GetTransmitInfo(This,pTransmitInfo) #define IMimeBody_SaveToFile(This,ietEncoding,pszFilePath) \ (This)->lpVtbl -> SaveToFile(This,ietEncoding,pszFilePath) #define IMimeBody_GetHandle(This,phBody) \ (This)->lpVtbl -> GetHandle(This,phBody) #endif /* COBJMACROS */ #endif /* C style interface */ HRESULT STDMETHODCALLTYPE IMimeBody_IsType_Proxy( IMimeBody * This, /* [in] */ IMSGBODYTYPE bodytype); void __RPC_STUB IMimeBody_IsType_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeBody_SetDisplayName_Proxy( IMimeBody * This, /* [in] */ LPCSTR pszDisplay); void __RPC_STUB IMimeBody_SetDisplayName_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeBody_GetDisplayName_Proxy( IMimeBody * This, /* [out] */ LPSTR *ppszDisplay); void __RPC_STUB IMimeBody_GetDisplayName_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeBody_GetOffsets_Proxy( IMimeBody * This, /* [out] */ LPBODYOFFSETS pOffsets); void __RPC_STUB IMimeBody_GetOffsets_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeBody_GetCurrentEncoding_Proxy( IMimeBody * This, /* [out] */ ENCODINGTYPE *pietEncoding); void __RPC_STUB IMimeBody_GetCurrentEncoding_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeBody_SetCurrentEncoding_Proxy( IMimeBody * This, /* [in] */ ENCODINGTYPE ietEncoding); void __RPC_STUB IMimeBody_SetCurrentEncoding_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeBody_GetEstimatedSize_Proxy( IMimeBody * This, /* [in] */ ENCODINGTYPE ietEncoding, /* [out] */ ULONG *pcbSize); void __RPC_STUB IMimeBody_GetEstimatedSize_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeBody_GetDataHere_Proxy( IMimeBody * This, /* [in] */ ENCODINGTYPE ietEncoding, /* [in] */ IStream *pStream); void __RPC_STUB IMimeBody_GetDataHere_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeBody_GetData_Proxy( IMimeBody * This, /* [in] */ ENCODINGTYPE ietEncoding, /* [out] */ IStream **ppStream); void __RPC_STUB IMimeBody_GetData_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeBody_SetData_Proxy( IMimeBody * This, /* [in] */ ENCODINGTYPE ietEncoding, /* [in] */ LPCSTR pszPriType, /* [in] */ LPCSTR pszSubType, /* [in] */ REFIID riid, /* [iid_is][in] */ LPVOID pvObject); void __RPC_STUB IMimeBody_SetData_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeBody_EmptyData_Proxy( IMimeBody * This); void __RPC_STUB IMimeBody_EmptyData_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeBody_CopyTo_Proxy( IMimeBody * This, /* [in] */ IMimeBody *pBody); void __RPC_STUB IMimeBody_CopyTo_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeBody_GetTransmitInfo_Proxy( IMimeBody * This, /* [out][in] */ LPTRANSMITINFO pTransmitInfo); void __RPC_STUB IMimeBody_GetTransmitInfo_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeBody_SaveToFile_Proxy( IMimeBody * This, /* [in] */ ENCODINGTYPE ietEncoding, /* [in] */ LPCSTR pszFilePath); void __RPC_STUB IMimeBody_SaveToFile_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeBody_GetHandle_Proxy( IMimeBody * This, /* [out] */ LPHBODY phBody); void __RPC_STUB IMimeBody_GetHandle_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #endif /* __IMimeBody_INTERFACE_DEFINED__ */ #ifndef __IMimeMessageTree_INTERFACE_DEFINED__ #define __IMimeMessageTree_INTERFACE_DEFINED__ /* interface IMimeMessageTree */ /* [object][helpstring][uuid] */ typedef /* [unique] */ IMimeMessageTree *LPMIMEMESSAGETREE; #define HBODY_ROOT ( ( HBODY )-1 ) typedef enum tagBODYLOCATION { IBL_ROOT = 0, IBL_PARENT = IBL_ROOT + 1, IBL_FIRST = IBL_PARENT + 1, IBL_LAST = IBL_FIRST + 1, IBL_NEXT = IBL_LAST + 1, IBL_PREVIOUS = IBL_NEXT + 1 } BODYLOCATION; typedef struct tagFINDBODY { LPSTR pszPriType; LPSTR pszSubType; DWORD dwReserved; } FINDBODY; typedef struct tagFINDBODY *LPFINDBODY; #define COMMIT_ONLYIFDIRTY 0x00000001 #define COMMIT_REUSESTORAGE 0x00000002 #define COMMIT_SMIMETRANSFERENCODE 0x00000004 #define SAVEBODY_KEEPBOUNDARY 0x00000001 #define DELETE_PROMOTE_CHILDREN 0x00000001 #define DELETE_CHILDREN_ONLY 0x00000002 EXTERN_C const IID IID_IMimeMessageTree; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("FD853CD4-7F86-11d0-8252-00C04FD85AB4") IMimeMessageTree : public IPersistStreamInit { public: virtual HRESULT STDMETHODCALLTYPE GetMessageSource( /* [out] */ IStream **ppStream, /* [in] */ DWORD dwFlags) = 0; virtual HRESULT STDMETHODCALLTYPE GetMessageSize( /* [out] */ ULONG *pcbSize, /* [in] */ DWORD dwFlags) = 0; virtual HRESULT STDMETHODCALLTYPE LoadOffsetTable( /* [in] */ IStream *pStream) = 0; virtual HRESULT STDMETHODCALLTYPE SaveOffsetTable( /* [in] */ IStream *pStream, /* [in] */ DWORD dwFlags) = 0; virtual HRESULT STDMETHODCALLTYPE GetFlags( /* [out] */ DWORD *pdwFlags) = 0; virtual HRESULT STDMETHODCALLTYPE Commit( /* [in] */ DWORD dwFlags) = 0; virtual HRESULT STDMETHODCALLTYPE HandsOffStorage( void) = 0; virtual HRESULT STDMETHODCALLTYPE BindToObject( /* [in] */ const HBODY hBody, /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject) = 0; virtual HRESULT STDMETHODCALLTYPE SaveBody( /* [in] */ HBODY hBody, /* [in] */ DWORD dwFlags, /* [in] */ IStream *pStream) = 0; virtual HRESULT STDMETHODCALLTYPE InsertBody( /* [in] */ BODYLOCATION location, /* [in] */ HBODY hPivot, /* [out] */ LPHBODY phBody) = 0; virtual HRESULT STDMETHODCALLTYPE GetBody( /* [in] */ BODYLOCATION location, /* [in] */ HBODY hPivot, /* [out] */ LPHBODY phBody) = 0; virtual HRESULT STDMETHODCALLTYPE DeleteBody( /* [in] */ HBODY hBody, /* [in] */ DWORD dwFlags) = 0; virtual HRESULT STDMETHODCALLTYPE MoveBody( /* [in] */ HBODY hBody, /* [in] */ BODYLOCATION location) = 0; virtual HRESULT STDMETHODCALLTYPE CountBodies( /* [in] */ HBODY hParent, /* [in] */ boolean fRecurse, /* [out] */ ULONG *pcBodies) = 0; virtual HRESULT STDMETHODCALLTYPE FindFirst( /* [out][in] */ LPFINDBODY pFindBody, /* [out] */ LPHBODY phBody) = 0; virtual HRESULT STDMETHODCALLTYPE FindNext( /* [out][in] */ LPFINDBODY pFindBody, /* [out] */ LPHBODY phBody) = 0; virtual HRESULT STDMETHODCALLTYPE ResolveURL( /* [in] */ HBODY hRelated, /* [in] */ LPCSTR pszBase, /* [in] */ LPCSTR pszURL, /* [in] */ DWORD dwFlags, /* [out] */ LPHBODY phBody) = 0; virtual HRESULT STDMETHODCALLTYPE ToMultipart( /* [in] */ HBODY hBody, /* [in] */ LPCSTR pszSubType, /* [out] */ LPHBODY phMultipart) = 0; virtual HRESULT STDMETHODCALLTYPE GetBodyOffsets( /* [in] */ HBODY hBody, /* [out][in] */ LPBODYOFFSETS pOffsets) = 0; virtual HRESULT STDMETHODCALLTYPE GetCharset( /* [out] */ LPHCHARSET phCharset) = 0; virtual HRESULT STDMETHODCALLTYPE SetCharset( /* [in] */ HCHARSET hCharset, /* [in] */ CSETAPPLYTYPE applytype) = 0; virtual HRESULT STDMETHODCALLTYPE IsBodyType( /* [in] */ HBODY hBody, /* [in] */ IMSGBODYTYPE bodytype) = 0; virtual HRESULT STDMETHODCALLTYPE IsContentType( /* [in] */ HBODY hBody, /* [in] */ LPCSTR pszPriType, /* [in] */ LPCSTR pszSubType) = 0; virtual HRESULT STDMETHODCALLTYPE QueryBodyProp( /* [in] */ HBODY hBody, /* [in] */ LPCSTR pszName, /* [in] */ LPCSTR pszCriteria, /* [in] */ boolean fSubString, /* [in] */ boolean fCaseSensitive) = 0; virtual HRESULT STDMETHODCALLTYPE GetBodyProp( /* [in] */ HBODY hBody, /* [in] */ LPCSTR pszName, /* [in] */ DWORD dwFlags, /* [out][in] */ LPPROPVARIANT pValue) = 0; virtual HRESULT STDMETHODCALLTYPE SetBodyProp( /* [in] */ HBODY hBody, /* [in] */ LPCSTR pszName, /* [in] */ DWORD dwFlags, /* [in] */ LPCPROPVARIANT pValue) = 0; virtual HRESULT STDMETHODCALLTYPE DeleteBodyProp( /* [in] */ HBODY hBody, /* [in] */ LPCSTR pszName) = 0; virtual HRESULT STDMETHODCALLTYPE SetOption( /* [in] */ const TYPEDID oid, /* [in] */ LPCPROPVARIANT pValue) = 0; virtual HRESULT STDMETHODCALLTYPE GetOption( /* [in] */ const TYPEDID oid, /* [out][in] */ LPPROPVARIANT pValue) = 0; }; #else /* C style interface */ typedef struct IMimeMessageTreeVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMimeMessageTree * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMimeMessageTree * This); ULONG ( STDMETHODCALLTYPE *Release )( IMimeMessageTree * This); HRESULT ( STDMETHODCALLTYPE *GetClassID )( IMimeMessageTree * This, /* [out] */ CLSID *pClassID); HRESULT ( STDMETHODCALLTYPE *IsDirty )( IMimeMessageTree * This); HRESULT ( STDMETHODCALLTYPE *Load )( IMimeMessageTree * This, /* [in] */ LPSTREAM pStm); HRESULT ( STDMETHODCALLTYPE *Save )( IMimeMessageTree * This, /* [in] */ LPSTREAM pStm, /* [in] */ BOOL fClearDirty); HRESULT ( STDMETHODCALLTYPE *GetSizeMax )( IMimeMessageTree * This, /* [out] */ ULARGE_INTEGER *pCbSize); HRESULT ( STDMETHODCALLTYPE *InitNew )( IMimeMessageTree * This); HRESULT ( STDMETHODCALLTYPE *GetMessageSource )( IMimeMessageTree * This, /* [out] */ IStream **ppStream, /* [in] */ DWORD dwFlags); HRESULT ( STDMETHODCALLTYPE *GetMessageSize )( IMimeMessageTree * This, /* [out] */ ULONG *pcbSize, /* [in] */ DWORD dwFlags); HRESULT ( STDMETHODCALLTYPE *LoadOffsetTable )( IMimeMessageTree * This, /* [in] */ IStream *pStream); HRESULT ( STDMETHODCALLTYPE *SaveOffsetTable )( IMimeMessageTree * This, /* [in] */ IStream *pStream, /* [in] */ DWORD dwFlags); HRESULT ( STDMETHODCALLTYPE *GetFlags )( IMimeMessageTree * This, /* [out] */ DWORD *pdwFlags); HRESULT ( STDMETHODCALLTYPE *Commit )( IMimeMessageTree * This, /* [in] */ DWORD dwFlags); HRESULT ( STDMETHODCALLTYPE *HandsOffStorage )( IMimeMessageTree * This); HRESULT ( STDMETHODCALLTYPE *BindToObject )( IMimeMessageTree * This, /* [in] */ const HBODY hBody, /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject); HRESULT ( STDMETHODCALLTYPE *SaveBody )( IMimeMessageTree * This, /* [in] */ HBODY hBody, /* [in] */ DWORD dwFlags, /* [in] */ IStream *pStream); HRESULT ( STDMETHODCALLTYPE *InsertBody )( IMimeMessageTree * This, /* [in] */ BODYLOCATION location, /* [in] */ HBODY hPivot, /* [out] */ LPHBODY phBody); HRESULT ( STDMETHODCALLTYPE *GetBody )( IMimeMessageTree * This, /* [in] */ BODYLOCATION location, /* [in] */ HBODY hPivot, /* [out] */ LPHBODY phBody); HRESULT ( STDMETHODCALLTYPE *DeleteBody )( IMimeMessageTree * This, /* [in] */ HBODY hBody, /* [in] */ DWORD dwFlags); HRESULT ( STDMETHODCALLTYPE *MoveBody )( IMimeMessageTree * This, /* [in] */ HBODY hBody, /* [in] */ BODYLOCATION location); HRESULT ( STDMETHODCALLTYPE *CountBodies )( IMimeMessageTree * This, /* [in] */ HBODY hParent, /* [in] */ boolean fRecurse, /* [out] */ ULONG *pcBodies); HRESULT ( STDMETHODCALLTYPE *FindFirst )( IMimeMessageTree * This, /* [out][in] */ LPFINDBODY pFindBody, /* [out] */ LPHBODY phBody); HRESULT ( STDMETHODCALLTYPE *FindNext )( IMimeMessageTree * This, /* [out][in] */ LPFINDBODY pFindBody, /* [out] */ LPHBODY phBody); HRESULT ( STDMETHODCALLTYPE *ResolveURL )( IMimeMessageTree * This, /* [in] */ HBODY hRelated, /* [in] */ LPCSTR pszBase, /* [in] */ LPCSTR pszURL, /* [in] */ DWORD dwFlags, /* [out] */ LPHBODY phBody); HRESULT ( STDMETHODCALLTYPE *ToMultipart )( IMimeMessageTree * This, /* [in] */ HBODY hBody, /* [in] */ LPCSTR pszSubType, /* [out] */ LPHBODY phMultipart); HRESULT ( STDMETHODCALLTYPE *GetBodyOffsets )( IMimeMessageTree * This, /* [in] */ HBODY hBody, /* [out][in] */ LPBODYOFFSETS pOffsets); HRESULT ( STDMETHODCALLTYPE *GetCharset )( IMimeMessageTree * This, /* [out] */ LPHCHARSET phCharset); HRESULT ( STDMETHODCALLTYPE *SetCharset )( IMimeMessageTree * This, /* [in] */ HCHARSET hCharset, /* [in] */ CSETAPPLYTYPE applytype); HRESULT ( STDMETHODCALLTYPE *IsBodyType )( IMimeMessageTree * This, /* [in] */ HBODY hBody, /* [in] */ IMSGBODYTYPE bodytype); HRESULT ( STDMETHODCALLTYPE *IsContentType )( IMimeMessageTree * This, /* [in] */ HBODY hBody, /* [in] */ LPCSTR pszPriType, /* [in] */ LPCSTR pszSubType); HRESULT ( STDMETHODCALLTYPE *QueryBodyProp )( IMimeMessageTree * This, /* [in] */ HBODY hBody, /* [in] */ LPCSTR pszName, /* [in] */ LPCSTR pszCriteria, /* [in] */ boolean fSubString, /* [in] */ boolean fCaseSensitive); HRESULT ( STDMETHODCALLTYPE *GetBodyProp )( IMimeMessageTree * This, /* [in] */ HBODY hBody, /* [in] */ LPCSTR pszName, /* [in] */ DWORD dwFlags, /* [out][in] */ LPPROPVARIANT pValue); HRESULT ( STDMETHODCALLTYPE *SetBodyProp )( IMimeMessageTree * This, /* [in] */ HBODY hBody, /* [in] */ LPCSTR pszName, /* [in] */ DWORD dwFlags, /* [in] */ LPCPROPVARIANT pValue); HRESULT ( STDMETHODCALLTYPE *DeleteBodyProp )( IMimeMessageTree * This, /* [in] */ HBODY hBody, /* [in] */ LPCSTR pszName); HRESULT ( STDMETHODCALLTYPE *SetOption )( IMimeMessageTree * This, /* [in] */ const TYPEDID oid, /* [in] */ LPCPROPVARIANT pValue); HRESULT ( STDMETHODCALLTYPE *GetOption )( IMimeMessageTree * This, /* [in] */ const TYPEDID oid, /* [out][in] */ LPPROPVARIANT pValue); END_INTERFACE } IMimeMessageTreeVtbl; interface IMimeMessageTree { CONST_VTBL struct IMimeMessageTreeVtbl *lpVtbl; }; #ifdef COBJMACROS #define IMimeMessageTree_QueryInterface(This,riid,ppvObject) \ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) #define IMimeMessageTree_AddRef(This) \ (This)->lpVtbl -> AddRef(This) #define IMimeMessageTree_Release(This) \ (This)->lpVtbl -> Release(This) #define IMimeMessageTree_GetClassID(This,pClassID) \ (This)->lpVtbl -> GetClassID(This,pClassID) #define IMimeMessageTree_IsDirty(This) \ (This)->lpVtbl -> IsDirty(This) #define IMimeMessageTree_Load(This,pStm) \ (This)->lpVtbl -> Load(This,pStm) #define IMimeMessageTree_Save(This,pStm,fClearDirty) \ (This)->lpVtbl -> Save(This,pStm,fClearDirty) #define IMimeMessageTree_GetSizeMax(This,pCbSize) \ (This)->lpVtbl -> GetSizeMax(This,pCbSize) #define IMimeMessageTree_InitNew(This) \ (This)->lpVtbl -> InitNew(This) #define IMimeMessageTree_GetMessageSource(This,ppStream,dwFlags) \ (This)->lpVtbl -> GetMessageSource(This,ppStream,dwFlags) #define IMimeMessageTree_GetMessageSize(This,pcbSize,dwFlags) \ (This)->lpVtbl -> GetMessageSize(This,pcbSize,dwFlags) #define IMimeMessageTree_LoadOffsetTable(This,pStream) \ (This)->lpVtbl -> LoadOffsetTable(This,pStream) #define IMimeMessageTree_SaveOffsetTable(This,pStream,dwFlags) \ (This)->lpVtbl -> SaveOffsetTable(This,pStream,dwFlags) #define IMimeMessageTree_GetFlags(This,pdwFlags) \ (This)->lpVtbl -> GetFlags(This,pdwFlags) #define IMimeMessageTree_Commit(This,dwFlags) \ (This)->lpVtbl -> Commit(This,dwFlags) #define IMimeMessageTree_HandsOffStorage(This) \ (This)->lpVtbl -> HandsOffStorage(This) #define IMimeMessageTree_BindToObject(This,hBody,riid,ppvObject) \ (This)->lpVtbl -> BindToObject(This,hBody,riid,ppvObject) #define IMimeMessageTree_SaveBody(This,hBody,dwFlags,pStream) \ (This)->lpVtbl -> SaveBody(This,hBody,dwFlags,pStream) #define IMimeMessageTree_InsertBody(This,location,hPivot,phBody) \ (This)->lpVtbl -> InsertBody(This,location,hPivot,phBody) #define IMimeMessageTree_GetBody(This,location,hPivot,phBody) \ (This)->lpVtbl -> GetBody(This,location,hPivot,phBody) #define IMimeMessageTree_DeleteBody(This,hBody,dwFlags) \ (This)->lpVtbl -> DeleteBody(This,hBody,dwFlags) #define IMimeMessageTree_MoveBody(This,hBody,location) \ (This)->lpVtbl -> MoveBody(This,hBody,location) #define IMimeMessageTree_CountBodies(This,hParent,fRecurse,pcBodies) \ (This)->lpVtbl -> CountBodies(This,hParent,fRecurse,pcBodies) #define IMimeMessageTree_FindFirst(This,pFindBody,phBody) \ (This)->lpVtbl -> FindFirst(This,pFindBody,phBody) #define IMimeMessageTree_FindNext(This,pFindBody,phBody) \ (This)->lpVtbl -> FindNext(This,pFindBody,phBody) #define IMimeMessageTree_ResolveURL(This,hRelated,pszBase,pszURL,dwFlags,phBody) \ (This)->lpVtbl -> ResolveURL(This,hRelated,pszBase,pszURL,dwFlags,phBody) #define IMimeMessageTree_ToMultipart(This,hBody,pszSubType,phMultipart) \ (This)->lpVtbl -> ToMultipart(This,hBody,pszSubType,phMultipart) #define IMimeMessageTree_GetBodyOffsets(This,hBody,pOffsets) \ (This)->lpVtbl -> GetBodyOffsets(This,hBody,pOffsets) #define IMimeMessageTree_GetCharset(This,phCharset) \ (This)->lpVtbl -> GetCharset(This,phCharset) #define IMimeMessageTree_SetCharset(This,hCharset,applytype) \ (This)->lpVtbl -> SetCharset(This,hCharset,applytype) #define IMimeMessageTree_IsBodyType(This,hBody,bodytype) \ (This)->lpVtbl -> IsBodyType(This,hBody,bodytype) #define IMimeMessageTree_IsContentType(This,hBody,pszPriType,pszSubType) \ (This)->lpVtbl -> IsContentType(This,hBody,pszPriType,pszSubType) #define IMimeMessageTree_QueryBodyProp(This,hBody,pszName,pszCriteria,fSubString,fCaseSensitive) \ (This)->lpVtbl -> QueryBodyProp(This,hBody,pszName,pszCriteria,fSubString,fCaseSensitive) #define IMimeMessageTree_GetBodyProp(This,hBody,pszName,dwFlags,pValue) \ (This)->lpVtbl -> GetBodyProp(This,hBody,pszName,dwFlags,pValue) #define IMimeMessageTree_SetBodyProp(This,hBody,pszName,dwFlags,pValue) \ (This)->lpVtbl -> SetBodyProp(This,hBody,pszName,dwFlags,pValue) #define IMimeMessageTree_DeleteBodyProp(This,hBody,pszName) \ (This)->lpVtbl -> DeleteBodyProp(This,hBody,pszName) #define IMimeMessageTree_SetOption(This,oid,pValue) \ (This)->lpVtbl -> SetOption(This,oid,pValue) #define IMimeMessageTree_GetOption(This,oid,pValue) \ (This)->lpVtbl -> GetOption(This,oid,pValue) #endif /* COBJMACROS */ #endif /* C style interface */ HRESULT STDMETHODCALLTYPE IMimeMessageTree_GetMessageSource_Proxy( IMimeMessageTree * This, /* [out] */ IStream **ppStream, /* [in] */ DWORD dwFlags); void __RPC_STUB IMimeMessageTree_GetMessageSource_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessageTree_GetMessageSize_Proxy( IMimeMessageTree * This, /* [out] */ ULONG *pcbSize, /* [in] */ DWORD dwFlags); void __RPC_STUB IMimeMessageTree_GetMessageSize_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessageTree_LoadOffsetTable_Proxy( IMimeMessageTree * This, /* [in] */ IStream *pStream); void __RPC_STUB IMimeMessageTree_LoadOffsetTable_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessageTree_SaveOffsetTable_Proxy( IMimeMessageTree * This, /* [in] */ IStream *pStream, /* [in] */ DWORD dwFlags); void __RPC_STUB IMimeMessageTree_SaveOffsetTable_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessageTree_GetFlags_Proxy( IMimeMessageTree * This, /* [out] */ DWORD *pdwFlags); void __RPC_STUB IMimeMessageTree_GetFlags_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessageTree_Commit_Proxy( IMimeMessageTree * This, /* [in] */ DWORD dwFlags); void __RPC_STUB IMimeMessageTree_Commit_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessageTree_HandsOffStorage_Proxy( IMimeMessageTree * This); void __RPC_STUB IMimeMessageTree_HandsOffStorage_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessageTree_BindToObject_Proxy( IMimeMessageTree * This, /* [in] */ const HBODY hBody, /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject); void __RPC_STUB IMimeMessageTree_BindToObject_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessageTree_SaveBody_Proxy( IMimeMessageTree * This, /* [in] */ HBODY hBody, /* [in] */ DWORD dwFlags, /* [in] */ IStream *pStream); void __RPC_STUB IMimeMessageTree_SaveBody_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessageTree_InsertBody_Proxy( IMimeMessageTree * This, /* [in] */ BODYLOCATION location, /* [in] */ HBODY hPivot, /* [out] */ LPHBODY phBody); void __RPC_STUB IMimeMessageTree_InsertBody_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessageTree_GetBody_Proxy( IMimeMessageTree * This, /* [in] */ BODYLOCATION location, /* [in] */ HBODY hPivot, /* [out] */ LPHBODY phBody); void __RPC_STUB IMimeMessageTree_GetBody_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessageTree_DeleteBody_Proxy( IMimeMessageTree * This, /* [in] */ HBODY hBody, /* [in] */ DWORD dwFlags); void __RPC_STUB IMimeMessageTree_DeleteBody_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessageTree_MoveBody_Proxy( IMimeMessageTree * This, /* [in] */ HBODY hBody, /* [in] */ BODYLOCATION location); void __RPC_STUB IMimeMessageTree_MoveBody_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessageTree_CountBodies_Proxy( IMimeMessageTree * This, /* [in] */ HBODY hParent, /* [in] */ boolean fRecurse, /* [out] */ ULONG *pcBodies); void __RPC_STUB IMimeMessageTree_CountBodies_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessageTree_FindFirst_Proxy( IMimeMessageTree * This, /* [out][in] */ LPFINDBODY pFindBody, /* [out] */ LPHBODY phBody); void __RPC_STUB IMimeMessageTree_FindFirst_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessageTree_FindNext_Proxy( IMimeMessageTree * This, /* [out][in] */ LPFINDBODY pFindBody, /* [out] */ LPHBODY phBody); void __RPC_STUB IMimeMessageTree_FindNext_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessageTree_ResolveURL_Proxy( IMimeMessageTree * This, /* [in] */ HBODY hRelated, /* [in] */ LPCSTR pszBase, /* [in] */ LPCSTR pszURL, /* [in] */ DWORD dwFlags, /* [out] */ LPHBODY phBody); void __RPC_STUB IMimeMessageTree_ResolveURL_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessageTree_ToMultipart_Proxy( IMimeMessageTree * This, /* [in] */ HBODY hBody, /* [in] */ LPCSTR pszSubType, /* [out] */ LPHBODY phMultipart); void __RPC_STUB IMimeMessageTree_ToMultipart_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessageTree_GetBodyOffsets_Proxy( IMimeMessageTree * This, /* [in] */ HBODY hBody, /* [out][in] */ LPBODYOFFSETS pOffsets); void __RPC_STUB IMimeMessageTree_GetBodyOffsets_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessageTree_GetCharset_Proxy( IMimeMessageTree * This, /* [out] */ LPHCHARSET phCharset); void __RPC_STUB IMimeMessageTree_GetCharset_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessageTree_SetCharset_Proxy( IMimeMessageTree * This, /* [in] */ HCHARSET hCharset, /* [in] */ CSETAPPLYTYPE applytype); void __RPC_STUB IMimeMessageTree_SetCharset_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessageTree_IsBodyType_Proxy( IMimeMessageTree * This, /* [in] */ HBODY hBody, /* [in] */ IMSGBODYTYPE bodytype); void __RPC_STUB IMimeMessageTree_IsBodyType_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessageTree_IsContentType_Proxy( IMimeMessageTree * This, /* [in] */ HBODY hBody, /* [in] */ LPCSTR pszPriType, /* [in] */ LPCSTR pszSubType); void __RPC_STUB IMimeMessageTree_IsContentType_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessageTree_QueryBodyProp_Proxy( IMimeMessageTree * This, /* [in] */ HBODY hBody, /* [in] */ LPCSTR pszName, /* [in] */ LPCSTR pszCriteria, /* [in] */ boolean fSubString, /* [in] */ boolean fCaseSensitive); void __RPC_STUB IMimeMessageTree_QueryBodyProp_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessageTree_GetBodyProp_Proxy( IMimeMessageTree * This, /* [in] */ HBODY hBody, /* [in] */ LPCSTR pszName, /* [in] */ DWORD dwFlags, /* [out][in] */ LPPROPVARIANT pValue); void __RPC_STUB IMimeMessageTree_GetBodyProp_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessageTree_SetBodyProp_Proxy( IMimeMessageTree * This, /* [in] */ HBODY hBody, /* [in] */ LPCSTR pszName, /* [in] */ DWORD dwFlags, /* [in] */ LPCPROPVARIANT pValue); void __RPC_STUB IMimeMessageTree_SetBodyProp_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessageTree_DeleteBodyProp_Proxy( IMimeMessageTree * This, /* [in] */ HBODY hBody, /* [in] */ LPCSTR pszName); void __RPC_STUB IMimeMessageTree_DeleteBodyProp_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessageTree_SetOption_Proxy( IMimeMessageTree * This, /* [in] */ const TYPEDID oid, /* [in] */ LPCPROPVARIANT pValue); void __RPC_STUB IMimeMessageTree_SetOption_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessageTree_GetOption_Proxy( IMimeMessageTree * This, /* [in] */ const TYPEDID oid, /* [out][in] */ LPPROPVARIANT pValue); void __RPC_STUB IMimeMessageTree_GetOption_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #endif /* __IMimeMessageTree_INTERFACE_DEFINED__ */ #ifndef __IMimeMessage_INTERFACE_DEFINED__ #define __IMimeMessage_INTERFACE_DEFINED__ /* interface IMimeMessage */ /* [object][helpstring][uuid] */ typedef /* [unique] */ IMimeMessage *LPMIMEMESSAGE; typedef DWORD TEXTTYPE; typedef enum tagIMSGFLAGS { IMF_ATTACHMENTS = 0x1, IMF_MULTIPART = 0x2, IMF_SUBMULTIPART = 0x4, IMF_MIME = 0x8, IMF_HTML = 0x10, IMF_PLAIN = 0x20, IMF_PARTIAL = 0x40, IMF_SIGNED = 0x80, IMF_ENCRYPTED = 0x100, IMF_TNEF = 0x200, IMF_MHTML = 0x400, IMF_SECURE = 0x800, IMF_TEXT = 0x1000, IMF_CSETTAGGED = 0x2000, IMF_NEWS = 0x4000, IMF_VOICEMAIL = 0x8000, IMF_HASVCARD = 0x10000, IMF_RFC1154 = 0x20000 } IMSGFLAGS; typedef enum tagIMSGPRIORITY { IMSG_PRI_LOW = 5, IMSG_PRI_NORMAL = 3, IMSG_PRI_HIGH = 1 } IMSGPRIORITY; #define WPF_HTML 0x00000001 #define WPF_AUTOINLINE 0x00000002 #define WPF_SLIDESHOW 0x00000004 #define WPF_ATTACHLINKS 0x00000008 #define WPF_IMAGESONLY 0x00000010 #define WPF_NOMETACHARSET 0x00000020 typedef struct tagWEBPAGEOPTIONS { DWORD cbSize; DWORD dwFlags; DWORD dwDelay; WCHAR wchQuote; } WEBPAGEOPTIONS; typedef struct tagWEBPAGEOPTIONS *LPWEBPAGEOPTIONS; #define TXT_PLAIN 0x00000001 #define TXT_HTML 0x00000002 #define URL_ATTACH_INTO_MIXED 0x00000001 #define URL_ATTACH_GENERATE_CID 0x00000002 #define URL_ATTACH_SET_CNTTYPE 0x00000004 #define URL_RESOLVE_RENDERED 0x00000001 #define URL_RESULVE_NO_BASE 0x00000002 EXTERN_C const IID IID_IMimeMessage; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("FD853CD5-7F86-11d0-8252-00C04FD85AB4") IMimeMessage : public IMimeMessageTree { public: virtual HRESULT STDMETHODCALLTYPE CreateWebPage( /* [in] */ IStream *pRootStm, /* [in] */ LPWEBPAGEOPTIONS pOptions, /* [in] */ IMimeMessageCallback *pCallback, /* [out] */ IMoniker **ppMoniker) = 0; virtual HRESULT STDMETHODCALLTYPE GetProp( /* [in] */ LPCSTR pszName, /* [in] */ DWORD dwFlags, /* [out][in] */ LPPROPVARIANT pValue) = 0; virtual HRESULT STDMETHODCALLTYPE SetProp( /* [in] */ LPCSTR pszName, /* [in] */ DWORD dwFlags, /* [in] */ LPCPROPVARIANT pValue) = 0; virtual HRESULT STDMETHODCALLTYPE DeleteProp( /* [in] */ LPCSTR pszName) = 0; virtual HRESULT STDMETHODCALLTYPE QueryProp( /* [in] */ LPCSTR pszName, /* [in] */ LPCSTR pszCriteria, /* [in] */ boolean fSubString, /* [in] */ boolean fCaseSensitive) = 0; virtual HRESULT STDMETHODCALLTYPE GetTextBody( /* [in] */ DWORD dwTxtType, /* [in] */ ENCODINGTYPE ietEncoding, /* [out] */ IStream **ppStream, /* [out] */ LPHBODY phBody) = 0; virtual HRESULT STDMETHODCALLTYPE SetTextBody( /* [in] */ DWORD dwTxtType, /* [in] */ ENCODINGTYPE ietEncoding, /* [in] */ HBODY hAlternative, /* [in] */ IStream *pStream, /* [out] */ LPHBODY phBody) = 0; virtual HRESULT STDMETHODCALLTYPE AttachObject( /* [in] */ REFIID riid, /* [iid_is][in] */ void *pvObject, /* [out] */ LPHBODY phBody) = 0; virtual HRESULT STDMETHODCALLTYPE AttachFile( /* [in] */ LPCSTR pszFilePath, /* [in] */ IStream *pstmFile, /* [out] */ LPHBODY phBody) = 0; virtual HRESULT STDMETHODCALLTYPE AttachURL( /* [in] */ LPCSTR pszBase, /* [in] */ LPCSTR pszURL, /* [in] */ DWORD dwFlags, /* [in] */ IStream *pstmURL, /* [out] */ LPSTR *ppszCIDURL, /* [out] */ LPHBODY phBody) = 0; virtual HRESULT STDMETHODCALLTYPE GetAttachments( /* [out] */ ULONG *pcAttach, /* [out] */ LPHBODY *pprghAttach) = 0; virtual HRESULT STDMETHODCALLTYPE GetAddressTable( /* [out] */ IMimeAddressTable **ppTable) = 0; virtual HRESULT STDMETHODCALLTYPE GetSender( /* [out][in] */ LPADDRESSPROPS pAddress) = 0; virtual HRESULT STDMETHODCALLTYPE GetAddressTypes( /* [in] */ DWORD dwAdrTypes, /* [in] */ DWORD dwProps, /* [out][in] */ LPADDRESSLIST pList) = 0; virtual HRESULT STDMETHODCALLTYPE GetAddressFormat( /* [in] */ DWORD dwAdrType, /* [in] */ ADDRESSFORMAT format, /* [out] */ LPSTR *ppszFormat) = 0; virtual HRESULT STDMETHODCALLTYPE EnumAddressTypes( /* [in] */ DWORD dwAdrTypes, /* [in] */ DWORD dwProps, /* [out] */ IMimeEnumAddressTypes **ppEnum) = 0; virtual HRESULT STDMETHODCALLTYPE SplitMessage( /* [in] */ ULONG cbMaxPart, /* [out] */ IMimeMessageParts **ppParts) = 0; virtual HRESULT STDMETHODCALLTYPE GetRootMoniker( /* [out] */ IMoniker **ppMoniker) = 0; }; #else /* C style interface */ typedef struct IMimeMessageVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMimeMessage * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMimeMessage * This); ULONG ( STDMETHODCALLTYPE *Release )( IMimeMessage * This); HRESULT ( STDMETHODCALLTYPE *GetClassID )( IMimeMessage * This, /* [out] */ CLSID *pClassID); HRESULT ( STDMETHODCALLTYPE *IsDirty )( IMimeMessage * This); HRESULT ( STDMETHODCALLTYPE *Load )( IMimeMessage * This, /* [in] */ LPSTREAM pStm); HRESULT ( STDMETHODCALLTYPE *Save )( IMimeMessage * This, /* [in] */ LPSTREAM pStm, /* [in] */ BOOL fClearDirty); HRESULT ( STDMETHODCALLTYPE *GetSizeMax )( IMimeMessage * This, /* [out] */ ULARGE_INTEGER *pCbSize); HRESULT ( STDMETHODCALLTYPE *InitNew )( IMimeMessage * This); HRESULT ( STDMETHODCALLTYPE *GetMessageSource )( IMimeMessage * This, /* [out] */ IStream **ppStream, /* [in] */ DWORD dwFlags); HRESULT ( STDMETHODCALLTYPE *GetMessageSize )( IMimeMessage * This, /* [out] */ ULONG *pcbSize, /* [in] */ DWORD dwFlags); HRESULT ( STDMETHODCALLTYPE *LoadOffsetTable )( IMimeMessage * This, /* [in] */ IStream *pStream); HRESULT ( STDMETHODCALLTYPE *SaveOffsetTable )( IMimeMessage * This, /* [in] */ IStream *pStream, /* [in] */ DWORD dwFlags); HRESULT ( STDMETHODCALLTYPE *GetFlags )( IMimeMessage * This, /* [out] */ DWORD *pdwFlags); HRESULT ( STDMETHODCALLTYPE *Commit )( IMimeMessage * This, /* [in] */ DWORD dwFlags); HRESULT ( STDMETHODCALLTYPE *HandsOffStorage )( IMimeMessage * This); HRESULT ( STDMETHODCALLTYPE *BindToObject )( IMimeMessage * This, /* [in] */ const HBODY hBody, /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject); HRESULT ( STDMETHODCALLTYPE *SaveBody )( IMimeMessage * This, /* [in] */ HBODY hBody, /* [in] */ DWORD dwFlags, /* [in] */ IStream *pStream); HRESULT ( STDMETHODCALLTYPE *InsertBody )( IMimeMessage * This, /* [in] */ BODYLOCATION location, /* [in] */ HBODY hPivot, /* [out] */ LPHBODY phBody); HRESULT ( STDMETHODCALLTYPE *GetBody )( IMimeMessage * This, /* [in] */ BODYLOCATION location, /* [in] */ HBODY hPivot, /* [out] */ LPHBODY phBody); HRESULT ( STDMETHODCALLTYPE *DeleteBody )( IMimeMessage * This, /* [in] */ HBODY hBody, /* [in] */ DWORD dwFlags); HRESULT ( STDMETHODCALLTYPE *MoveBody )( IMimeMessage * This, /* [in] */ HBODY hBody, /* [in] */ BODYLOCATION location); HRESULT ( STDMETHODCALLTYPE *CountBodies )( IMimeMessage * This, /* [in] */ HBODY hParent, /* [in] */ boolean fRecurse, /* [out] */ ULONG *pcBodies); HRESULT ( STDMETHODCALLTYPE *FindFirst )( IMimeMessage * This, /* [out][in] */ LPFINDBODY pFindBody, /* [out] */ LPHBODY phBody); HRESULT ( STDMETHODCALLTYPE *FindNext )( IMimeMessage * This, /* [out][in] */ LPFINDBODY pFindBody, /* [out] */ LPHBODY phBody); HRESULT ( STDMETHODCALLTYPE *ResolveURL )( IMimeMessage * This, /* [in] */ HBODY hRelated, /* [in] */ LPCSTR pszBase, /* [in] */ LPCSTR pszURL, /* [in] */ DWORD dwFlags, /* [out] */ LPHBODY phBody); HRESULT ( STDMETHODCALLTYPE *ToMultipart )( IMimeMessage * This, /* [in] */ HBODY hBody, /* [in] */ LPCSTR pszSubType, /* [out] */ LPHBODY phMultipart); HRESULT ( STDMETHODCALLTYPE *GetBodyOffsets )( IMimeMessage * This, /* [in] */ HBODY hBody, /* [out][in] */ LPBODYOFFSETS pOffsets); HRESULT ( STDMETHODCALLTYPE *GetCharset )( IMimeMessage * This, /* [out] */ LPHCHARSET phCharset); HRESULT ( STDMETHODCALLTYPE *SetCharset )( IMimeMessage * This, /* [in] */ HCHARSET hCharset, /* [in] */ CSETAPPLYTYPE applytype); HRESULT ( STDMETHODCALLTYPE *IsBodyType )( IMimeMessage * This, /* [in] */ HBODY hBody, /* [in] */ IMSGBODYTYPE bodytype); HRESULT ( STDMETHODCALLTYPE *IsContentType )( IMimeMessage * This, /* [in] */ HBODY hBody, /* [in] */ LPCSTR pszPriType, /* [in] */ LPCSTR pszSubType); HRESULT ( STDMETHODCALLTYPE *QueryBodyProp )( IMimeMessage * This, /* [in] */ HBODY hBody, /* [in] */ LPCSTR pszName, /* [in] */ LPCSTR pszCriteria, /* [in] */ boolean fSubString, /* [in] */ boolean fCaseSensitive); HRESULT ( STDMETHODCALLTYPE *GetBodyProp )( IMimeMessage * This, /* [in] */ HBODY hBody, /* [in] */ LPCSTR pszName, /* [in] */ DWORD dwFlags, /* [out][in] */ LPPROPVARIANT pValue); HRESULT ( STDMETHODCALLTYPE *SetBodyProp )( IMimeMessage * This, /* [in] */ HBODY hBody, /* [in] */ LPCSTR pszName, /* [in] */ DWORD dwFlags, /* [in] */ LPCPROPVARIANT pValue); HRESULT ( STDMETHODCALLTYPE *DeleteBodyProp )( IMimeMessage * This, /* [in] */ HBODY hBody, /* [in] */ LPCSTR pszName); HRESULT ( STDMETHODCALLTYPE *SetOption )( IMimeMessage * This, /* [in] */ const TYPEDID oid, /* [in] */ LPCPROPVARIANT pValue); HRESULT ( STDMETHODCALLTYPE *GetOption )( IMimeMessage * This, /* [in] */ const TYPEDID oid, /* [out][in] */ LPPROPVARIANT pValue); HRESULT ( STDMETHODCALLTYPE *CreateWebPage )( IMimeMessage * This, /* [in] */ IStream *pRootStm, /* [in] */ LPWEBPAGEOPTIONS pOptions, /* [in] */ IMimeMessageCallback *pCallback, /* [out] */ IMoniker **ppMoniker); HRESULT ( STDMETHODCALLTYPE *GetProp )( IMimeMessage * This, /* [in] */ LPCSTR pszName, /* [in] */ DWORD dwFlags, /* [out][in] */ LPPROPVARIANT pValue); HRESULT ( STDMETHODCALLTYPE *SetProp )( IMimeMessage * This, /* [in] */ LPCSTR pszName, /* [in] */ DWORD dwFlags, /* [in] */ LPCPROPVARIANT pValue); HRESULT ( STDMETHODCALLTYPE *DeleteProp )( IMimeMessage * This, /* [in] */ LPCSTR pszName); HRESULT ( STDMETHODCALLTYPE *QueryProp )( IMimeMessage * This, /* [in] */ LPCSTR pszName, /* [in] */ LPCSTR pszCriteria, /* [in] */ boolean fSubString, /* [in] */ boolean fCaseSensitive); HRESULT ( STDMETHODCALLTYPE *GetTextBody )( IMimeMessage * This, /* [in] */ DWORD dwTxtType, /* [in] */ ENCODINGTYPE ietEncoding, /* [out] */ IStream **ppStream, /* [out] */ LPHBODY phBody); HRESULT ( STDMETHODCALLTYPE *SetTextBody )( IMimeMessage * This, /* [in] */ DWORD dwTxtType, /* [in] */ ENCODINGTYPE ietEncoding, /* [in] */ HBODY hAlternative, /* [in] */ IStream *pStream, /* [out] */ LPHBODY phBody); HRESULT ( STDMETHODCALLTYPE *AttachObject )( IMimeMessage * This, /* [in] */ REFIID riid, /* [iid_is][in] */ void *pvObject, /* [out] */ LPHBODY phBody); HRESULT ( STDMETHODCALLTYPE *AttachFile )( IMimeMessage * This, /* [in] */ LPCSTR pszFilePath, /* [in] */ IStream *pstmFile, /* [out] */ LPHBODY phBody); HRESULT ( STDMETHODCALLTYPE *AttachURL )( IMimeMessage * This, /* [in] */ LPCSTR pszBase, /* [in] */ LPCSTR pszURL, /* [in] */ DWORD dwFlags, /* [in] */ IStream *pstmURL, /* [out] */ LPSTR *ppszCIDURL, /* [out] */ LPHBODY phBody); HRESULT ( STDMETHODCALLTYPE *GetAttachments )( IMimeMessage * This, /* [out] */ ULONG *pcAttach, /* [out] */ LPHBODY *pprghAttach); HRESULT ( STDMETHODCALLTYPE *GetAddressTable )( IMimeMessage * This, /* [out] */ IMimeAddressTable **ppTable); HRESULT ( STDMETHODCALLTYPE *GetSender )( IMimeMessage * This, /* [out][in] */ LPADDRESSPROPS pAddress); HRESULT ( STDMETHODCALLTYPE *GetAddressTypes )( IMimeMessage * This, /* [in] */ DWORD dwAdrTypes, /* [in] */ DWORD dwProps, /* [out][in] */ LPADDRESSLIST pList); HRESULT ( STDMETHODCALLTYPE *GetAddressFormat )( IMimeMessage * This, /* [in] */ DWORD dwAdrType, /* [in] */ ADDRESSFORMAT format, /* [out] */ LPSTR *ppszFormat); HRESULT ( STDMETHODCALLTYPE *EnumAddressTypes )( IMimeMessage * This, /* [in] */ DWORD dwAdrTypes, /* [in] */ DWORD dwProps, /* [out] */ IMimeEnumAddressTypes **ppEnum); HRESULT ( STDMETHODCALLTYPE *SplitMessage )( IMimeMessage * This, /* [in] */ ULONG cbMaxPart, /* [out] */ IMimeMessageParts **ppParts); HRESULT ( STDMETHODCALLTYPE *GetRootMoniker )( IMimeMessage * This, /* [out] */ IMoniker **ppMoniker); END_INTERFACE } IMimeMessageVtbl; interface IMimeMessage { CONST_VTBL struct IMimeMessageVtbl *lpVtbl; }; #ifdef COBJMACROS #define IMimeMessage_QueryInterface(This,riid,ppvObject) \ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) #define IMimeMessage_AddRef(This) \ (This)->lpVtbl -> AddRef(This) #define IMimeMessage_Release(This) \ (This)->lpVtbl -> Release(This) #define IMimeMessage_GetClassID(This,pClassID) \ (This)->lpVtbl -> GetClassID(This,pClassID) #define IMimeMessage_IsDirty(This) \ (This)->lpVtbl -> IsDirty(This) #define IMimeMessage_Load(This,pStm) \ (This)->lpVtbl -> Load(This,pStm) #define IMimeMessage_Save(This,pStm,fClearDirty) \ (This)->lpVtbl -> Save(This,pStm,fClearDirty) #define IMimeMessage_GetSizeMax(This,pCbSize) \ (This)->lpVtbl -> GetSizeMax(This,pCbSize) #define IMimeMessage_InitNew(This) \ (This)->lpVtbl -> InitNew(This) #define IMimeMessage_GetMessageSource(This,ppStream,dwFlags) \ (This)->lpVtbl -> GetMessageSource(This,ppStream,dwFlags) #define IMimeMessage_GetMessageSize(This,pcbSize,dwFlags) \ (This)->lpVtbl -> GetMessageSize(This,pcbSize,dwFlags) #define IMimeMessage_LoadOffsetTable(This,pStream) \ (This)->lpVtbl -> LoadOffsetTable(This,pStream) #define IMimeMessage_SaveOffsetTable(This,pStream,dwFlags) \ (This)->lpVtbl -> SaveOffsetTable(This,pStream,dwFlags) #define IMimeMessage_GetFlags(This,pdwFlags) \ (This)->lpVtbl -> GetFlags(This,pdwFlags) #define IMimeMessage_Commit(This,dwFlags) \ (This)->lpVtbl -> Commit(This,dwFlags) #define IMimeMessage_HandsOffStorage(This) \ (This)->lpVtbl -> HandsOffStorage(This) #define IMimeMessage_BindToObject(This,hBody,riid,ppvObject) \ (This)->lpVtbl -> BindToObject(This,hBody,riid,ppvObject) #define IMimeMessage_SaveBody(This,hBody,dwFlags,pStream) \ (This)->lpVtbl -> SaveBody(This,hBody,dwFlags,pStream) #define IMimeMessage_InsertBody(This,location,hPivot,phBody) \ (This)->lpVtbl -> InsertBody(This,location,hPivot,phBody) #define IMimeMessage_GetBody(This,location,hPivot,phBody) \ (This)->lpVtbl -> GetBody(This,location,hPivot,phBody) #define IMimeMessage_DeleteBody(This,hBody,dwFlags) \ (This)->lpVtbl -> DeleteBody(This,hBody,dwFlags) #define IMimeMessage_MoveBody(This,hBody,location) \ (This)->lpVtbl -> MoveBody(This,hBody,location) #define IMimeMessage_CountBodies(This,hParent,fRecurse,pcBodies) \ (This)->lpVtbl -> CountBodies(This,hParent,fRecurse,pcBodies) #define IMimeMessage_FindFirst(This,pFindBody,phBody) \ (This)->lpVtbl -> FindFirst(This,pFindBody,phBody) #define IMimeMessage_FindNext(This,pFindBody,phBody) \ (This)->lpVtbl -> FindNext(This,pFindBody,phBody) #define IMimeMessage_ResolveURL(This,hRelated,pszBase,pszURL,dwFlags,phBody) \ (This)->lpVtbl -> ResolveURL(This,hRelated,pszBase,pszURL,dwFlags,phBody) #define IMimeMessage_ToMultipart(This,hBody,pszSubType,phMultipart) \ (This)->lpVtbl -> ToMultipart(This,hBody,pszSubType,phMultipart) #define IMimeMessage_GetBodyOffsets(This,hBody,pOffsets) \ (This)->lpVtbl -> GetBodyOffsets(This,hBody,pOffsets) #define IMimeMessage_GetCharset(This,phCharset) \ (This)->lpVtbl -> GetCharset(This,phCharset) #define IMimeMessage_SetCharset(This,hCharset,applytype) \ (This)->lpVtbl -> SetCharset(This,hCharset,applytype) #define IMimeMessage_IsBodyType(This,hBody,bodytype) \ (This)->lpVtbl -> IsBodyType(This,hBody,bodytype) #define IMimeMessage_IsContentType(This,hBody,pszPriType,pszSubType) \ (This)->lpVtbl -> IsContentType(This,hBody,pszPriType,pszSubType) #define IMimeMessage_QueryBodyProp(This,hBody,pszName,pszCriteria,fSubString,fCaseSensitive) \ (This)->lpVtbl -> QueryBodyProp(This,hBody,pszName,pszCriteria,fSubString,fCaseSensitive) #define IMimeMessage_GetBodyProp(This,hBody,pszName,dwFlags,pValue) \ (This)->lpVtbl -> GetBodyProp(This,hBody,pszName,dwFlags,pValue) #define IMimeMessage_SetBodyProp(This,hBody,pszName,dwFlags,pValue) \ (This)->lpVtbl -> SetBodyProp(This,hBody,pszName,dwFlags,pValue) #define IMimeMessage_DeleteBodyProp(This,hBody,pszName) \ (This)->lpVtbl -> DeleteBodyProp(This,hBody,pszName) #define IMimeMessage_SetOption(This,oid,pValue) \ (This)->lpVtbl -> SetOption(This,oid,pValue) #define IMimeMessage_GetOption(This,oid,pValue) \ (This)->lpVtbl -> GetOption(This,oid,pValue) #define IMimeMessage_CreateWebPage(This,pRootStm,pOptions,pCallback,ppMoniker) \ (This)->lpVtbl -> CreateWebPage(This,pRootStm,pOptions,pCallback,ppMoniker) #define IMimeMessage_GetProp(This,pszName,dwFlags,pValue) \ (This)->lpVtbl -> GetProp(This,pszName,dwFlags,pValue) #define IMimeMessage_SetProp(This,pszName,dwFlags,pValue) \ (This)->lpVtbl -> SetProp(This,pszName,dwFlags,pValue) #define IMimeMessage_DeleteProp(This,pszName) \ (This)->lpVtbl -> DeleteProp(This,pszName) #define IMimeMessage_QueryProp(This,pszName,pszCriteria,fSubString,fCaseSensitive) \ (This)->lpVtbl -> QueryProp(This,pszName,pszCriteria,fSubString,fCaseSensitive) #define IMimeMessage_GetTextBody(This,dwTxtType,ietEncoding,ppStream,phBody) \ (This)->lpVtbl -> GetTextBody(This,dwTxtType,ietEncoding,ppStream,phBody) #define IMimeMessage_SetTextBody(This,dwTxtType,ietEncoding,hAlternative,pStream,phBody) \ (This)->lpVtbl -> SetTextBody(This,dwTxtType,ietEncoding,hAlternative,pStream,phBody) #define IMimeMessage_AttachObject(This,riid,pvObject,phBody) \ (This)->lpVtbl -> AttachObject(This,riid,pvObject,phBody) #define IMimeMessage_AttachFile(This,pszFilePath,pstmFile,phBody) \ (This)->lpVtbl -> AttachFile(This,pszFilePath,pstmFile,phBody) #define IMimeMessage_AttachURL(This,pszBase,pszURL,dwFlags,pstmURL,ppszCIDURL,phBody) \ (This)->lpVtbl -> AttachURL(This,pszBase,pszURL,dwFlags,pstmURL,ppszCIDURL,phBody) #define IMimeMessage_GetAttachments(This,pcAttach,pprghAttach) \ (This)->lpVtbl -> GetAttachments(This,pcAttach,pprghAttach) #define IMimeMessage_GetAddressTable(This,ppTable) \ (This)->lpVtbl -> GetAddressTable(This,ppTable) #define IMimeMessage_GetSender(This,pAddress) \ (This)->lpVtbl -> GetSender(This,pAddress) #define IMimeMessage_GetAddressTypes(This,dwAdrTypes,dwProps,pList) \ (This)->lpVtbl -> GetAddressTypes(This,dwAdrTypes,dwProps,pList) #define IMimeMessage_GetAddressFormat(This,dwAdrType,format,ppszFormat) \ (This)->lpVtbl -> GetAddressFormat(This,dwAdrType,format,ppszFormat) #define IMimeMessage_EnumAddressTypes(This,dwAdrTypes,dwProps,ppEnum) \ (This)->lpVtbl -> EnumAddressTypes(This,dwAdrTypes,dwProps,ppEnum) #define IMimeMessage_SplitMessage(This,cbMaxPart,ppParts) \ (This)->lpVtbl -> SplitMessage(This,cbMaxPart,ppParts) #define IMimeMessage_GetRootMoniker(This,ppMoniker) \ (This)->lpVtbl -> GetRootMoniker(This,ppMoniker) #endif /* COBJMACROS */ #endif /* C style interface */ HRESULT STDMETHODCALLTYPE IMimeMessage_CreateWebPage_Proxy( IMimeMessage * This, /* [in] */ IStream *pRootStm, /* [in] */ LPWEBPAGEOPTIONS pOptions, /* [in] */ IMimeMessageCallback *pCallback, /* [out] */ IMoniker **ppMoniker); void __RPC_STUB IMimeMessage_CreateWebPage_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessage_GetProp_Proxy( IMimeMessage * This, /* [in] */ LPCSTR pszName, /* [in] */ DWORD dwFlags, /* [out][in] */ LPPROPVARIANT pValue); void __RPC_STUB IMimeMessage_GetProp_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessage_SetProp_Proxy( IMimeMessage * This, /* [in] */ LPCSTR pszName, /* [in] */ DWORD dwFlags, /* [in] */ LPCPROPVARIANT pValue); void __RPC_STUB IMimeMessage_SetProp_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessage_DeleteProp_Proxy( IMimeMessage * This, /* [in] */ LPCSTR pszName); void __RPC_STUB IMimeMessage_DeleteProp_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessage_QueryProp_Proxy( IMimeMessage * This, /* [in] */ LPCSTR pszName, /* [in] */ LPCSTR pszCriteria, /* [in] */ boolean fSubString, /* [in] */ boolean fCaseSensitive); void __RPC_STUB IMimeMessage_QueryProp_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessage_GetTextBody_Proxy( IMimeMessage * This, /* [in] */ DWORD dwTxtType, /* [in] */ ENCODINGTYPE ietEncoding, /* [out] */ IStream **ppStream, /* [out] */ LPHBODY phBody); void __RPC_STUB IMimeMessage_GetTextBody_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessage_SetTextBody_Proxy( IMimeMessage * This, /* [in] */ DWORD dwTxtType, /* [in] */ ENCODINGTYPE ietEncoding, /* [in] */ HBODY hAlternative, /* [in] */ IStream *pStream, /* [out] */ LPHBODY phBody); void __RPC_STUB IMimeMessage_SetTextBody_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessage_AttachObject_Proxy( IMimeMessage * This, /* [in] */ REFIID riid, /* [iid_is][in] */ void *pvObject, /* [out] */ LPHBODY phBody); void __RPC_STUB IMimeMessage_AttachObject_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessage_AttachFile_Proxy( IMimeMessage * This, /* [in] */ LPCSTR pszFilePath, /* [in] */ IStream *pstmFile, /* [out] */ LPHBODY phBody); void __RPC_STUB IMimeMessage_AttachFile_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessage_AttachURL_Proxy( IMimeMessage * This, /* [in] */ LPCSTR pszBase, /* [in] */ LPCSTR pszURL, /* [in] */ DWORD dwFlags, /* [in] */ IStream *pstmURL, /* [out] */ LPSTR *ppszCIDURL, /* [out] */ LPHBODY phBody); void __RPC_STUB IMimeMessage_AttachURL_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessage_GetAttachments_Proxy( IMimeMessage * This, /* [out] */ ULONG *pcAttach, /* [out] */ LPHBODY *pprghAttach); void __RPC_STUB IMimeMessage_GetAttachments_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessage_GetAddressTable_Proxy( IMimeMessage * This, /* [out] */ IMimeAddressTable **ppTable); void __RPC_STUB IMimeMessage_GetAddressTable_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessage_GetSender_Proxy( IMimeMessage * This, /* [out][in] */ LPADDRESSPROPS pAddress); void __RPC_STUB IMimeMessage_GetSender_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessage_GetAddressTypes_Proxy( IMimeMessage * This, /* [in] */ DWORD dwAdrTypes, /* [in] */ DWORD dwProps, /* [out][in] */ LPADDRESSLIST pList); void __RPC_STUB IMimeMessage_GetAddressTypes_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessage_GetAddressFormat_Proxy( IMimeMessage * This, /* [in] */ DWORD dwAdrType, /* [in] */ ADDRESSFORMAT format, /* [out] */ LPSTR *ppszFormat); void __RPC_STUB IMimeMessage_GetAddressFormat_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessage_EnumAddressTypes_Proxy( IMimeMessage * This, /* [in] */ DWORD dwAdrTypes, /* [in] */ DWORD dwProps, /* [out] */ IMimeEnumAddressTypes **ppEnum); void __RPC_STUB IMimeMessage_EnumAddressTypes_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessage_SplitMessage_Proxy( IMimeMessage * This, /* [in] */ ULONG cbMaxPart, /* [out] */ IMimeMessageParts **ppParts); void __RPC_STUB IMimeMessage_SplitMessage_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessage_GetRootMoniker_Proxy( IMimeMessage * This, /* [out] */ IMoniker **ppMoniker); void __RPC_STUB IMimeMessage_GetRootMoniker_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #endif /* __IMimeMessage_INTERFACE_DEFINED__ */ #ifndef __IMimeMessageCallback_INTERFACE_DEFINED__ #define __IMimeMessageCallback_INTERFACE_DEFINED__ /* interface IMimeMessageCallback */ /* [object][helpstring][uuid] */ typedef IMimeMessageCallback *LPMIMEMESSAGECALLBACK; EXTERN_C const IID IID_IMimeMessageCallback; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("761AA641-7BDA-11d1-8AA9-00C04FB951F3") IMimeMessageCallback : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE OnWebPageSplitter( /* [in] */ DWORD cInlined, /* [in] */ IStream *ppStream) = 0; }; #else /* C style interface */ typedef struct IMimeMessageCallbackVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMimeMessageCallback * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMimeMessageCallback * This); ULONG ( STDMETHODCALLTYPE *Release )( IMimeMessageCallback * This); HRESULT ( STDMETHODCALLTYPE *OnWebPageSplitter )( IMimeMessageCallback * This, /* [in] */ DWORD cInlined, /* [in] */ IStream *ppStream); END_INTERFACE } IMimeMessageCallbackVtbl; interface IMimeMessageCallback { CONST_VTBL struct IMimeMessageCallbackVtbl *lpVtbl; }; #ifdef COBJMACROS #define IMimeMessageCallback_QueryInterface(This,riid,ppvObject) \ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) #define IMimeMessageCallback_AddRef(This) \ (This)->lpVtbl -> AddRef(This) #define IMimeMessageCallback_Release(This) \ (This)->lpVtbl -> Release(This) #define IMimeMessageCallback_OnWebPageSplitter(This,cInlined,ppStream) \ (This)->lpVtbl -> OnWebPageSplitter(This,cInlined,ppStream) #endif /* COBJMACROS */ #endif /* C style interface */ HRESULT STDMETHODCALLTYPE IMimeMessageCallback_OnWebPageSplitter_Proxy( IMimeMessageCallback * This, /* [in] */ DWORD cInlined, /* [in] */ IStream *ppStream); void __RPC_STUB IMimeMessageCallback_OnWebPageSplitter_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #endif /* __IMimeMessageCallback_INTERFACE_DEFINED__ */ #ifndef __IPersistMime_INTERFACE_DEFINED__ #define __IPersistMime_INTERFACE_DEFINED__ /* interface IPersistMime */ /* [object][helpstring][uuid] */ typedef IPersistMime *LPPERSISTMIME; #define PMS_HTML 0x00000001 #define PMS_TEXT 0x00000002 EXTERN_C const IID IID_IPersistMime; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("DE4AD8DA-555F-11d1-8DD0-00C04FB951F9") IPersistMime : public IPersist { public: virtual HRESULT STDMETHODCALLTYPE Load( /* [in] */ IMimeMessage *pMsg) = 0; virtual HRESULT STDMETHODCALLTYPE Save( /* [in] */ IMimeMessage *pMsg, /* [in] */ DWORD dwFlags) = 0; }; #else /* C style interface */ typedef struct IPersistMimeVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IPersistMime * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IPersistMime * This); ULONG ( STDMETHODCALLTYPE *Release )( IPersistMime * This); HRESULT ( STDMETHODCALLTYPE *GetClassID )( IPersistMime * This, /* [out] */ CLSID *pClassID); HRESULT ( STDMETHODCALLTYPE *Load )( IPersistMime * This, /* [in] */ IMimeMessage *pMsg); HRESULT ( STDMETHODCALLTYPE *Save )( IPersistMime * This, /* [in] */ IMimeMessage *pMsg, /* [in] */ DWORD dwFlags); END_INTERFACE } IPersistMimeVtbl; interface IPersistMime { CONST_VTBL struct IPersistMimeVtbl *lpVtbl; }; #ifdef COBJMACROS #define IPersistMime_QueryInterface(This,riid,ppvObject) \ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) #define IPersistMime_AddRef(This) \ (This)->lpVtbl -> AddRef(This) #define IPersistMime_Release(This) \ (This)->lpVtbl -> Release(This) #define IPersistMime_GetClassID(This,pClassID) \ (This)->lpVtbl -> GetClassID(This,pClassID) #define IPersistMime_Load(This,pMsg) \ (This)->lpVtbl -> Load(This,pMsg) #define IPersistMime_Save(This,pMsg,dwFlags) \ (This)->lpVtbl -> Save(This,pMsg,dwFlags) #endif /* COBJMACROS */ #endif /* C style interface */ HRESULT STDMETHODCALLTYPE IPersistMime_Load_Proxy( IPersistMime * This, /* [in] */ IMimeMessage *pMsg); void __RPC_STUB IPersistMime_Load_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IPersistMime_Save_Proxy( IPersistMime * This, /* [in] */ IMimeMessage *pMsg, /* [in] */ DWORD dwFlags); void __RPC_STUB IPersistMime_Save_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #endif /* __IPersistMime_INTERFACE_DEFINED__ */ #ifndef __IMimeMessageParts_INTERFACE_DEFINED__ #define __IMimeMessageParts_INTERFACE_DEFINED__ /* interface IMimeMessageParts */ /* [object][helpstring][uuid] */ typedef /* [unique] */ IMimeMessageParts *LPMIMEMESSAGEPARTS; EXTERN_C const IID IID_IMimeMessageParts; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("C558834F-7F86-11d0-8252-00C04FD85AB4") IMimeMessageParts : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE CombineParts( /* [out] */ IMimeMessage **ppMessage) = 0; virtual HRESULT STDMETHODCALLTYPE AddPart( /* [in] */ IMimeMessage *pMessage) = 0; virtual HRESULT STDMETHODCALLTYPE SetMaxParts( /* [in] */ ULONG cParts) = 0; virtual HRESULT STDMETHODCALLTYPE CountParts( /* [out] */ ULONG *pcParts) = 0; virtual HRESULT STDMETHODCALLTYPE EnumParts( /* [out] */ IMimeEnumMessageParts **ppEnum) = 0; }; #else /* C style interface */ typedef struct IMimeMessagePartsVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMimeMessageParts * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMimeMessageParts * This); ULONG ( STDMETHODCALLTYPE *Release )( IMimeMessageParts * This); HRESULT ( STDMETHODCALLTYPE *CombineParts )( IMimeMessageParts * This, /* [out] */ IMimeMessage **ppMessage); HRESULT ( STDMETHODCALLTYPE *AddPart )( IMimeMessageParts * This, /* [in] */ IMimeMessage *pMessage); HRESULT ( STDMETHODCALLTYPE *SetMaxParts )( IMimeMessageParts * This, /* [in] */ ULONG cParts); HRESULT ( STDMETHODCALLTYPE *CountParts )( IMimeMessageParts * This, /* [out] */ ULONG *pcParts); HRESULT ( STDMETHODCALLTYPE *EnumParts )( IMimeMessageParts * This, /* [out] */ IMimeEnumMessageParts **ppEnum); END_INTERFACE } IMimeMessagePartsVtbl; interface IMimeMessageParts { CONST_VTBL struct IMimeMessagePartsVtbl *lpVtbl; }; #ifdef COBJMACROS #define IMimeMessageParts_QueryInterface(This,riid,ppvObject) \ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) #define IMimeMessageParts_AddRef(This) \ (This)->lpVtbl -> AddRef(This) #define IMimeMessageParts_Release(This) \ (This)->lpVtbl -> Release(This) #define IMimeMessageParts_CombineParts(This,ppMessage) \ (This)->lpVtbl -> CombineParts(This,ppMessage) #define IMimeMessageParts_AddPart(This,pMessage) \ (This)->lpVtbl -> AddPart(This,pMessage) #define IMimeMessageParts_SetMaxParts(This,cParts) \ (This)->lpVtbl -> SetMaxParts(This,cParts) #define IMimeMessageParts_CountParts(This,pcParts) \ (This)->lpVtbl -> CountParts(This,pcParts) #define IMimeMessageParts_EnumParts(This,ppEnum) \ (This)->lpVtbl -> EnumParts(This,ppEnum) #endif /* COBJMACROS */ #endif /* C style interface */ HRESULT STDMETHODCALLTYPE IMimeMessageParts_CombineParts_Proxy( IMimeMessageParts * This, /* [out] */ IMimeMessage **ppMessage); void __RPC_STUB IMimeMessageParts_CombineParts_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessageParts_AddPart_Proxy( IMimeMessageParts * This, /* [in] */ IMimeMessage *pMessage); void __RPC_STUB IMimeMessageParts_AddPart_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessageParts_SetMaxParts_Proxy( IMimeMessageParts * This, /* [in] */ ULONG cParts); void __RPC_STUB IMimeMessageParts_SetMaxParts_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessageParts_CountParts_Proxy( IMimeMessageParts * This, /* [out] */ ULONG *pcParts); void __RPC_STUB IMimeMessageParts_CountParts_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeMessageParts_EnumParts_Proxy( IMimeMessageParts * This, /* [out] */ IMimeEnumMessageParts **ppEnum); void __RPC_STUB IMimeMessageParts_EnumParts_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #endif /* __IMimeMessageParts_INTERFACE_DEFINED__ */ #ifndef __IMimeEnumHeaderRows_INTERFACE_DEFINED__ #define __IMimeEnumHeaderRows_INTERFACE_DEFINED__ /* interface IMimeEnumHeaderRows */ /* [object][helpstring][uuid] */ typedef /* [unique] */ IMimeEnumHeaderRows *LPMIMEENUMHEADERROWS; typedef struct tagENUMHEADERROW { HHEADERROW hRow; LPSTR pszHeader; LPSTR pszData; ULONG cchData; DWORD dwReserved; } ENUMHEADERROW; typedef struct tagENUMHEADERROW *LPENUMHEADERROW; EXTERN_C const IID IID_IMimeEnumHeaderRows; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("C558834D-7F86-11d0-8252-00C04FD85AB4") IMimeEnumHeaderRows : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG cFetch, /* [out][in] */ LPENUMHEADERROW prgRow, /* [out] */ ULONG *pcFetched) = 0; virtual HRESULT STDMETHODCALLTYPE Skip( /* [in] */ ULONG cItems) = 0; virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0; virtual HRESULT STDMETHODCALLTYPE Clone( /* [out] */ IMimeEnumHeaderRows **ppEnum) = 0; virtual HRESULT STDMETHODCALLTYPE Count( /* [out] */ ULONG *pcItems) = 0; }; #else /* C style interface */ typedef struct IMimeEnumHeaderRowsVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMimeEnumHeaderRows * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMimeEnumHeaderRows * This); ULONG ( STDMETHODCALLTYPE *Release )( IMimeEnumHeaderRows * This); HRESULT ( STDMETHODCALLTYPE *Next )( IMimeEnumHeaderRows * This, /* [in] */ ULONG cFetch, /* [out][in] */ LPENUMHEADERROW prgRow, /* [out] */ ULONG *pcFetched); HRESULT ( STDMETHODCALLTYPE *Skip )( IMimeEnumHeaderRows * This, /* [in] */ ULONG cItems); HRESULT ( STDMETHODCALLTYPE *Reset )( IMimeEnumHeaderRows * This); HRESULT ( STDMETHODCALLTYPE *Clone )( IMimeEnumHeaderRows * This, /* [out] */ IMimeEnumHeaderRows **ppEnum); HRESULT ( STDMETHODCALLTYPE *Count )( IMimeEnumHeaderRows * This, /* [out] */ ULONG *pcItems); END_INTERFACE } IMimeEnumHeaderRowsVtbl; interface IMimeEnumHeaderRows { CONST_VTBL struct IMimeEnumHeaderRowsVtbl *lpVtbl; }; #ifdef COBJMACROS #define IMimeEnumHeaderRows_QueryInterface(This,riid,ppvObject) \ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) #define IMimeEnumHeaderRows_AddRef(This) \ (This)->lpVtbl -> AddRef(This) #define IMimeEnumHeaderRows_Release(This) \ (This)->lpVtbl -> Release(This) #define IMimeEnumHeaderRows_Next(This,cFetch,prgRow,pcFetched) \ (This)->lpVtbl -> Next(This,cFetch,prgRow,pcFetched) #define IMimeEnumHeaderRows_Skip(This,cItems) \ (This)->lpVtbl -> Skip(This,cItems) #define IMimeEnumHeaderRows_Reset(This) \ (This)->lpVtbl -> Reset(This) #define IMimeEnumHeaderRows_Clone(This,ppEnum) \ (This)->lpVtbl -> Clone(This,ppEnum) #define IMimeEnumHeaderRows_Count(This,pcItems) \ (This)->lpVtbl -> Count(This,pcItems) #endif /* COBJMACROS */ #endif /* C style interface */ HRESULT STDMETHODCALLTYPE IMimeEnumHeaderRows_Next_Proxy( IMimeEnumHeaderRows * This, /* [in] */ ULONG cFetch, /* [out][in] */ LPENUMHEADERROW prgRow, /* [out] */ ULONG *pcFetched); void __RPC_STUB IMimeEnumHeaderRows_Next_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeEnumHeaderRows_Skip_Proxy( IMimeEnumHeaderRows * This, /* [in] */ ULONG cItems); void __RPC_STUB IMimeEnumHeaderRows_Skip_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeEnumHeaderRows_Reset_Proxy( IMimeEnumHeaderRows * This); void __RPC_STUB IMimeEnumHeaderRows_Reset_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeEnumHeaderRows_Clone_Proxy( IMimeEnumHeaderRows * This, /* [out] */ IMimeEnumHeaderRows **ppEnum); void __RPC_STUB IMimeEnumHeaderRows_Clone_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeEnumHeaderRows_Count_Proxy( IMimeEnumHeaderRows * This, /* [out] */ ULONG *pcItems); void __RPC_STUB IMimeEnumHeaderRows_Count_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #endif /* __IMimeEnumHeaderRows_INTERFACE_DEFINED__ */ #ifndef __IMimeEnumProperties_INTERFACE_DEFINED__ #define __IMimeEnumProperties_INTERFACE_DEFINED__ /* interface IMimeEnumProperties */ /* [object][helpstring][uuid] */ typedef /* [unique] */ IMimeEnumProperties *LPMIMEENUMPROPERTIES; typedef struct tagENUMPROPERTY { LPSTR pszName; HHEADERROW hRow; DWORD dwPropId; } ENUMPROPERTY; typedef struct tagENUMPROPERTY *LPENUMPROPERTY; EXTERN_C const IID IID_IMimeEnumProperties; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("FD853CEE-7F86-11d0-8252-00C04FD85AB4") IMimeEnumProperties : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG cFetch, /* [out][in] */ LPENUMPROPERTY prgProp, /* [out] */ ULONG *pcFetched) = 0; virtual HRESULT STDMETHODCALLTYPE Skip( /* [in] */ ULONG cItems) = 0; virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0; virtual HRESULT STDMETHODCALLTYPE Clone( /* [out] */ IMimeEnumProperties **ppEnum) = 0; virtual HRESULT STDMETHODCALLTYPE Count( /* [out] */ ULONG *pcItems) = 0; }; #else /* C style interface */ typedef struct IMimeEnumPropertiesVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMimeEnumProperties * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMimeEnumProperties * This); ULONG ( STDMETHODCALLTYPE *Release )( IMimeEnumProperties * This); HRESULT ( STDMETHODCALLTYPE *Next )( IMimeEnumProperties * This, /* [in] */ ULONG cFetch, /* [out][in] */ LPENUMPROPERTY prgProp, /* [out] */ ULONG *pcFetched); HRESULT ( STDMETHODCALLTYPE *Skip )( IMimeEnumProperties * This, /* [in] */ ULONG cItems); HRESULT ( STDMETHODCALLTYPE *Reset )( IMimeEnumProperties * This); HRESULT ( STDMETHODCALLTYPE *Clone )( IMimeEnumProperties * This, /* [out] */ IMimeEnumProperties **ppEnum); HRESULT ( STDMETHODCALLTYPE *Count )( IMimeEnumProperties * This, /* [out] */ ULONG *pcItems); END_INTERFACE } IMimeEnumPropertiesVtbl; interface IMimeEnumProperties { CONST_VTBL struct IMimeEnumPropertiesVtbl *lpVtbl; }; #ifdef COBJMACROS #define IMimeEnumProperties_QueryInterface(This,riid,ppvObject) \ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) #define IMimeEnumProperties_AddRef(This) \ (This)->lpVtbl -> AddRef(This) #define IMimeEnumProperties_Release(This) \ (This)->lpVtbl -> Release(This) #define IMimeEnumProperties_Next(This,cFetch,prgProp,pcFetched) \ (This)->lpVtbl -> Next(This,cFetch,prgProp,pcFetched) #define IMimeEnumProperties_Skip(This,cItems) \ (This)->lpVtbl -> Skip(This,cItems) #define IMimeEnumProperties_Reset(This) \ (This)->lpVtbl -> Reset(This) #define IMimeEnumProperties_Clone(This,ppEnum) \ (This)->lpVtbl -> Clone(This,ppEnum) #define IMimeEnumProperties_Count(This,pcItems) \ (This)->lpVtbl -> Count(This,pcItems) #endif /* COBJMACROS */ #endif /* C style interface */ HRESULT STDMETHODCALLTYPE IMimeEnumProperties_Next_Proxy( IMimeEnumProperties * This, /* [in] */ ULONG cFetch, /* [out][in] */ LPENUMPROPERTY prgProp, /* [out] */ ULONG *pcFetched); void __RPC_STUB IMimeEnumProperties_Next_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeEnumProperties_Skip_Proxy( IMimeEnumProperties * This, /* [in] */ ULONG cItems); void __RPC_STUB IMimeEnumProperties_Skip_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeEnumProperties_Reset_Proxy( IMimeEnumProperties * This); void __RPC_STUB IMimeEnumProperties_Reset_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeEnumProperties_Clone_Proxy( IMimeEnumProperties * This, /* [out] */ IMimeEnumProperties **ppEnum); void __RPC_STUB IMimeEnumProperties_Clone_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeEnumProperties_Count_Proxy( IMimeEnumProperties * This, /* [out] */ ULONG *pcItems); void __RPC_STUB IMimeEnumProperties_Count_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #endif /* __IMimeEnumProperties_INTERFACE_DEFINED__ */ #ifndef __IMimeEnumAddressTypes_INTERFACE_DEFINED__ #define __IMimeEnumAddressTypes_INTERFACE_DEFINED__ /* interface IMimeEnumAddressTypes */ /* [object][helpstring][uuid] */ typedef /* [unique] */ IMimeEnumAddressTypes *LPMIMEENUMADDRESSTYPES; EXTERN_C const IID IID_IMimeEnumAddressTypes; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("C5588354-7F86-11d0-8252-00C04FD85AB4") IMimeEnumAddressTypes : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG cFetch, /* [out][in] */ LPADDRESSPROPS prgAdr, /* [out] */ ULONG *pcFetched) = 0; virtual HRESULT STDMETHODCALLTYPE Skip( /* [in] */ ULONG cItems) = 0; virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0; virtual HRESULT STDMETHODCALLTYPE Clone( /* [out] */ IMimeEnumAddressTypes **ppEnum) = 0; virtual HRESULT STDMETHODCALLTYPE Count( /* [out] */ ULONG *pcItems) = 0; }; #else /* C style interface */ typedef struct IMimeEnumAddressTypesVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMimeEnumAddressTypes * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMimeEnumAddressTypes * This); ULONG ( STDMETHODCALLTYPE *Release )( IMimeEnumAddressTypes * This); HRESULT ( STDMETHODCALLTYPE *Next )( IMimeEnumAddressTypes * This, /* [in] */ ULONG cFetch, /* [out][in] */ LPADDRESSPROPS prgAdr, /* [out] */ ULONG *pcFetched); HRESULT ( STDMETHODCALLTYPE *Skip )( IMimeEnumAddressTypes * This, /* [in] */ ULONG cItems); HRESULT ( STDMETHODCALLTYPE *Reset )( IMimeEnumAddressTypes * This); HRESULT ( STDMETHODCALLTYPE *Clone )( IMimeEnumAddressTypes * This, /* [out] */ IMimeEnumAddressTypes **ppEnum); HRESULT ( STDMETHODCALLTYPE *Count )( IMimeEnumAddressTypes * This, /* [out] */ ULONG *pcItems); END_INTERFACE } IMimeEnumAddressTypesVtbl; interface IMimeEnumAddressTypes { CONST_VTBL struct IMimeEnumAddressTypesVtbl *lpVtbl; }; #ifdef COBJMACROS #define IMimeEnumAddressTypes_QueryInterface(This,riid,ppvObject) \ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) #define IMimeEnumAddressTypes_AddRef(This) \ (This)->lpVtbl -> AddRef(This) #define IMimeEnumAddressTypes_Release(This) \ (This)->lpVtbl -> Release(This) #define IMimeEnumAddressTypes_Next(This,cFetch,prgAdr,pcFetched) \ (This)->lpVtbl -> Next(This,cFetch,prgAdr,pcFetched) #define IMimeEnumAddressTypes_Skip(This,cItems) \ (This)->lpVtbl -> Skip(This,cItems) #define IMimeEnumAddressTypes_Reset(This) \ (This)->lpVtbl -> Reset(This) #define IMimeEnumAddressTypes_Clone(This,ppEnum) \ (This)->lpVtbl -> Clone(This,ppEnum) #define IMimeEnumAddressTypes_Count(This,pcItems) \ (This)->lpVtbl -> Count(This,pcItems) #endif /* COBJMACROS */ #endif /* C style interface */ HRESULT STDMETHODCALLTYPE IMimeEnumAddressTypes_Next_Proxy( IMimeEnumAddressTypes * This, /* [in] */ ULONG cFetch, /* [out][in] */ LPADDRESSPROPS prgAdr, /* [out] */ ULONG *pcFetched); void __RPC_STUB IMimeEnumAddressTypes_Next_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeEnumAddressTypes_Skip_Proxy( IMimeEnumAddressTypes * This, /* [in] */ ULONG cItems); void __RPC_STUB IMimeEnumAddressTypes_Skip_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeEnumAddressTypes_Reset_Proxy( IMimeEnumAddressTypes * This); void __RPC_STUB IMimeEnumAddressTypes_Reset_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeEnumAddressTypes_Clone_Proxy( IMimeEnumAddressTypes * This, /* [out] */ IMimeEnumAddressTypes **ppEnum); void __RPC_STUB IMimeEnumAddressTypes_Clone_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeEnumAddressTypes_Count_Proxy( IMimeEnumAddressTypes * This, /* [out] */ ULONG *pcItems); void __RPC_STUB IMimeEnumAddressTypes_Count_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #endif /* __IMimeEnumAddressTypes_INTERFACE_DEFINED__ */ #ifndef __IMimeEnumMessageParts_INTERFACE_DEFINED__ #define __IMimeEnumMessageParts_INTERFACE_DEFINED__ /* interface IMimeEnumMessageParts */ /* [object][helpstring][uuid] */ typedef /* [unique] */ IMimeEnumMessageParts *LPMIMEENUMMESSAGEPARTS; EXTERN_C const IID IID_IMimeEnumMessageParts; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("C5588350-7F86-11d0-8252-00C04FD85AB4") IMimeEnumMessageParts : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG cFetch, /* [out][in] */ IMimeMessage **prgpMessage, /* [out] */ ULONG *pcFetched) = 0; virtual HRESULT STDMETHODCALLTYPE Skip( /* [in] */ ULONG cItems) = 0; virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0; virtual HRESULT STDMETHODCALLTYPE Clone( /* [out] */ IMimeEnumMessageParts **ppEnum) = 0; virtual HRESULT STDMETHODCALLTYPE Count( /* [out] */ ULONG *pcItems) = 0; }; #else /* C style interface */ typedef struct IMimeEnumMessagePartsVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMimeEnumMessageParts * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMimeEnumMessageParts * This); ULONG ( STDMETHODCALLTYPE *Release )( IMimeEnumMessageParts * This); HRESULT ( STDMETHODCALLTYPE *Next )( IMimeEnumMessageParts * This, /* [in] */ ULONG cFetch, /* [out][in] */ IMimeMessage **prgpMessage, /* [out] */ ULONG *pcFetched); HRESULT ( STDMETHODCALLTYPE *Skip )( IMimeEnumMessageParts * This, /* [in] */ ULONG cItems); HRESULT ( STDMETHODCALLTYPE *Reset )( IMimeEnumMessageParts * This); HRESULT ( STDMETHODCALLTYPE *Clone )( IMimeEnumMessageParts * This, /* [out] */ IMimeEnumMessageParts **ppEnum); HRESULT ( STDMETHODCALLTYPE *Count )( IMimeEnumMessageParts * This, /* [out] */ ULONG *pcItems); END_INTERFACE } IMimeEnumMessagePartsVtbl; interface IMimeEnumMessageParts { CONST_VTBL struct IMimeEnumMessagePartsVtbl *lpVtbl; }; #ifdef COBJMACROS #define IMimeEnumMessageParts_QueryInterface(This,riid,ppvObject) \ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) #define IMimeEnumMessageParts_AddRef(This) \ (This)->lpVtbl -> AddRef(This) #define IMimeEnumMessageParts_Release(This) \ (This)->lpVtbl -> Release(This) #define IMimeEnumMessageParts_Next(This,cFetch,prgpMessage,pcFetched) \ (This)->lpVtbl -> Next(This,cFetch,prgpMessage,pcFetched) #define IMimeEnumMessageParts_Skip(This,cItems) \ (This)->lpVtbl -> Skip(This,cItems) #define IMimeEnumMessageParts_Reset(This) \ (This)->lpVtbl -> Reset(This) #define IMimeEnumMessageParts_Clone(This,ppEnum) \ (This)->lpVtbl -> Clone(This,ppEnum) #define IMimeEnumMessageParts_Count(This,pcItems) \ (This)->lpVtbl -> Count(This,pcItems) #endif /* COBJMACROS */ #endif /* C style interface */ HRESULT STDMETHODCALLTYPE IMimeEnumMessageParts_Next_Proxy( IMimeEnumMessageParts * This, /* [in] */ ULONG cFetch, /* [out][in] */ IMimeMessage **prgpMessage, /* [out] */ ULONG *pcFetched); void __RPC_STUB IMimeEnumMessageParts_Next_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeEnumMessageParts_Skip_Proxy( IMimeEnumMessageParts * This, /* [in] */ ULONG cItems); void __RPC_STUB IMimeEnumMessageParts_Skip_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeEnumMessageParts_Reset_Proxy( IMimeEnumMessageParts * This); void __RPC_STUB IMimeEnumMessageParts_Reset_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeEnumMessageParts_Clone_Proxy( IMimeEnumMessageParts * This, /* [out] */ IMimeEnumMessageParts **ppEnum); void __RPC_STUB IMimeEnumMessageParts_Clone_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeEnumMessageParts_Count_Proxy( IMimeEnumMessageParts * This, /* [out] */ ULONG *pcItems); void __RPC_STUB IMimeEnumMessageParts_Count_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #endif /* __IMimeEnumMessageParts_INTERFACE_DEFINED__ */ #ifndef __IHashTable_INTERFACE_DEFINED__ #define __IHashTable_INTERFACE_DEFINED__ /* interface IHashTable */ /* [object][helpstring][uuid] */ typedef /* [unique] */ IHashTable *LPHASHTABLE; #define HF_NO_DUPLICATES ( 0x1 ) EXTERN_C const IID IID_IHashTable; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("64577981-86D7-11d1-BDFC-00C04FA31009") IHashTable : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE Init( /* [in] */ DWORD dwSize, /* [in] */ BOOL fDupeKeys) = 0; virtual HRESULT STDMETHODCALLTYPE Insert( /* [in] */ LPSTR psz, /* [in] */ LPVOID pv, /* [in] */ DWORD dwFlags) = 0; virtual HRESULT STDMETHODCALLTYPE Replace( /* [in] */ LPSTR psz, /* [in] */ LPVOID pv) = 0; virtual HRESULT STDMETHODCALLTYPE Find( /* [in] */ LPSTR psz, /* [in] */ BOOL fRemove, /* [out] */ LPVOID *ppv) = 0; virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0; virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG cFetch, /* [out][in] */ LPVOID **prgpv, /* [out] */ ULONG *pcFetched) = 0; }; #else /* C style interface */ typedef struct IHashTableVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IHashTable * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IHashTable * This); ULONG ( STDMETHODCALLTYPE *Release )( IHashTable * This); HRESULT ( STDMETHODCALLTYPE *Init )( IHashTable * This, /* [in] */ DWORD dwSize, /* [in] */ BOOL fDupeKeys); HRESULT ( STDMETHODCALLTYPE *Insert )( IHashTable * This, /* [in] */ LPSTR psz, /* [in] */ LPVOID pv, /* [in] */ DWORD dwFlags); HRESULT ( STDMETHODCALLTYPE *Replace )( IHashTable * This, /* [in] */ LPSTR psz, /* [in] */ LPVOID pv); HRESULT ( STDMETHODCALLTYPE *Find )( IHashTable * This, /* [in] */ LPSTR psz, /* [in] */ BOOL fRemove, /* [out] */ LPVOID *ppv); HRESULT ( STDMETHODCALLTYPE *Reset )( IHashTable * This); HRESULT ( STDMETHODCALLTYPE *Next )( IHashTable * This, /* [in] */ ULONG cFetch, /* [out][in] */ LPVOID **prgpv, /* [out] */ ULONG *pcFetched); END_INTERFACE } IHashTableVtbl; interface IHashTable { CONST_VTBL struct IHashTableVtbl *lpVtbl; }; #ifdef COBJMACROS #define IHashTable_QueryInterface(This,riid,ppvObject) \ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) #define IHashTable_AddRef(This) \ (This)->lpVtbl -> AddRef(This) #define IHashTable_Release(This) \ (This)->lpVtbl -> Release(This) #define IHashTable_Init(This,dwSize,fDupeKeys) \ (This)->lpVtbl -> Init(This,dwSize,fDupeKeys) #define IHashTable_Insert(This,psz,pv,dwFlags) \ (This)->lpVtbl -> Insert(This,psz,pv,dwFlags) #define IHashTable_Replace(This,psz,pv) \ (This)->lpVtbl -> Replace(This,psz,pv) #define IHashTable_Find(This,psz,fRemove,ppv) \ (This)->lpVtbl -> Find(This,psz,fRemove,ppv) #define IHashTable_Reset(This) \ (This)->lpVtbl -> Reset(This) #define IHashTable_Next(This,cFetch,prgpv,pcFetched) \ (This)->lpVtbl -> Next(This,cFetch,prgpv,pcFetched) #endif /* COBJMACROS */ #endif /* C style interface */ HRESULT STDMETHODCALLTYPE IHashTable_Init_Proxy( IHashTable * This, /* [in] */ DWORD dwSize, /* [in] */ BOOL fDupeKeys); void __RPC_STUB IHashTable_Init_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IHashTable_Insert_Proxy( IHashTable * This, /* [in] */ LPSTR psz, /* [in] */ LPVOID pv, /* [in] */ DWORD dwFlags); void __RPC_STUB IHashTable_Insert_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IHashTable_Replace_Proxy( IHashTable * This, /* [in] */ LPSTR psz, /* [in] */ LPVOID pv); void __RPC_STUB IHashTable_Replace_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IHashTable_Find_Proxy( IHashTable * This, /* [in] */ LPSTR psz, /* [in] */ BOOL fRemove, /* [out] */ LPVOID *ppv); void __RPC_STUB IHashTable_Find_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IHashTable_Reset_Proxy( IHashTable * This); void __RPC_STUB IHashTable_Reset_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IHashTable_Next_Proxy( IHashTable * This, /* [in] */ ULONG cFetch, /* [out][in] */ LPVOID **prgpv, /* [out] */ ULONG *pcFetched); void __RPC_STUB IHashTable_Next_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #endif /* __IHashTable_INTERFACE_DEFINED__ */ #ifndef __IMimeAllocator_INTERFACE_DEFINED__ #define __IMimeAllocator_INTERFACE_DEFINED__ /* interface IMimeAllocator */ /* [object][helpstring][uuid] */ typedef /* [unique] */ IMimeAllocator *LPMIMEALLOCATOR; EXTERN_C const IID IID_IMimeAllocator; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("C5588351-7F86-11d0-8252-00C04FD85AB4") IMimeAllocator : public IMalloc { public: virtual HRESULT STDMETHODCALLTYPE FreeParamInfoArray( /* [in] */ ULONG cParams, /* [in] */ LPMIMEPARAMINFO prgParam, /* [in] */ boolean fFreeArray) = 0; virtual HRESULT STDMETHODCALLTYPE FreeAddressList( /* [out][in] */ LPADDRESSLIST pList) = 0; virtual HRESULT STDMETHODCALLTYPE FreeAddressProps( /* [out][in] */ LPADDRESSPROPS pAddress) = 0; virtual HRESULT STDMETHODCALLTYPE ReleaseObjects( /* [in] */ ULONG cObjects, /* [in] */ IUnknown **prgpUnknown, /* [in] */ boolean fFreeArray) = 0; virtual HRESULT STDMETHODCALLTYPE FreeEnumHeaderRowArray( /* [in] */ ULONG cRows, /* [in] */ LPENUMHEADERROW prgRow, /* [in] */ boolean fFreeArray) = 0; virtual HRESULT STDMETHODCALLTYPE FreeEnumPropertyArray( /* [in] */ ULONG cProps, /* [in] */ LPENUMPROPERTY prgProp, /* [in] */ boolean fFreeArray) = 0; virtual HRESULT STDMETHODCALLTYPE FreeThumbprint( /* [in] */ THUMBBLOB *pthumbprint) = 0; virtual HRESULT STDMETHODCALLTYPE PropVariantClear( /* [in] */ LPPROPVARIANT pProp) = 0; }; #else /* C style interface */ typedef struct IMimeAllocatorVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMimeAllocator * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMimeAllocator * This); ULONG ( STDMETHODCALLTYPE *Release )( IMimeAllocator * This); void *( STDMETHODCALLTYPE *Alloc )( IMimeAllocator * This, /* [in] */ SIZE_T cb); void *( STDMETHODCALLTYPE *Realloc )( IMimeAllocator * This, /* [in] */ void *pv, /* [in] */ SIZE_T cb); void ( STDMETHODCALLTYPE *Free )( IMimeAllocator * This, /* [in] */ void *pv); SIZE_T ( STDMETHODCALLTYPE *GetSize )( IMimeAllocator * This, /* [in] */ void *pv); int ( STDMETHODCALLTYPE *DidAlloc )( IMimeAllocator * This, void *pv); void ( STDMETHODCALLTYPE *HeapMinimize )( IMimeAllocator * This); HRESULT ( STDMETHODCALLTYPE *FreeParamInfoArray )( IMimeAllocator * This, /* [in] */ ULONG cParams, /* [in] */ LPMIMEPARAMINFO prgParam, /* [in] */ boolean fFreeArray); HRESULT ( STDMETHODCALLTYPE *FreeAddressList )( IMimeAllocator * This, /* [out][in] */ LPADDRESSLIST pList); HRESULT ( STDMETHODCALLTYPE *FreeAddressProps )( IMimeAllocator * This, /* [out][in] */ LPADDRESSPROPS pAddress); HRESULT ( STDMETHODCALLTYPE *ReleaseObjects )( IMimeAllocator * This, /* [in] */ ULONG cObjects, /* [in] */ IUnknown **prgpUnknown, /* [in] */ boolean fFreeArray); HRESULT ( STDMETHODCALLTYPE *FreeEnumHeaderRowArray )( IMimeAllocator * This, /* [in] */ ULONG cRows, /* [in] */ LPENUMHEADERROW prgRow, /* [in] */ boolean fFreeArray); HRESULT ( STDMETHODCALLTYPE *FreeEnumPropertyArray )( IMimeAllocator * This, /* [in] */ ULONG cProps, /* [in] */ LPENUMPROPERTY prgProp, /* [in] */ boolean fFreeArray); HRESULT ( STDMETHODCALLTYPE *FreeThumbprint )( IMimeAllocator * This, /* [in] */ THUMBBLOB *pthumbprint); HRESULT ( STDMETHODCALLTYPE *PropVariantClear )( IMimeAllocator * This, /* [in] */ LPPROPVARIANT pProp); END_INTERFACE } IMimeAllocatorVtbl; interface IMimeAllocator { CONST_VTBL struct IMimeAllocatorVtbl *lpVtbl; }; #ifdef COBJMACROS #define IMimeAllocator_QueryInterface(This,riid,ppvObject) \ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) #define IMimeAllocator_AddRef(This) \ (This)->lpVtbl -> AddRef(This) #define IMimeAllocator_Release(This) \ (This)->lpVtbl -> Release(This) #define IMimeAllocator_Alloc(This,cb) \ (This)->lpVtbl -> Alloc(This,cb) #define IMimeAllocator_Realloc(This,pv,cb) \ (This)->lpVtbl -> Realloc(This,pv,cb) #define IMimeAllocator_Free(This,pv) \ (This)->lpVtbl -> Free(This,pv) #define IMimeAllocator_GetSize(This,pv) \ (This)->lpVtbl -> GetSize(This,pv) #define IMimeAllocator_DidAlloc(This,pv) \ (This)->lpVtbl -> DidAlloc(This,pv) #define IMimeAllocator_HeapMinimize(This) \ (This)->lpVtbl -> HeapMinimize(This) #define IMimeAllocator_FreeParamInfoArray(This,cParams,prgParam,fFreeArray) \ (This)->lpVtbl -> FreeParamInfoArray(This,cParams,prgParam,fFreeArray) #define IMimeAllocator_FreeAddressList(This,pList) \ (This)->lpVtbl -> FreeAddressList(This,pList) #define IMimeAllocator_FreeAddressProps(This,pAddress) \ (This)->lpVtbl -> FreeAddressProps(This,pAddress) #define IMimeAllocator_ReleaseObjects(This,cObjects,prgpUnknown,fFreeArray) \ (This)->lpVtbl -> ReleaseObjects(This,cObjects,prgpUnknown,fFreeArray) #define IMimeAllocator_FreeEnumHeaderRowArray(This,cRows,prgRow,fFreeArray) \ (This)->lpVtbl -> FreeEnumHeaderRowArray(This,cRows,prgRow,fFreeArray) #define IMimeAllocator_FreeEnumPropertyArray(This,cProps,prgProp,fFreeArray) \ (This)->lpVtbl -> FreeEnumPropertyArray(This,cProps,prgProp,fFreeArray) #define IMimeAllocator_FreeThumbprint(This,pthumbprint) \ (This)->lpVtbl -> FreeThumbprint(This,pthumbprint) #define IMimeAllocator_PropVariantClear(This,pProp) \ (This)->lpVtbl -> PropVariantClear(This,pProp) #endif /* COBJMACROS */ #endif /* C style interface */ HRESULT STDMETHODCALLTYPE IMimeAllocator_FreeParamInfoArray_Proxy( IMimeAllocator * This, /* [in] */ ULONG cParams, /* [in] */ LPMIMEPARAMINFO prgParam, /* [in] */ boolean fFreeArray); void __RPC_STUB IMimeAllocator_FreeParamInfoArray_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeAllocator_FreeAddressList_Proxy( IMimeAllocator * This, /* [out][in] */ LPADDRESSLIST pList); void __RPC_STUB IMimeAllocator_FreeAddressList_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeAllocator_FreeAddressProps_Proxy( IMimeAllocator * This, /* [out][in] */ LPADDRESSPROPS pAddress); void __RPC_STUB IMimeAllocator_FreeAddressProps_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeAllocator_ReleaseObjects_Proxy( IMimeAllocator * This, /* [in] */ ULONG cObjects, /* [in] */ IUnknown **prgpUnknown, /* [in] */ boolean fFreeArray); void __RPC_STUB IMimeAllocator_ReleaseObjects_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeAllocator_FreeEnumHeaderRowArray_Proxy( IMimeAllocator * This, /* [in] */ ULONG cRows, /* [in] */ LPENUMHEADERROW prgRow, /* [in] */ boolean fFreeArray); void __RPC_STUB IMimeAllocator_FreeEnumHeaderRowArray_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeAllocator_FreeEnumPropertyArray_Proxy( IMimeAllocator * This, /* [in] */ ULONG cProps, /* [in] */ LPENUMPROPERTY prgProp, /* [in] */ boolean fFreeArray); void __RPC_STUB IMimeAllocator_FreeEnumPropertyArray_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeAllocator_FreeThumbprint_Proxy( IMimeAllocator * This, /* [in] */ THUMBBLOB *pthumbprint); void __RPC_STUB IMimeAllocator_FreeThumbprint_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeAllocator_PropVariantClear_Proxy( IMimeAllocator * This, /* [in] */ LPPROPVARIANT pProp); void __RPC_STUB IMimeAllocator_PropVariantClear_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #endif /* __IMimeAllocator_INTERFACE_DEFINED__ */ #ifndef __IMimeObjResolver_INTERFACE_DEFINED__ #define __IMimeObjResolver_INTERFACE_DEFINED__ /* interface IMimeObjResolver */ /* [object][helpstring][uuid] */ typedef /* [unique] */ IMimeObjResolver *LPMIMEOBJRESOLVER; EXTERN_C const IID IID_IMimeObjResolver; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("FECEAFFD-C441-11d1-960E-00C04FBD7C09") IMimeObjResolver : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE MimeOleObjectFromMoniker( /* [in] */ BINDF bindf, /* [in] */ IMoniker *pmkOriginal, /* [in] */ IBindCtx *pBindCtx, /* [in] */ REFIID riid, /* [out] */ LPVOID *ppvObject, /* [out] */ IMoniker **ppmkNew) = 0; }; #else /* C style interface */ typedef struct IMimeObjResolverVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMimeObjResolver * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMimeObjResolver * This); ULONG ( STDMETHODCALLTYPE *Release )( IMimeObjResolver * This); HRESULT ( STDMETHODCALLTYPE *MimeOleObjectFromMoniker )( IMimeObjResolver * This, /* [in] */ BINDF bindf, /* [in] */ IMoniker *pmkOriginal, /* [in] */ IBindCtx *pBindCtx, /* [in] */ REFIID riid, /* [out] */ LPVOID *ppvObject, /* [out] */ IMoniker **ppmkNew); END_INTERFACE } IMimeObjResolverVtbl; interface IMimeObjResolver { CONST_VTBL struct IMimeObjResolverVtbl *lpVtbl; }; #ifdef COBJMACROS #define IMimeObjResolver_QueryInterface(This,riid,ppvObject) \ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) #define IMimeObjResolver_AddRef(This) \ (This)->lpVtbl -> AddRef(This) #define IMimeObjResolver_Release(This) \ (This)->lpVtbl -> Release(This) #define IMimeObjResolver_MimeOleObjectFromMoniker(This,bindf,pmkOriginal,pBindCtx,riid,ppvObject,ppmkNew) \ (This)->lpVtbl -> MimeOleObjectFromMoniker(This,bindf,pmkOriginal,pBindCtx,riid,ppvObject,ppmkNew) #endif /* COBJMACROS */ #endif /* C style interface */ HRESULT STDMETHODCALLTYPE IMimeObjResolver_MimeOleObjectFromMoniker_Proxy( IMimeObjResolver * This, /* [in] */ BINDF bindf, /* [in] */ IMoniker *pmkOriginal, /* [in] */ IBindCtx *pBindCtx, /* [in] */ REFIID riid, /* [out] */ LPVOID *ppvObject, /* [out] */ IMoniker **ppmkNew); void __RPC_STUB IMimeObjResolver_MimeOleObjectFromMoniker_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #endif /* __IMimeObjResolver_INTERFACE_DEFINED__ */ #endif /* __MIMEOLE_LIBRARY_DEFINED__ */ /* interface __MIDL_itf_mimeole_0284 */ /* [local] */ typedef enum tagFNTSYSTYPE { FNT_SYS_ICON = 0, FNT_SYS_ICON_BOLD = FNT_SYS_ICON + 1, FNT_SYS_MENU = FNT_SYS_ICON_BOLD + 1, FNT_SYS_ICON_STRIKEOUT = FNT_SYS_MENU + 1, FNT_SYS_LAST = FNT_SYS_ICON_STRIKEOUT + 1 } FNTSYSTYPE; typedef struct _charformat CHARFORMAT; extern RPC_IF_HANDLE __MIDL_itf_mimeole_0284_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mimeole_0284_v0_0_s_ifspec; #ifndef __IFontCache_INTERFACE_DEFINED__ #define __IFontCache_INTERFACE_DEFINED__ /* interface IFontCache */ /* [object][helpstring][uuid] */ typedef /* [unique] */ IFontCache *LPFONTCACHE; EXTERN_C const IID IID_IFontCache; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("B0D17FC2-7BC4-11d1-BDFA-00C04FA31009") IFontCache : public IUnknown { public: virtual /* [local] */ HRESULT STDMETHODCALLTYPE Init( /* [in] */ HKEY hkey, /* [in] */ LPCSTR pszIntlKey, /* [in] */ DWORD dwFlags) = 0; virtual HRESULT STDMETHODCALLTYPE GetFont( /* [in] */ FNTSYSTYPE fntType, /* [in] */ HCHARSET hCharset, /* [out] */ HFONT *phFont) = 0; virtual HRESULT STDMETHODCALLTYPE OnOptionChange( void) = 0; virtual HRESULT STDMETHODCALLTYPE GetJP_ISOControl( /* [out] */ BOOL *pfUseSIO) = 0; }; #else /* C style interface */ typedef struct IFontCacheVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IFontCache * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IFontCache * This); ULONG ( STDMETHODCALLTYPE *Release )( IFontCache * This); /* [local] */ HRESULT ( STDMETHODCALLTYPE *Init )( IFontCache * This, /* [in] */ HKEY hkey, /* [in] */ LPCSTR pszIntlKey, /* [in] */ DWORD dwFlags); HRESULT ( STDMETHODCALLTYPE *GetFont )( IFontCache * This, /* [in] */ FNTSYSTYPE fntType, /* [in] */ HCHARSET hCharset, /* [out] */ HFONT *phFont); HRESULT ( STDMETHODCALLTYPE *OnOptionChange )( IFontCache * This); HRESULT ( STDMETHODCALLTYPE *GetJP_ISOControl )( IFontCache * This, /* [out] */ BOOL *pfUseSIO); END_INTERFACE } IFontCacheVtbl; interface IFontCache { CONST_VTBL struct IFontCacheVtbl *lpVtbl; }; #ifdef COBJMACROS #define IFontCache_QueryInterface(This,riid,ppvObject) \ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) #define IFontCache_AddRef(This) \ (This)->lpVtbl -> AddRef(This) #define IFontCache_Release(This) \ (This)->lpVtbl -> Release(This) #define IFontCache_Init(This,hkey,pszIntlKey,dwFlags) \ (This)->lpVtbl -> Init(This,hkey,pszIntlKey,dwFlags) #define IFontCache_GetFont(This,fntType,hCharset,phFont) \ (This)->lpVtbl -> GetFont(This,fntType,hCharset,phFont) #define IFontCache_OnOptionChange(This) \ (This)->lpVtbl -> OnOptionChange(This) #define IFontCache_GetJP_ISOControl(This,pfUseSIO) \ (This)->lpVtbl -> GetJP_ISOControl(This,pfUseSIO) #endif /* COBJMACROS */ #endif /* C style interface */ /* [local] */ HRESULT STDMETHODCALLTYPE IFontCache_Init_Proxy( IFontCache * This, /* [in] */ HKEY hkey, /* [in] */ LPCSTR pszIntlKey, /* [in] */ DWORD dwFlags); void __RPC_STUB IFontCache_Init_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IFontCache_GetFont_Proxy( IFontCache * This, /* [in] */ FNTSYSTYPE fntType, /* [in] */ HCHARSET hCharset, /* [out] */ HFONT *phFont); void __RPC_STUB IFontCache_GetFont_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IFontCache_OnOptionChange_Proxy( IFontCache * This); void __RPC_STUB IFontCache_OnOptionChange_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IFontCache_GetJP_ISOControl_Proxy( IFontCache * This, /* [out] */ BOOL *pfUseSIO); void __RPC_STUB IFontCache_GetJP_ISOControl_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #endif /* __IFontCache_INTERFACE_DEFINED__ */ #ifndef __IFontCacheNotify_INTERFACE_DEFINED__ #define __IFontCacheNotify_INTERFACE_DEFINED__ /* interface IFontCacheNotify */ /* [object][helpstring][uuid] */ typedef /* [unique] */ IFontCacheNotify *LPFONTCACHENOTIFY; EXTERN_C const IID IID_IFontCacheNotify; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("B0D17FC5-7BC4-11d1-BDFA-00C04FA31009") IFontCacheNotify : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE OnPreFontChange( void) = 0; virtual HRESULT STDMETHODCALLTYPE OnPostFontChange( void) = 0; }; #else /* C style interface */ typedef struct IFontCacheNotifyVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IFontCacheNotify * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IFontCacheNotify * This); ULONG ( STDMETHODCALLTYPE *Release )( IFontCacheNotify * This); HRESULT ( STDMETHODCALLTYPE *OnPreFontChange )( IFontCacheNotify * This); HRESULT ( STDMETHODCALLTYPE *OnPostFontChange )( IFontCacheNotify * This); END_INTERFACE } IFontCacheNotifyVtbl; interface IFontCacheNotify { CONST_VTBL struct IFontCacheNotifyVtbl *lpVtbl; }; #ifdef COBJMACROS #define IFontCacheNotify_QueryInterface(This,riid,ppvObject) \ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) #define IFontCacheNotify_AddRef(This) \ (This)->lpVtbl -> AddRef(This) #define IFontCacheNotify_Release(This) \ (This)->lpVtbl -> Release(This) #define IFontCacheNotify_OnPreFontChange(This) \ (This)->lpVtbl -> OnPreFontChange(This) #define IFontCacheNotify_OnPostFontChange(This) \ (This)->lpVtbl -> OnPostFontChange(This) #endif /* COBJMACROS */ #endif /* C style interface */ HRESULT STDMETHODCALLTYPE IFontCacheNotify_OnPreFontChange_Proxy( IFontCacheNotify * This); void __RPC_STUB IFontCacheNotify_OnPreFontChange_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IFontCacheNotify_OnPostFontChange_Proxy( IFontCacheNotify * This); void __RPC_STUB IFontCacheNotify_OnPostFontChange_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #endif /* __IFontCacheNotify_INTERFACE_DEFINED__ */ #ifndef __IMimeEditTag_INTERFACE_DEFINED__ #define __IMimeEditTag_INTERFACE_DEFINED__ /* interface IMimeEditTag */ /* [object][helpstring][uuid] */ typedef /* [unique] */ IMimeEditTag *PMIMEEDITTAG; EXTERN_C const IID IID_IMimeEditTag; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("70183210-7b36-11d2-8c12-00c04fa31009") IMimeEditTag : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetSrc( /* [out] */ BSTR *pbstr) = 0; virtual HRESULT STDMETHODCALLTYPE SetSrc( /* [in] */ BSTR bstr) = 0; virtual HRESULT STDMETHODCALLTYPE GetDest( /* [out] */ BSTR *pbstr) = 0; virtual HRESULT STDMETHODCALLTYPE SetDest( /* [in] */ BSTR bstr) = 0; virtual HRESULT STDMETHODCALLTYPE OnPreSave( void) = 0; virtual HRESULT STDMETHODCALLTYPE OnPostSave( void) = 0; virtual HRESULT STDMETHODCALLTYPE CanPackage( void) = 0; virtual HRESULT STDMETHODCALLTYPE IsValidMimeType( /* [in] */ LPWSTR pszTypeW) = 0; }; #else /* C style interface */ typedef struct IMimeEditTagVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMimeEditTag * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMimeEditTag * This); ULONG ( STDMETHODCALLTYPE *Release )( IMimeEditTag * This); HRESULT ( STDMETHODCALLTYPE *GetSrc )( IMimeEditTag * This, /* [out] */ BSTR *pbstr); HRESULT ( STDMETHODCALLTYPE *SetSrc )( IMimeEditTag * This, /* [in] */ BSTR bstr); HRESULT ( STDMETHODCALLTYPE *GetDest )( IMimeEditTag * This, /* [out] */ BSTR *pbstr); HRESULT ( STDMETHODCALLTYPE *SetDest )( IMimeEditTag * This, /* [in] */ BSTR bstr); HRESULT ( STDMETHODCALLTYPE *OnPreSave )( IMimeEditTag * This); HRESULT ( STDMETHODCALLTYPE *OnPostSave )( IMimeEditTag * This); HRESULT ( STDMETHODCALLTYPE *CanPackage )( IMimeEditTag * This); HRESULT ( STDMETHODCALLTYPE *IsValidMimeType )( IMimeEditTag * This, /* [in] */ LPWSTR pszTypeW); END_INTERFACE } IMimeEditTagVtbl; interface IMimeEditTag { CONST_VTBL struct IMimeEditTagVtbl *lpVtbl; }; #ifdef COBJMACROS #define IMimeEditTag_QueryInterface(This,riid,ppvObject) \ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) #define IMimeEditTag_AddRef(This) \ (This)->lpVtbl -> AddRef(This) #define IMimeEditTag_Release(This) \ (This)->lpVtbl -> Release(This) #define IMimeEditTag_GetSrc(This,pbstr) \ (This)->lpVtbl -> GetSrc(This,pbstr) #define IMimeEditTag_SetSrc(This,bstr) \ (This)->lpVtbl -> SetSrc(This,bstr) #define IMimeEditTag_GetDest(This,pbstr) \ (This)->lpVtbl -> GetDest(This,pbstr) #define IMimeEditTag_SetDest(This,bstr) \ (This)->lpVtbl -> SetDest(This,bstr) #define IMimeEditTag_OnPreSave(This) \ (This)->lpVtbl -> OnPreSave(This) #define IMimeEditTag_OnPostSave(This) \ (This)->lpVtbl -> OnPostSave(This) #define IMimeEditTag_CanPackage(This) \ (This)->lpVtbl -> CanPackage(This) #define IMimeEditTag_IsValidMimeType(This,pszTypeW) \ (This)->lpVtbl -> IsValidMimeType(This,pszTypeW) #endif /* COBJMACROS */ #endif /* C style interface */ HRESULT STDMETHODCALLTYPE IMimeEditTag_GetSrc_Proxy( IMimeEditTag * This, /* [out] */ BSTR *pbstr); void __RPC_STUB IMimeEditTag_GetSrc_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeEditTag_SetSrc_Proxy( IMimeEditTag * This, /* [in] */ BSTR bstr); void __RPC_STUB IMimeEditTag_SetSrc_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeEditTag_GetDest_Proxy( IMimeEditTag * This, /* [out] */ BSTR *pbstr); void __RPC_STUB IMimeEditTag_GetDest_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeEditTag_SetDest_Proxy( IMimeEditTag * This, /* [in] */ BSTR bstr); void __RPC_STUB IMimeEditTag_SetDest_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeEditTag_OnPreSave_Proxy( IMimeEditTag * This); void __RPC_STUB IMimeEditTag_OnPreSave_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeEditTag_OnPostSave_Proxy( IMimeEditTag * This); void __RPC_STUB IMimeEditTag_OnPostSave_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeEditTag_CanPackage_Proxy( IMimeEditTag * This); void __RPC_STUB IMimeEditTag_CanPackage_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeEditTag_IsValidMimeType_Proxy( IMimeEditTag * This, /* [in] */ LPWSTR pszTypeW); void __RPC_STUB IMimeEditTag_IsValidMimeType_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #endif /* __IMimeEditTag_INTERFACE_DEFINED__ */ #ifndef __IMimeEditTagCollection_INTERFACE_DEFINED__ #define __IMimeEditTagCollection_INTERFACE_DEFINED__ /* interface IMimeEditTagCollection */ /* [object][helpstring][uuid] */ typedef /* [unique] */ IMimeEditTagCollection *PMIMEEDITTAGCOLLECTION; EXTERN_C const IID IID_IMimeEditTagCollection; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("d09ee528-7b38-11d2-8c12-00c04fa31009") IMimeEditTagCollection : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE Init( /* [in] */ IUnknown *pHtmlDoc) = 0; virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG cFetch, /* [out] */ IMimeEditTag **ppTag, /* [out] */ ULONG *pcFetched) = 0; virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0; virtual HRESULT STDMETHODCALLTYPE Count( /* [out] */ ULONG *pcItems) = 0; }; #else /* C style interface */ typedef struct IMimeEditTagCollectionVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMimeEditTagCollection * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMimeEditTagCollection * This); ULONG ( STDMETHODCALLTYPE *Release )( IMimeEditTagCollection * This); HRESULT ( STDMETHODCALLTYPE *Init )( IMimeEditTagCollection * This, /* [in] */ IUnknown *pHtmlDoc); HRESULT ( STDMETHODCALLTYPE *Next )( IMimeEditTagCollection * This, /* [in] */ ULONG cFetch, /* [out] */ IMimeEditTag **ppTag, /* [out] */ ULONG *pcFetched); HRESULT ( STDMETHODCALLTYPE *Reset )( IMimeEditTagCollection * This); HRESULT ( STDMETHODCALLTYPE *Count )( IMimeEditTagCollection * This, /* [out] */ ULONG *pcItems); END_INTERFACE } IMimeEditTagCollectionVtbl; interface IMimeEditTagCollection { CONST_VTBL struct IMimeEditTagCollectionVtbl *lpVtbl; }; #ifdef COBJMACROS #define IMimeEditTagCollection_QueryInterface(This,riid,ppvObject) \ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) #define IMimeEditTagCollection_AddRef(This) \ (This)->lpVtbl -> AddRef(This) #define IMimeEditTagCollection_Release(This) \ (This)->lpVtbl -> Release(This) #define IMimeEditTagCollection_Init(This,pHtmlDoc) \ (This)->lpVtbl -> Init(This,pHtmlDoc) #define IMimeEditTagCollection_Next(This,cFetch,ppTag,pcFetched) \ (This)->lpVtbl -> Next(This,cFetch,ppTag,pcFetched) #define IMimeEditTagCollection_Reset(This) \ (This)->lpVtbl -> Reset(This) #define IMimeEditTagCollection_Count(This,pcItems) \ (This)->lpVtbl -> Count(This,pcItems) #endif /* COBJMACROS */ #endif /* C style interface */ HRESULT STDMETHODCALLTYPE IMimeEditTagCollection_Init_Proxy( IMimeEditTagCollection * This, /* [in] */ IUnknown *pHtmlDoc); void __RPC_STUB IMimeEditTagCollection_Init_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeEditTagCollection_Next_Proxy( IMimeEditTagCollection * This, /* [in] */ ULONG cFetch, /* [out] */ IMimeEditTag **ppTag, /* [out] */ ULONG *pcFetched); void __RPC_STUB IMimeEditTagCollection_Next_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeEditTagCollection_Reset_Proxy( IMimeEditTagCollection * This); void __RPC_STUB IMimeEditTagCollection_Reset_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IMimeEditTagCollection_Count_Proxy( IMimeEditTagCollection * This, /* [out] */ ULONG *pcItems); void __RPC_STUB IMimeEditTagCollection_Count_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #endif /* __IMimeEditTagCollection_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_mimeole_0288 */ /* [local] */ #if (_WIN32_OE >= 0x0500) // -------------------------------------------------------------------------------- // CMDSETID_MimeEdit commands // -------------------------------------------------------------------------------- #define MECMDID_DIRTY 1 #define MECMDID_EMPTY 2 #define MECMDID_STYLE 3 #define MECMDID_EDITHTML 4 #define MECMDID_DOWNGRADEPLAINTEXT 5 #define MECMDID_SETTEXT 6 #define MECMDID_ROT13 7 #define MECMDID_INSERTTEXTFILE 8 #define MECMDID_VIEWSOURCE 9 #define MECMDID_FORMATFONT 10 #define MECMDID_PREVIEWFORMAT 11 #define MECMDID_EDITMODE 12 #define MECMDID_CHARSET 13 #define MECMDID_SAVEASSTATIONERY 14 #define MECMDID_BACKGROUNDIMAGE 15 #define MECMDID_INSERTTEXT 16 #define MECMDID_INSERTHTML 17 #define MECMDID_BACKGROUNDCOLOR 18 #define MECMDID_APPLYDOCUMENT 19 #define MECMDID_SAVEATTACHMENTS 20 #define MECMDID_BACKGROUNDSOUND 21 #define MECMDID_INSERTBGSOUND 22 #define MECMDID_SHOWSOURCETABS 23 #define MECMDID_SETSOURCETAB 24 #define MECMDID_TABLINKS 25 #define MECMDID_FORMATPARAGRAPH 26 // -------------------------------------------------------------------------------- // MEO_FLAGS // -------------------------------------------------------------------------------- #define MEO_FLAGS_INCLUDEMSG 0x0001 #define MEO_FLAGS_HTML 0x0002 #define MEO_FLAGS_AUTOINLINE 0x0004 #define MEO_FLAGS_SLIDESHOW 0x0008 #define MEO_FLAGS_AUTOTEXT 0x0010 #define MEO_FLAGS_BLOCKQUOTE 0x0020 #define MEO_FLAGS_SENDIMAGES 0x0040 #define MEO_FLAGS_DONTSPELLCHECKQUOTED 0x0080 #define MEO_FLAGS_SENDEXTERNALIMGSRC 0x0100 // -------------------------------------------------------------------------------- // MECMDID_VIEWSOURCE options // -------------------------------------------------------------------------------- #define MECMD_VS_HTML 0x0001 #define MECMD_VS_MESSAGE 0x0002 // -------------------------------------------------------------------------------- // MEST_ // -------------------------------------------------------------------------------- #define MEST_EDIT 0 #define MEST_SOURCE 1 #define MEST_PREVIEW 2 #define MEST_NEXT 3 #define MEST_PREVIOUS 4 // -------------------------------------------------------------------------------- // MECMDID_STYLE options // -------------------------------------------------------------------------------- #define MESTYLE_NOHEADER 0 #define MESTYLE_PREVIEW 1 #define MESTYLE_FORMATBAR 2 #define MESTYLE_MINIHEADER 3 // -------------------------------------------------------------------------------- // MECMDID_HEADER_TYLE options // -------------------------------------------------------------------------------- #define MEHEADER_NONE 0x00 #define MEHEADER_NEWS 0x01 #define MEHEADER_MAIL 0x02 #define MEHEADER_FORCE_ENGLISH 0x04 // -------------------------------------------------------------------------------- // MECMDID_SIGNATURE_ENABLED options // -------------------------------------------------------------------------------- #define MESIG_AUTO 0x0001 #define MESIG_MANUAL 0x0002 // -------------------------------------------------------------------------------- // MECMDID_SIGNATURE_OPTIONS options // -------------------------------------------------------------------------------- #define MESIGOPT_PLAIN 0x0001 #define MESIGOPT_TOP 0x0002 #define MESIGOPT_PREFIX 0x0004 #define MESIGOPT_BOTTOM 0x0008 #define MESIGOPT_HTML 0x0010 // -------------------------------------------------------------------------------- // MEHOSTCMDID_BORDERFLAGS options // -------------------------------------------------------------------------------- #define MEBF_OUTERCLIENTEDGE 0x0001 #define MEBF_INNERCLIENTEDGE 0x0002 #define MEBF_FORMATBARSEP 0x0004 #define MEBF_NOSCROLL 0x0008 // -------------------------------------------------------------------------------- // MEHOSTCMDID_SPELL_OPTIONS options // -------------------------------------------------------------------------------- #define MESPELLOPT_IGNORENUMBER 0x0001 #define MESPELLOPT_IGNOREUPPER 0x0002 #define MESPELLOPT_IGNOREDBCS 0x0004 #define MESPELLOPT_IGNOREPROTECT 0x0008 #define MESPELLOPT_IGNOREURL 0x0010 #define MESPELLOPT_ALWAYSSUGGEST 0x0020 #define MESPELLOPT_CHECKONSEND 0x0040 #define MESPELLOPT_CHECKONTYPE 0x0080 // -------------------------------------------------------------------------------- // MEHOSTCMDID_SOURCEEDIT_FLAGS options // -------------------------------------------------------------------------------- #define MESRCFLAGS_COLOR 0x0001 // -------------------------------------------------------------------------------- // CMDSETID_MimeEditHost commands // -------------------------------------------------------------------------------- #define MEHOSTCMDID_SIGNATURE_ENABLED 1 #define MEHOSTCMDID_SIGNATURE_OPTIONS 2 #define MEHOSTCMDID_SIGNATURE 3 #define MEHOSTCMDID_HEADER_TYPE 4 #define MEHOSTCMDID_ONPARSECOMPLETE 5 #define MEHOSTCMDID_FLAGS 6 #define MEHOSTCMDID_QUOTE_CHAR 7 #define MEHOSTCMDID_REPLY_TICK_COLOR 8 #define MEHOSTCMDID_COMPOSE_FONT 9 #define MEHOSTCMDID_ADD_TO_ADDRESSBOOK 10 #define MEHOSTCMDID_ADD_TO_FAVORITES 11 #define MEHOSTCMDID_SLIDESHOW_DELAY 12 #define MEHOSTCMDID_FONTCACHE 13 #define MEHOSTCMDID_BORDERFLAGS 14 #define MEHOSTCMDID_SECURITY_ZONE 15 #define MEHOSTCMDID_SPELL_OPTIONS 16 #define MEHOSTCMDID_SAVEATTACH_PATH 17 #define MEHOSTCMDID_SOURCEEDIT_FLAGS 18 #define MEHOSTCMDID_SPELL_LANGUAGE 19 #define MEHOSTCMDID_IS_READ_IN_TEXT_ONLY 22 #endif //_WIN32_OE // -------------------------------------------------------------------------------- // MimeOLE Exported C API Functions // -------------------------------------------------------------------------------- #ifdef __cplusplus extern "C" { #endif // -------------------------------------------------------------------------------- // Depends // -------------------------------------------------------------------------------- #include // -------------------------------------------------------------------------------- // API Name Decoration // -------------------------------------------------------------------------------- #if !defined(_MIMEOLE_) #define MIMEOLEAPI EXTERN_C DECLSPEC_IMPORT HRESULT WINAPI #define MIMEOLEAPI_(_type_) EXTERN_C DECLSPEC_IMPORT _type_ WINAPI #else #define MIMEOLEAPI EXTERN_C HRESULT WINAPI #define MIMEOLEAPI_(_type_) EXTERN_C _type_ WINAPI #endif // -------------------------------------------------------------------------------- // Constants // -------------------------------------------------------------------------------- #define NOFLAGS 0 #define CCHMAX_CID 255 #define CCHMAX_MID 255 #define CCHMAX_INTERNET_DATE 50 #define MECD_HTML 0x0001 #define MECD_PLAINTEXT 0x0002 #define MECD_ENCODEIMAGES 0x0004 #define MECD_ENCODEFILEURLSONLY 0x0008 #define MECD_ENCODESOUNDS 0x0010 #define MECD_ENCODEVIDEO 0x0020 #define MECD_ENCODEPLUGINS 0x0040 // -------------------------------------------------------------------------------- // Macros // -------------------------------------------------------------------------------- #define MimeOleVariantInit(_pProp) \ ZeroMemory(_pProp, sizeof(PROPVARIANT)) // -------------------------------------------------------------------------------- // MimeOLE API Prototypes // -------------------------------------------------------------------------------- #define MIMEOLE_COMPAT_OE5 0x00000001 #define MIMEOLE_COMPAT_MLANG2 0x00000002 MIMEOLEAPI MimeOleSetCompatMode( /* in */ DWORD dwMode); MIMEOLEAPI MimeOleContentTypeFromUrl( /* in */ LPCSTR pszBase, /* in */ LPCSTR pszUrl, /* out */ LPSTR *ppszCntType); MIMEOLEAPI MimeOleParseMhtmlUrl( /* in */ LPSTR pszUrl, /* out */ LPSTR *ppszRootUrl, /* out */ LPSTR *ppszBodyUrl); #ifndef MAC MIMEOLEAPI MimeOleObjectFromUrl( /* in */ LPCSTR pszUrl, /* in */ BOOL fCreate, /* in */ REFIID riid, /* out */ LPVOID *ppvObject, /* out */ IUnknown **ppUnkKeepAlive); MIMEOLEAPI MimeOleObjectFromMoniker( /* in */ BINDF bindf, /* in */ IMoniker *pmkOriginal, /* in */ IBindCtx *pBindCtx, /* in */ REFIID riid, /* out */ LPVOID *ppvObject, /* out */ IMoniker **ppmkNew); #endif // !MAC MIMEOLEAPI MimeOleCombineURL( /* in */ LPCSTR pszBase, /* in */ ULONG cchBase, /* in */ LPCSTR pszURL, /* in */ ULONG cchURL, /* in */ BOOL fUnEscape, /* out */ LPSTR *ppszAbsolute); MIMEOLEAPI MimeOleGetSubjectFileName( /* in */ IMimePropertySet *pPropertySet, /* out */ ULONG *pulPart, /* out */ ULONG *pulTotal, /* in,out */ LPSTR pszFileName, /* in */ ULONG cchMax); MIMEOLEAPI MimeOleCreateWebDocument( /* in */ LPCSTR pszBase, /* in */ LPCSTR pszURL, /* out */ IMimeWebDocument **ppDocument); MIMEOLEAPI MimeOleGetRelatedSection( /* in */ IMimeMessageTree *pTree, /* in */ boolean fCreate, /* out */ LPHBODY phRelated, /* out */ boolean *pfMultiple); MIMEOLEAPI MimeOleGetMixedSection( /* in */ IMimeMessageTree *pTree, /* in */ boolean fCreate, /* out */ LPHBODY phMixed, /* out */ boolean *pfMultiple); MIMEOLEAPI MimeOleGetAlternativeSection( /* in */ IMimeMessageTree *pTree, /* out */ LPHBODY phAlternative, /* out */ boolean *pfMultiple); MIMEOLEAPI MimeOleGenerateCID( /* in,out */ LPSTR pszCID, /* in */ ULONG cchMax, /* in */ boolean fAbsolute); MIMEOLEAPI MimeOleGenerateMID( /* in,out */ LPSTR pszMID, /* in */ ULONG cchMax, /* in */ boolean fAbsolute); MIMEOLEAPI MimeOleCreateByteStream( /* out */ IStream **ppStream); MIMEOLEAPI MimeOleGetPropertySchema( /* out */ IMimePropertySchema **ppSchema); MIMEOLEAPI MimeOleQueryString( /* in */ LPCSTR pszSearchMe, /* in */ LPCSTR pszCriteria, /* in */ boolean fSubString, /* in */ boolean fCaseSensitive); MIMEOLEAPI MimeOleGetPropA( /* in */ IMimePropertySet *pPropertyset, /* in */ LPCSTR pszName, /* in */ DWORD dwFlags, /* out */ LPSTR *ppszData); MIMEOLEAPI MimeOleSetPropA( /* in */ IMimePropertySet *pPropertyset, /* in */ LPCSTR pszName, /* in */ DWORD dwFlags, /* in */ LPCSTR pszData); MIMEOLEAPI MimeOleGetPropW( /* in */ IMimePropertySet *pPropertyset, /* in */ LPCSTR pszName, /* in */ DWORD dwFlags, /* out */ LPWSTR *ppszData); MIMEOLEAPI MimeOleSetPropW( /* in */ IMimePropertySet *pPropertyset, /* in */ LPCSTR pszName, /* in */ DWORD dwFlags, /* in */ LPWSTR pszData); MIMEOLEAPI MimeOleGetBodyPropA( /* in */ IMimeMessageTree *pTree, /* in */ HBODY hBody, /* in */ LPCSTR pszName, /* in */ DWORD dwFlags, /* out */ LPSTR *ppszData); MIMEOLEAPI MimeOleSetBodyPropA( /* in */ IMimeMessageTree *pTree, /* in */ HBODY hBody, /* in */ LPCSTR pszName, /* in */ DWORD dwFlags, /* in */ LPCSTR pszData); MIMEOLEAPI MimeOleGetBodyPropW( /* in */ IMimeMessageTree *pTree, /* in */ HBODY hBody, /* in */ LPCSTR pszName, /* in */ DWORD dwFlags, /* out */ LPWSTR *ppszData); MIMEOLEAPI MimeOleSetBodyPropW( /* in */ IMimeMessageTree *pTree, /* in */ HBODY hBody, /* in */ LPCSTR pszName, /* in */ DWORD dwFlags, /* in */ LPCWSTR pszData); MIMEOLEAPI MimeOleCreateHeaderTable( /* out */ IMimeHeaderTable **ppTable); MIMEOLEAPI MimeOleVariantFree( /* in,out */ LPPROPVARIANT pProp); MIMEOLEAPI MimeOleVariantCopy( /* out */ LPPROPVARIANT pDest, /* in */ LPPROPVARIANT pSource); MIMEOLEAPI MimeOleGetExtClassId( /* in */ LPCSTR pszExtension, /* out */ LPCLSID pclsid); MIMEOLEAPI MimeOleEncodeHeader( /* in */ HCHARSET hCharset, /* in */ LPPROPVARIANT pData, /* out */ LPSTR *ppszEncoded, /* in,out */ LPRFC1522INFO pRfc1522Info); MIMEOLEAPI MimeOleDecodeHeader( /* in */ HCHARSET hCharset, /* in */ LPCSTR pszData, /* out */ LPPROPVARIANT pDecoded, /* in,out */ LPRFC1522INFO pRfc1522Info); MIMEOLEAPI MimeOleRfc1522Decode( /* in */ LPCSTR pszValue, /* in */ LPSTR pszCharset, /* in */ ULONG cchmax, /* out */ LPSTR *ppszDecoded); MIMEOLEAPI MimeOleRfc1522Encode( /* in */ LPCSTR pszValue, /* in */ HCHARSET hCharset, /* out */ LPSTR *ppszEncoded); MIMEOLEAPI MimeOleGetInternat( /* out */ IMimeInternational **ppInternat); MIMEOLEAPI MimeOleFindCharset( /* in */ LPCSTR pszCharset, /* out */ LPHCHARSET phCharset); MIMEOLEAPI MimeOleGetCharsetInfo( /* in */ HCHARSET hCharset, /* out */ LPINETCSETINFO pCsetInfo); MIMEOLEAPI MimeOleGetCodePageInfo( /* in */ CODEPAGEID cpiCodePage, /* out */ LPCODEPAGEINFO pCodePageInfo); MIMEOLEAPI MimeOleGetDefaultCharset( /* out */ LPHCHARSET phCharset); MIMEOLEAPI MimeOleSetDefaultCharset( /* in */ HCHARSET hCharset); MIMEOLEAPI MimeOleGetCodePageCharset( /* in */ CODEPAGEID cpiCodePage, /* in */ CHARSETTYPE ctCsetType, /* out */ LPHCHARSET phCharset); MIMEOLEAPI MimeOleCreateVirtualStream( /* out */ IStream **ppStream); MIMEOLEAPI MimeOleOpenFileStream( /* in */ LPCSTR pszFilePath, /* in */ DWORD dwCreationDistribution, /* in */ DWORD dwAccess, /* out */ IStream **ppstmFile); MIMEOLEAPI MimeOleIsTnefStream( /* in */ IStream *pStream); MIMEOLEAPI MimeOleGenerateFileName( /* in */ LPCSTR pszContentType, /* in */ LPCSTR pszSuggest, /* in */ LPCSTR pszDefaultExt, /* in,out */ LPSTR *ppszFileName); MIMEOLEAPI MimeOleGetFileExtension( /* in */ LPCSTR pszFilePath, /* in,out */ LPSTR pszExt, /* in */ ULONG cchMax); MIMEOLEAPI MimeOleCreateSecurity( /* out */ IMimeSecurity **ppSecurity); MIMEOLEAPI MimeOleInetDateToFileTime( /* in */ LPCSTR pszDate, /* out */ LPFILETIME pft); MIMEOLEAPI MimeOleFileTimeToInetDate( /* in */ LPFILETIME pft, /* in,out */ LPSTR pszDate, /* in */ ULONG cchMax); MIMEOLEAPI MimeOleCreateMessageParts( /* out */ IMimeMessageParts **ppParts); MIMEOLEAPI MimeOleGetAllocator( /* out */ IMimeAllocator **ppAllocator); MIMEOLEAPI MimeOleParseRfc822Address( /* in */ DWORD dwAdrType, /* in */ ENCODINGTYPE ietEncoding, /* in */ LPCSTR pszRfc822Adr, /* out */ LPADDRESSLIST pList); MIMEOLEAPI MimeOleCreateMessage( /* in */ IUnknown *pUnkOuter, /* out */ IMimeMessage **ppMessage); MIMEOLEAPI MimeOleMergePartialHeaders( /* in */ IStream *pstmIn, /* in */ IStream *pstmOut); MIMEOLEAPI MimeOleEscapeString( /* in */ CODEPAGEID cpiCodePage, /* in */ LPCSTR pszIn, /* out */ LPSTR *ppszOut); MIMEOLEAPI MimeOleGetExtContentType( /* in */ LPCSTR pszExtension, /* out */ LPSTR *ppszContentType); MIMEOLEAPI MimeOleGetContentTypeExt( /* in */ LPCSTR pszContentType, /* out */ LPSTR *ppszExtension); MIMEOLEAPI MimeOleGetFileInfo( /* in */ LPSTR pszFilePath, /* out */ LPSTR *ppszCntType, /* out */ LPSTR *ppszSubType, /* out */ LPSTR *ppszCntDesc, /* out */ LPSTR *ppszFileName, /* out */ LPSTR *ppszExtension); MIMEOLEAPI MimeOleCreateBody( /* out */ IMimeBody **ppBody); MIMEOLEAPI MimeOleCreatePropertySet( /* in */ IUnknown *pUnkOuter, /* out */ IMimePropertySet **ppPropertySet); MIMEOLEAPI MimeOleCreateMessageTree( /* in */ IUnknown *pUnkOuter, /* out */ IMimeMessageTree **ppMessageTree); MIMEOLEAPI MimeOleGetCertsFromThumbprints( /* in */ THUMBBLOB *const rgThumbprint, /* in,out */ X509CERTRESULT *const pResults, /* in */ const HCERTSTORE *const rghCertStore, /* in */ const DWORD cCertStore); MIMEOLEAPI MimeOleSplitMessage( /* in */ IMimeMessage *pMessage, /* in */ ULONG cbMaxPart, /* out */ IMimeMessageParts **ppParts); MIMEOLEAPI MimeOleClearDirtyTree( /* in */ IMimeMessageTree *pTree); MIMEOLEAPI MimeOleConvertEnrichedToHTML( /* in */ CODEPAGEID codepage, /* in */ IStream *pIn, /* in */ IStream *pOut); MIMEOLEAPI MimeOleIsEnrichedStream( /* in */ IStream *pStream); MIMEOLEAPI MimeOleSMimeCapsToDlg( /* in */ LPBYTE pbSMimeCaps, /* in */ DWORD cbSMimeCaps, /* in */ DWORD cCerts, /* in */ PCX509CERT * rgCerts, /* in */ HWND hwndDlg, /* in */ DWORD idEncAlgs, /* in */ DWORD idSignAlgs, /* in */ DWORD idBlob); MIMEOLEAPI MimeOleSMimeCapsFromDlg( /* in */ HWND hwnd, /* in */ DWORD idEncAlgs, /* in */ DWORD idSignAlgs, /* in */ DWORD idBlob, /* in/out */ LPBYTE pbSMimeCaps, /* in/out */ DWORD * pcbSmimeCaps); MIMEOLEAPI MimeOleSMimeCapInit( /* in */ LPBYTE pbSMimeCap, /* in */ DWORD cbSMimeCap, /* out */ LPVOID * ppv); MIMEOLEAPI MimeOleSMimeCapAddSMimeCap( /* in */ LPBYTE pbSMimeCap, /* in */ DWORD cbSMimeCap, /* in/out */ LPVOID pv); MIMEOLEAPI MimeOleSMimeCapAddCert( /* in */ LPBYTE pbCert, /* in */ DWORD cbCert, /* in */ BOOL fParanoid, /* in/out */ LPVOID pv); MIMEOLEAPI MimeOleSMimeCapGetEncAlg( /* in */ LPVOID pv, /* in/out */ LPBYTE pbEncode, /* in/out */ DWORD * pcbEncode, /* in/out */ DWORD * pdwBits); MIMEOLEAPI MimeOleSMimeCapGetHashAlg( /* in */ LPVOID pv, /* in/out */ LPBYTE pbEncode, /* in/out */ DWORD * pcbEncode, /* in/out */ DWORD * pfBlobSign); MIMEOLEAPI MimeOleSMimeCapRelease( /* in */ LPVOID pv); MIMEOLEAPI MimeOleAlgNameFromSMimeCap( /* in */ LPBYTE pb, /* in */ DWORD cb, /* out */ LPCSTR * ppzProtocol); MIMEOLEAPI MimeOleAlgStrengthFromSMimeCap( /* in */ LPBYTE pb, /* in */ DWORD cb, /* in */ BOOL fEncryption, /* out */ DWORD * pdwStrength); MIMEOLEAPI MimeOleSMimeCapsFull( /* in */ LPVOID pv, /* in */ BOOL fFullEncryption, /* in */ BOOL fFullSigning, /* in/out */ LPBYTE pbSymCaps, /* in/out */ DWORD * pcbSymCaps); #if (_WIN32_OE >= 0x0500) MIMEOLEAPI MimeOleCreateHashTable( /* in */ DWORD dwSize, /* in */ BOOL fDupeKeys, /* out */ IHashTable **ppHashTable); MIMEOLEAPI MimeOleStripHeaders( /* in */ IMimeMessage *pMessage, /* in */ HBODY hBody, /* in */ LPCSTR pszNameDelete, /* in */ LPCSTR pszHeaderAdd, /* in */ IStream **ppStream); #endif //_WIN32_OE #if (_WIN32_OE >= 0x0500) // -------------------------------------------------------------------------------- // MimeEdit API Prototypes // -------------------------------------------------------------------------------- MIMEOLEAPI MimeEditViewSource( /* in */ HWND hwndParent, /* in */ IMimeMessage *pMsg); MIMEOLEAPI MimeEditIsSafeToRun( /* in */ HWND hwndParent, /* in */ LPCSTR lpszFileName); MIMEOLEAPI MimeEditVerifyTrust( /* in */ HWND hwndParent, /* in */ LPCSTR lpszFileName, /* in */ LPCSTR lpszPathName); MIMEOLEAPI MimeEditCreateMimeDocument( /* in */ IUnknown *pDoc, /* in */ IMimeMessage *pMsgSrc, /* in */ DWORD dwFlags, /* out */ IMimeMessage **ppMsg); MIMEOLEAPI MimeEditGetBackgroundImageUrl( /* in */ IUnknown *pDoc, /* out */ BSTR *pbstr); MIMEOLEAPI MimeEditDocumentFromStream( /* in */ IStream *pstm, /* in */ REFIID riid, /* out */ void **ppDoc); #ifdef __WINCRYPT_H__ //+------------------------------------------------------------------------- // RecipientID // // The value of dwRecepintType MUST be 0. //-------------------------------------------------------------------------- #define szOID_Microsoft_Encryption_Cert "1.3.6.1.4.1.311.16.4" typedef struct _CRYPT_RECIPIENT_ID { DWORD dwRecipientType; CERT_NAME_BLOB Issuer; CRYPT_INTEGER_BLOB SerialNumber; } CRYPT_RECIPIENT_ID, * PCRYPT_RECIPIENT_ID; #endif // __WINCRYPT_H__ #endif //_WIN32_OE #ifdef __cplusplus } #endif extern RPC_IF_HANDLE __MIDL_itf_mimeole_0288_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mimeole_0288_v0_0_s_ifspec; /* Additional Prototypes for ALL interfaces */ unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * ); unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * ); unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * ); unsigned long __RPC_USER HFONT_UserSize( unsigned long *, unsigned long , HFONT * ); unsigned char * __RPC_USER HFONT_UserMarshal( unsigned long *, unsigned char *, HFONT * ); unsigned char * __RPC_USER HFONT_UserUnmarshal(unsigned long *, unsigned char *, HFONT * ); void __RPC_USER HFONT_UserFree( unsigned long *, HFONT * ); /* end of Additional Prototypes */ #ifdef __cplusplus } #endif #endif