3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Copyright (C) 1998 Justin Bradford
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Copyright (c) 2009 Owen Rudge for CodeWeavers
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is free software; you can redistribute it and/or
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * modify it under the terms of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License as published by the Free Software Foundation; either
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * version 2.1 of the License, or (at your option) any later version.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is distributed in the hope that it will be useful,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Lesser General Public License for more details.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * You should have received a copy of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License along with this library; if not, write to the Free Software
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync/*
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * a choice of LGPL license versions is made available with the language indicating
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * that LGPLv2 or any later version may be used, or where a choice of which version
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * of the LGPL is applied is otherwise unspecified.
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync */
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifndef MAPIDEFS_H
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPIDEFS_H
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#include <windows.h>
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#include <winerror.h>
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#include <objbase.h>
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#include <stddef.h>
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Some types from other headers */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifndef __LHANDLE
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define __LHANDLE
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef ULONG_PTR LHANDLE, *LPLHANDLE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifndef _tagCY_DEFINED
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _tagCY_DEFINED
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef union tagCY
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifdef WORDS_BIGENDIAN
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LONG Hi;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG Lo;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#else
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG Lo;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LONG Hi;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync } DUMMYSTRUCTNAME;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LONGLONG int64;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} CY;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef CY CURRENCY;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif /* _tagCY_DEFINED */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifndef _FILETIME_
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define _FILETIME_
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _FILETIME
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifdef WORDS_BIGENDIAN
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwHighDateTime;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwLowDateTime;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#else
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwLowDateTime;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwHighDateTime;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} FILETIME, *PFILETIME, *LPFILETIME;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Memory allocation routines */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef SCODE (WINAPI ALLOCATEBUFFER)(ULONG,LPVOID*);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef SCODE (WINAPI ALLOCATEMORE)(ULONG,LPVOID,LPVOID*);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef ULONG (WINAPI FREEBUFFER)(LPVOID);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef ALLOCATEBUFFER *LPALLOCATEBUFFER;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef ALLOCATEMORE *LPALLOCATEMORE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef FREEBUFFER *LPFREEBUFFER;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* MAPI exposed interfaces */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef const IID *LPCIID;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct IAddrBook IAddrBook;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef IAddrBook *LPADRBOOK;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct IABContainer IABContainer;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef IABContainer *LPABCONT;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct IAttach *LPATTACH;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct IDistList IDistList;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef IDistList *LPDISTLIST;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct IMailUser IMailUser;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef IMailUser *LPMAILUSER;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct IMAPIAdviseSink *LPMAPIADVISESINK;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct IMAPIContainer *LPMAPICONTAINER;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct IMAPIFolder *LPMAPIFOLDER;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct IMAPIProgress IMAPIProgress;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef IMAPIProgress *LPMAPIPROGRESS;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct IMAPIStatus IMAPIStatus;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef IMAPIStatus *LPMAPISTATUS;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct IMessage *LPMESSAGE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct IProfSect IProfSect;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef IProfSect *LPPROFSECT;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct IProviderAdmin IProviderAdmin;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef IProviderAdmin *LPPROVIDERADMIN;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifndef MAPI_DIM
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# define MAPI_DIM 1 /* Default to one dimension for variable length arrays */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Flags for abFlags[0] */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPI_NOTRESERVED 0x08
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPI_NOW 0x10
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPI_THISSESSION 0x20
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPI_NOTRECIP 0x40
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPI_SHORTTERM 0x80
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Flags for abFlags[1] */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPI_COMPOUND 0x80
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _ENTRYID
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BYTE abFlags[4];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BYTE ab[MAPI_DIM];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} ENTRYID, *LPENTRYID;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* MAPI GUID's */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _MAPIUID
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BYTE ab[sizeof(GUID)];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} MAPIUID, *LPMAPIUID;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IsEqualMAPIUID(pl,pr) (!memcmp((pl),(pr),sizeof(MAPIUID)))
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPI_ONE_OFF_UID { 0x81,0x2b,0x1f,0xa4,0xbe,0xa3,0x10,0x19,0x9d,0x6e, \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync 0x00,0xdd,0x01,0x0f,0x54,0x02 }
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPI_ONE_OFF_UNICODE 0x8000
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPI_ONE_OFF_NO_RICH_INFO 0x0001
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Object types */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPI_STORE 1U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPI_ADDRBOOK 2U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPI_FOLDER 3U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPI_ABCONT 4U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPI_MESSAGE 5U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPI_MAILUSER 6U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPI_ATTACH 7U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPI_DISTLIST 8U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPI_PROFSECT 9U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPI_STATUS 10U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPI_SESSION 11U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPI_FORMINFO 12U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Flags for various calls */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPI_MODIFY 0x00000001U /* Object can be modified */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPI_CREATE 0x00000002U /* Object can be created */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPI_ACCESS_MODIFY MAPI_MODIFY /* Want write access */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPI_ACCESS_READ 0x00000002U /* Want read access */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPI_ACCESS_DELETE 0x00000004U /* Want delete access */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPI_ACCESS_CREATE_HIERARCHY 0x00000008U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPI_ACCESS_CREATE_CONTENTS 0x00000010U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPI_ACCESS_CREATE_ASSOCIATED 0x00000020U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPI_USE_DEFAULT 0x00000040U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPI_UNICODE 0x80000000U /* Strings in this call are Unicode */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#if defined (UNICODE) || defined (__WINESRC__)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define fMapiUnicode MAPI_UNICODE
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#else
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define fMapiUnicode 0U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* IMAPISession::OpenMessageStore() flags */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MDB_NO_DIALOG 0x00000001
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Types of message receivers */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifndef MAPI_ORIG
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPI_ORIG 0 /* The original author */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPI_TO 1 /* The primary message receiver */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPI_CC 2 /* A carbon copy receiver */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPI_BCC 3 /* A blind carbon copy receiver */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPI_P1 0x10000000 /* A message resend */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPI_SUBMITTED 0x80000000 /* This message has already been sent */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifndef cchProfileNameMax
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define cchProfileNameMax 64 /* Maximum length of a profile name */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define cchProfilePassMax 64 /* Maximum length of a profile password */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Properties: The are the contents of cells in MAPI tables, as well as the
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * values returned when object properties are queried.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Property types */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_UNSPECIFIED 0U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_NULL 1U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_I2 2U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_SHORT PT_I2
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_LONG 3U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_I4 PT_LONG
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_R4 4U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_FLOAT PT_R4
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_DOUBLE 5U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_R8 PT_DOUBLE
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_CURRENCY 6U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_APPTIME 7U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_ERROR 10U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_BOOLEAN 11U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_OBJECT 13U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_I8 20U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_LONGLONG PT_I8
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_STRING8 30U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_UNICODE 31U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_SYSTIME 64U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_CLSID 72U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_BINARY 258U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MV_FLAG 0x1000 /* This property type is multi-valued (an array) */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MV_INSTANCE 0x2000
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MVI_FLAG (MV_FLAG|MV_INSTANCE)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MVI_PROP(t) ((t)|MVI_FLAG)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifndef WINE_NO_UNICODE_MACROS
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# ifdef UNICODE
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# define PT_TSTRING PT_UNICODE
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# define PT_MV_TSTRING (MV_FLAG|PT_UNICODE)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# define LPSZ lpszW
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# define LPPSZ lppszW
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# define MVSZ MVszW
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# else
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# define PT_TSTRING PT_STRING8
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# define PT_MV_TSTRING (MV_FLAG|PT_STRING8)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# define LPSZ lpszA
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# define LPPSZ lppszA
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# define MVSZ MVszA
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PROP_TYPE_MASK 0xFFFFU
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PROP_TYPE(t) ((t) & PROP_TYPE_MASK)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PROP_ID(t) ((t) >> 16)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PROP_TAG(t,id) (((id) << 16) | t)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PROP_ID_NULL 0
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PROP_ID_INVALID 0xFFFF
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PR_NULL PROP_TAG(PT_NULL, PROP_ID_NULL)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CHANGE_PROP_TYPE(t,typ) ((0xFFFF0000 & t) | typ)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Multi-valued property types */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_MV_I2 (MV_FLAG|PT_I2)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_MV_SHORT PT_MV_I2
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_MV_LONG (MV_FLAG|PT_LONG)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_MV_I4 PT_MV_LONG
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_MV_R4 (MV_FLAG|PT_R4)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_MV_FLOAT PT_MV_R4
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_MV_DOUBLE (MV_FLAG|PT_DOUBLE)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_MV_R8 PT_MV_DOUBLE
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_MV_CURRENCY (MV_FLAG|PT_CURRENCY)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_MV_APPTIME (MV_FLAG|PT_APPTIME)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_MV_SYSTIME (MV_FLAG|PT_SYSTIME)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_MV_STRING8 (MV_FLAG|PT_STRING8)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_MV_BINARY (MV_FLAG|PT_BINARY)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_MV_UNICODE (MV_FLAG|PT_UNICODE)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_MV_CLSID (MV_FLAG|PT_CLSID)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_MV_I8 (MV_FLAG|PT_I8)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PT_MV_LONGLONG PT_MV_I8
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* The property tag structure. This describes a list of columns */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SPropTagArray
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cValues; /* Number of elements in aulPropTag */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG aulPropTag[MAPI_DIM]; /* Property tags */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SPropTagArray, *LPSPropTagArray;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CbNewSPropTagArray(c) (offsetof(SPropTagArray,aulPropTag)+(c)*sizeof(ULONG))
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CbSPropTagArray(p) CbNewSPropTagArray((p)->cValues)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SizedSPropTagArray(n,id) \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync struct _SPropTagArray_##id { ULONG cValues; ULONG aulPropTag[n]; } id
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Multi-valued PT_APPTIME property value */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SAppTimeArray
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cValues; /* Number of doubles in lpat */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync double *lpat; /* Pointer to double array of length cValues */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SAppTimeArray;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* PT_BINARY property value */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SBinary
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cb; /* Number of bytes in lpb */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPBYTE lpb; /* Pointer to byte array of length cb */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SBinary, *LPSBinary;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Multi-valued PT_BINARY property value */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SBinaryArray
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cValues; /* Number of SBinarys in lpbin */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync SBinary *lpbin; /* Pointer to SBinary array of length cValues */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SBinaryArray;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef SBinaryArray ENTRYLIST, *LPENTRYLIST;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Multi-valued PT_CY property value */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SCurrencyArray
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cValues; /* Number of CYs in lpcu */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync CY *lpcur; /* Pointer to CY array of length cValues */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SCurrencyArray;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Multi-valued PT_SYSTIME property value */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SDateTimeArray
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cValues; /* Number of FILETIMEs in lpft */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync FILETIME *lpft; /* Pointer to FILETIME array of length cValues */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SDateTimeArray;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Multi-valued PT_DOUBLE property value */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SDoubleArray
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cValues; /* Number of doubles in lpdbl */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync double *lpdbl; /* Pointer to double array of length cValues */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SDoubleArray;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Multi-valued PT_CLSID property value */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SGuidArray
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cValues; /* Number of GUIDs in lpguid */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync GUID *lpguid; /* Pointer to GUID array of length cValues */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SGuidArray;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Multi-valued PT_LONGLONG property value */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SLargeIntegerArray
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cValues; /* Number of long64s in lpli */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LARGE_INTEGER *lpli; /* Pointer to long64 array of length cValues */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SLargeIntegerArray;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Multi-valued PT_LONG property value */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SLongArray
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cValues; /* Number of longs in lpl */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LONG *lpl; /* Pointer to long array of length cValues */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SLongArray;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Multi-valued PT_STRING8 property value */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SLPSTRArray
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cValues; /* Number of Ascii strings in lppszA */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPSTR *lppszA; /* Pointer to Ascii string array of length cValues */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SLPSTRArray;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Multi-valued PT_FLOAT property value */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SRealArray
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cValues; /* Number of floats in lpflt */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync float *lpflt; /* Pointer to float array of length cValues */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SRealArray;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Multi-valued PT_SHORT property value */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SShortArray
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cValues; /* Number of shorts in lpb */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync short int *lpi; /* Pointer to short array of length cValues */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SShortArray;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Multi-valued PT_UNICODE property value */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SWStringArray
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cValues; /* Number of Unicode strings in lppszW */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPWSTR *lppszW; /* Pointer to Unicode string array of length cValues */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SWStringArray;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* A property value */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef union _PV
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync short int i;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LONG l;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ul;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync float flt;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync double dbl;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync unsigned short b;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync CY cur;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync double at;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync FILETIME ft;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPSTR lpszA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync SBinary bin;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPWSTR lpszW;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPGUID lpguid;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LARGE_INTEGER li;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync SShortArray MVi;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync SLongArray MVl;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync SRealArray MVflt;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync SDoubleArray MVdbl;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync SCurrencyArray MVcur;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync SAppTimeArray MVat;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync SDateTimeArray MVft;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync SBinaryArray MVbin;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync SLPSTRArray MVszA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync SWStringArray MVszW;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync SGuidArray MVguid;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync SLargeIntegerArray MVli;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync SCODE err;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LONG x;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} __UPV;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Property value structure. This is essentially a mini-Variant */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SPropValue
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulPropTag; /* The property type */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG dwAlignPad; /* Alignment, treat as reserved */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync union _PV Value; /* The property value */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SPropValue, *LPSPropValue;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Structure describing a table row (a collection of property values) */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SRow
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulAdrEntryPad; /* Padding, treat as reserved */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cValues; /* Count of property values in lpProbs */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPSPropValue lpProps; /* Pointer to an array of property values of length cValues */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SRow, *LPSRow;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Structure describing a set of table rows */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SRowSet
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cRows; /* Count of rows in aRow */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync SRow aRow[MAPI_DIM]; /* Array of rows of length cRows */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SRowSet, *LPSRowSet;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CbNewSRowSet(c) (offsetof(SRowSet,aRow)+(c)*sizeof(SRow))
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CbSRowSet(p) CbNewSRowSet((p)->cRows)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SizedSRowSet(n,id) \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync struct _SRowSet_##id { ULONG cRows; SRow aRow[n]; } id
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Structure describing a problem with a property */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SPropProblem
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulIndex; /* Index of the property */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulPropTag; /* Property tag of the property */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync SCODE scode; /* Error code of the problem */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SPropProblem, *LPSPropProblem;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* A collection of property problems */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SPropProblemArray
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cProblem; /* Number of problems in aProblem */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync SPropProblem aProblem[MAPI_DIM]; /* Array of problems of length cProblem */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SPropProblemArray, *LPSPropProblemArray;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* FPropContainsProp flags */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define FL_FULLSTRING ((ULONG)0x00000) /* Exact string match */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define FL_SUBSTRING ((ULONG)0x00001) /* Substring match */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define FL_PREFIX ((ULONG)0x00002) /* Prefix match */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define FL_IGNORECASE ((ULONG)0x10000) /* Case insensitive */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define FL_IGNORENONSPACE ((ULONG)0x20000) /* Ignore non spacing characters */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define FL_LOOSE ((ULONG)0x40000) /* Try very hard to match */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Table types returned by IMAPITable_GetStatus() */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define TBLTYPE_SNAPSHOT 0U /* Table is fixed at creation time and contents do not change */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define TBLTYPE_KEYSET 1U /* Table has a fixed number of rows, but row values may change */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define TBLTYPE_DYNAMIC 2U /* Table values and the number of rows may change */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Table status returned by IMAPITable_GetStatus() */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define TBLSTAT_COMPLETE 0U /* All operations have completed (normal status) */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define TBLSTAT_QCHANGED 7U /* Table data has changed as expected */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define TBLSTAT_SORTING 9U /* Table is being asynchronously sorted */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define TBLSTAT_SORT_ERROR 10U /* An error occurred while sorting the table */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define TBLSTAT_SETTING_COLS 11U /* Table columns are being asynchronously changed */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define TBLSTAT_SETCOL_ERROR 13U /* An error occurred during column changing */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define TBLSTAT_RESTRICTING 14U /* Table rows are being asynchronously restricted */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define TBLSTAT_RESTRICT_ERROR 15U /* An error occurred during row restriction */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Flags for IMAPITable operations that can be asynchronous */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define TBL_NOWAIT 1U /* Perform the operation asynchronously */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define TBL_BATCH 2U /* Perform the operation when the results are needed */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define TBL_ASYNC TBL_NOWAIT /* Synonym for TBL_NOWAIT */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Flags for IMAPITable_FindRow() */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DIR_BACKWARD 1U /* Read rows backwards from the start bookmark */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Table bookmarks */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef ULONG BOOKMARK;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define BOOKMARK_BEGINNING ((BOOKMARK)0) /* The first row */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define BOOKMARK_CURRENT ((BOOKMARK)1) /* The curent table row */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define BOOKMARK_END ((BOOKMARK)2) /* The last row */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Row restrictions */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SRestriction* LPSRestriction;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SAndRestriction
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cRes;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPSRestriction lpRes;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SAndRestriction;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SBitMaskRestriction
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG relBMR;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulPropTag;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulMask;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SBitMaskRestriction;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SCommentRestriction
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cValues;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPSRestriction lpRes;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPSPropValue lpProp;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SCommentRestriction;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define RELOP_LT 0U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define RELOP_LE 1U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define RELOP_GT 2U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define RELOP_GE 3U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define RELOP_EQ 4U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define RELOP_NE 5U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define RELOP_RE 6U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SComparePropsRestriction
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG relop;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulPropTag1;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulPropTag2;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SComparePropsRestriction;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SContentRestriction
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulFuzzyLevel;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulPropTag;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPSPropValue lpProp;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SContentRestriction;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SExistRestriction
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulReserved1;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulPropTag;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulReserved2;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SExistRestriction;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SNotRestriction
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulReserved;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPSRestriction lpRes;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SNotRestriction;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SOrRestriction
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cRes;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPSRestriction lpRes;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SOrRestriction;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SPropertyRestriction
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG relop;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulPropTag;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPSPropValue lpProp;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SPropertyRestriction;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SSizeRestriction
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG relop;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulPropTag;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cb;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SSizeRestriction;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SSubRestriction
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulSubObject;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPSRestriction lpRes;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SSubRestriction;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Restriction types */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define RES_AND 0U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define RES_OR 1U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define RES_NOT 2U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define RES_CONTENT 3U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define RES_PROPERTY 4U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define RES_COMPAREPROPS 5U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define RES_BITMASK 6U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define RES_SIZE 7U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define RES_EXIST 8U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define RES_SUBRESTRICTION 9U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define RES_COMMENT 10U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SRestriction
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG rt;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync union
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync SAndRestriction resAnd;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync SBitMaskRestriction resBitMask;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync SCommentRestriction resComment;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync SComparePropsRestriction resCompareProps;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync SContentRestriction resContent;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync SExistRestriction resExist;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync SNotRestriction resNot;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync SOrRestriction resOr;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync SPropertyRestriction resProperty;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync SSizeRestriction resSize;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync SSubRestriction resSub;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync } res;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SRestriction;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Errors */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _MAPIERROR
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulVersion; /* Mapi version */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#if defined (UNICODE) || defined (__WINESRC__)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPWSTR lpszError; /* Error and component strings. These are Ascii */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPWSTR lpszComponent; /* unless the MAPI_UNICODE flag is passed in */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#else
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPSTR lpszError;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPSTR lpszComponent;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulLowLevelError;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulContext;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} MAPIERROR, *LPMAPIERROR;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Sorting */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define TABLE_SORT_ASCEND 0U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define TABLE_SORT_DESCEND 1U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define TABLE_SORT_COMBINE 2U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SSortOrder
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulPropTag;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulOrder;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SSortOrder, *LPSSortOrder;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SSortOrderSet
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cSorts;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cCategories;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cExpanded;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync SSortOrder aSort[MAPI_DIM];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SSortOrderSet, * LPSSortOrderSet;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MNID_ID 0
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MNID_STRING 1
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _MAPINAMEID
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPGUID lpguid;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulKind;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync union
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LONG lID;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPWSTR lpwstrName;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync } Kind;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} MAPINAMEID, *LPMAPINAMEID;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Desired notification types (bitflags) */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define fnevCriticalError ((ULONG)0x00000001)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define fnevNewMail ((ULONG)0x00000002)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define fnevObjectCreated ((ULONG)0x00000004)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define fnevObjectDeleted ((ULONG)0x00000008)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define fnevObjectModified ((ULONG)0x00000010)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define fnevObjectMoved ((ULONG)0x00000020)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define fnevObjectCopied ((ULONG)0x00000040)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define fnevSearchComplete ((ULONG)0x00000080)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define fnevTableModified ((ULONG)0x00000100)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define fnevStatusObjectModified ((ULONG)0x00000200)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define fnevReservedForMapi ((ULONG)0x40000000)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define fnevExtended ((ULONG)0x80000000)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Type of notification event */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define TABLE_CHANGED 1U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define TABLE_ERROR 2U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define TABLE_ROW_ADDED 3U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define TABLE_ROW_DELETED 4U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define TABLE_ROW_MODIFIED 5U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define TABLE_SORT_DONE 6U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define TABLE_RESTRICT_DONE 7U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define TABLE_SETCOL_DONE 8U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define TABLE_RELOAD 9U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* fnevCriticalError notification */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _ERROR_NOTIFICATION
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cbEntryID;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPENTRYID lpEntryID;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync SCODE scode;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulFlags;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPMAPIERROR lpMAPIError;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} ERROR_NOTIFICATION;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* fnevNewMail notification */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _NEWMAIL_NOTIFICATION
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cbEntryID;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPENTRYID lpEntryID;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cbParentID;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPENTRYID lpParentID;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulFlags;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#if defined (UNICODE) || defined (__WINESRC__)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPWSTR lpszMessageClass;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#else
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPSTR lpszMessageClass;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulMessageFlags;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} NEWMAIL_NOTIFICATION;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* fnevObjectCreated/Deleted/Modified/Moved/Copied notification */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _OBJECT_NOTIFICATION
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cbEntryID;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPENTRYID lpEntryID;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulObjType;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cbParentID;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPENTRYID lpParentID;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cbOldID;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPENTRYID lpOldID;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cbOldParentID;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPENTRYID lpOldParentID;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPSPropTagArray lpPropTagArray;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} OBJECT_NOTIFICATION;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* fnevTableModified notification */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _TABLE_NOTIFICATION
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulTableEvent;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT hResult;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync SPropValue propIndex;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync SPropValue propPrior;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync SRow row;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulPad;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} TABLE_NOTIFICATION;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* fnevExtended notification */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _EXTENDED_NOTIFICATION
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulEvent;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cb;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPBYTE pbEventParameters;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} EXTENDED_NOTIFICATION;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* fnevStatusObjectModified notification */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cbEntryID;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPENTRYID lpEntryID;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cValues;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPSPropValue lpPropVals;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} STATUS_OBJECT_NOTIFICATION;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* The notification structure passed to advise sinks */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _NOTIFICATION
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulEventType;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulAlignPad;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync union
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ERROR_NOTIFICATION err;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync NEWMAIL_NOTIFICATION newmail;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync OBJECT_NOTIFICATION obj;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync TABLE_NOTIFICATION tab;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync EXTENDED_NOTIFICATION ext;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STATUS_OBJECT_NOTIFICATION statobj;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync } info;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} NOTIFICATION, *LPNOTIFICATION;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef LONG (WINAPI NOTIFCALLBACK)(LPVOID,ULONG,LPNOTIFICATION);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef NOTIFCALLBACK *LPNOTIFCALLBACK;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* IMAPIContainer::OpenEntry flags */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAPI_BEST_ACCESS 0x00000010
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*****************************************************************************
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * IMAPITable interface
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This is the read-only 'view' over an I(MAPI)TableData object.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define INTERFACE IMAPITable
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECLARE_INTERFACE_(IMAPITable,IUnknown)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IUnknown methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD_(ULONG,AddRef)(THIS) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD_(ULONG,Release)(THIS) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IMAPITable methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetLastError)(THIS_ HRESULT hRes, ULONG ulFlags, LPMAPIERROR *lppError) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(Advise)(THIS_ ULONG ulMask, LPMAPIADVISESINK lpSink, ULONG *lpCxn) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(Unadvise)(THIS_ ULONG ulCxn) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetStatus)(THIS_ ULONG *lpStatus, ULONG *lpType) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(SetColumns)(THIS_ LPSPropTagArray lpProps, ULONG ulFlags) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(QueryColumns)(THIS_ ULONG ulFlags, LPSPropTagArray *lpCols) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetRowCount)(THIS_ ULONG ulFlags, ULONG *lpCount) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(SeekRow)(THIS_ BOOKMARK lpStart, LONG lRows, LONG *lpSeeked) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(SeekRowApprox)(THIS_ ULONG ulNum, ULONG ulDenom) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(QueryPosition)(THIS_ ULONG *lpRow, ULONG *lpNum, ULONG *lpDenom) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(FindRow)(THIS_ LPSRestriction lpRestrict, BOOKMARK lpOrigin, ULONG ulFlags) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(Restrict)(THIS_ LPSRestriction lpRestrict, ULONG ulFlags) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(CreateBookmark)(THIS_ BOOKMARK *lppPos) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(FreeBookmark)(THIS_ BOOKMARK lpPos) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(SortTable)(THIS_ LPSSortOrderSet lpSortOpts, ULONG ulFlags) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(QuerySortOrder)(THIS_ LPSSortOrderSet *lppSortOpts) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(QueryRows)(THIS_ LONG lRows, ULONG ulFlags, LPSRowSet *lppRows) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(Abort) (THIS) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(ExpandRow)(THIS_ ULONG cbKey, LPBYTE lpKey, ULONG ulRows,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulFlags, LPSRowSet *lppRows, ULONG *lpMore) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(CollapseRow)(THIS_ ULONG cbKey, LPBYTE lpKey, ULONG ulFlags, ULONG *lpRows) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(WaitForCompletion)(THIS_ ULONG ulFlags, ULONG ulTime, ULONG *lpState) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetCollapseState)(THIS_ ULONG ulFlags, ULONG cbKey, LPBYTE lpKey,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG *lpStateLen, LPBYTE *lpState) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(SetCollapseState)(THIS_ ULONG ulFlags, ULONG ulLen,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPBYTE lpStart, BOOKMARK *lppWhere) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#undef INTERFACE
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#if !defined(__cplusplus) || defined(CINTERFACE)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IUnknown methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPITable_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPITable_AddRef(p) (p)->lpVtbl->AddRef(p)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPITable_Release(p) (p)->lpVtbl->Release(p)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IMAPITable methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPITable_GetLastError(p,a,b,c) (p)->lpVtbl->GetLastError(p,a,b,c)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPITable_Advise(p,a,b,c) (p)->lpVtbl->Advise(p,a,b,c)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPITable_Unadvise(p,a) (p)->lpVtbl->Unadvise(p,a)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPITable_GetStatus(p,a,b) (p)->lpVtbl->GetStatus(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPITable_SetColumns(p,a,b) (p)->lpVtbl->SetColumns(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPITable_QueryColumns(p,a,b) (p)->lpVtbl->QueryColumns(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPITable_GetRowCount(p,a,b) (p)->lpVtbl->GetRowCount(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPITable_SeekRow(p,a,b) (p)->lpVtbl->SeekRow(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPITable_SeekRowApprox(p,a,b) (p)->lpVtbl->SeekRowApprox(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPITable_QueryPosition(p,a,b) (p)->lpVtbl->QueryPosition(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPITable_FindRow(p,a,b,c) (p)->lpVtbl->FindRow(p,a,b,c)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPITable_Restrict(p,a,b) (p)->lpVtbl->Recstrict(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPITable_CreateBookmark(p,a) (p)->lpVtbl->CreateBookmark(p,a)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPITable_FreeBookmark(p,a) (p)->lpVtbl->FreeBookmark(p,a)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPITable_SortTable(p,a,b) (p)->lpVtbl->SortTable(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPITable_QuerySortOrder(p,a) (p)->lpVtbl->QuerySortOrder(p,a)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPITable_QueryRows(p,a,b,c) (p)->lpVtbl->QueryRows(p,a,b,c)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPITable_Abort(p) (p)->lpVtbl->Abort(p)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPITable_ExpandRow(p,a,b,c,d,e,f) (p)->lpVtbl->ExpandRow(p,a,b,c,d,e,f)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPITable_CollapseRow(p,a,b,c,d) (p)->lpVtbl->CollapseRow(p,a,b,c,d)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPITable_WaitForCompletion(p,a,b,c) (p)->lpVtbl->WaitForCompletion(p,a,b,c)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPITable_GetCollapseState(p,a,b,c,d,e) (p)->lpVtbl->GetCollapseState(p,a,b,c,d,e)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPITable_SetCollapseState(p,a,b,c,d) (p)->lpVtbl->SetCollapseState(p,a,b,c,d)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef IMAPITable *LPMAPITABLE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*****************************************************************************
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * IMAPIAdviseSink interface
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define INTERFACE IMAPIAdviseSink
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECLARE_INTERFACE_(IMAPIAdviseSink,IUnknown)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IUnknown methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD_(ULONG,AddRef)(THIS) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD_(ULONG,Release)(THIS) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IMAPIAdviseSink methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(OnNotify)(THIS_ ULONG NumNotif, LPNOTIFICATION lpNotif) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#undef INTERFACE
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#if !defined(__cplusplus) || defined(CINTERFACE)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IUnknown methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIAdviseSink_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIAdviseSink_AddRef(p) (p)->lpVtbl->AddRef(p)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIAdviseSink_Release(p) (p)->lpVtbl->Release(p)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IMAPIAdviseSink methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIAdviseSink_OnNotify(p,a,b) (p)->lpVtbl->OnNotify(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*****************************************************************************
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * IMAPIProp interface
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define INTERFACE IMAPIProp
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECLARE_INTERFACE_(IMAPIProp,IUnknown)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IUnknown methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD_(ULONG,AddRef)(THIS) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD_(ULONG,Release)(THIS) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IMAPIProp methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetLastError)(THIS_ HRESULT hRes, ULONG ulFlags, LPMAPIERROR *lppErr) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(SaveChanges)(THIS_ ULONG ulFlags) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetProps)(THIS_ LPSPropTagArray lpPropTags, ULONG ulFlags, ULONG *lpValues, LPSPropValue *lppProps) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetPropList)(THIS_ ULONG ulFlags, LPSPropTagArray *lppPropTagArray) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(OpenProperty)(THIS_ ULONG ulPropTag, LPCIID lpIid, ULONG ulOpts, ULONG ulFlags, LPUNKNOWN *lppUnk) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(SetProps)(THIS_ ULONG cValues, LPSPropValue lpProps, LPSPropProblemArray *lppProbs) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(DeleteProps)(THIS_ LPSPropTagArray lpPropTags, LPSPropProblemArray *lppProbs) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(CopyTo)(THIS_ ULONG ciidExclude, LPCIID lpIid, LPSPropTagArray lpProps, ULONG ulParam,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPMAPIPROGRESS lpProgress, LPCIID lpIface,LPVOID lpDest, ULONG ulFlags,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPSPropProblemArray *lppProbs) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(CopyProps)(THIS_ LPSPropTagArray lpIncludeProps, ULONG ulParam, LPMAPIPROGRESS lpProgress,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPCIID lpIid, LPVOID lpDestObj, ULONG ulFlags, LPSPropProblemArray *lppProblems) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetNamesFromIDs)(THIS_ LPSPropTagArray *lppPropTags, LPGUID lpIid, ULONG ulFlags, ULONG *lpCount,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPMAPINAMEID **lpppNames) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetIDsFromNames)(THIS_ ULONG cPropNames, LPMAPINAMEID *lppNames, ULONG ulFlags, LPSPropTagArray *lppPropTags) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#undef INTERFACE
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#if !defined(__cplusplus) || defined(CINTERFACE)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IUnknown methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIProp_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIProp_AddRef(p) (p)->lpVtbl->AddRef(p)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIProp_Release(p) (p)->lpVtbl->Release(p)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IMAPIProp methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIProp_GetLastError(p,a,b,c) (p)->lpVtbl->GetLastError(p,a,b,c)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIProp_SaveChanges(p,a) (p)->lpVtbl->SaveChanges(p,a)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIProp_GetProps(p,a,b,c,d) (p)->lpVtbl->GetProps(p,a,b,c,d)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIProp_GetPropList(p,a,b) (p)->lpVtbl->GetPropList(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIProp_OpenProperty(p,a,b,c,d,e) (p)->lpVtbl->OpenProperty(p,a,b,c,d,e)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIProp_SetProps(p,a,b,c) (p)->lpVtbl->SetProps(p,a,b,c)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIProp_DeleteProps(p,a,b) (p)->lpVtbl->DeleteProps(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIProp_CopyTo(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->CopyTo(p,a,b,c,d,e,f,g,h,i)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIProp_CopyProps(p,a,b,c,d,e,f,g) (p)->lpVtbl->CopyProps(p,a,b,c,d,e,f,g)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIProp_GetNamesFromIDs(p,a,b,c,d,e) (p)->lpVtbl->GetNamesFromIDs(p,a,b,c,d,e)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIProp_GetIDsFromNames(p,a,b,c,d) (p)->lpVtbl->GetIDsFromNames(p,a,b,c,d)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef IMAPIProp *LPMAPIPROP;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define KEEP_OPEN_READONLY (0x00000001U)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define KEEP_OPEN_READWRITE (0x00000002U)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define FORCE_SAVE (0x00000004U)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*****************************************************************************
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * IMsgStore interface
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define INTERFACE IMsgStore
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECLARE_INTERFACE_(IMsgStore,IMAPIProp)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IUnknown methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD_(ULONG,AddRef)(THIS) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD_(ULONG,Release)(THIS) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IMAPIProp methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetLastError)(THIS_ HRESULT hRes, ULONG ulFlags, LPMAPIERROR *lppErr) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(SaveChanges)(THIS_ ULONG ulFlags) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetProps)(THIS_ LPSPropTagArray lpPropTags, ULONG ulFlags, ULONG *lpValues, LPSPropValue *lppProps) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetPropList)(THIS_ ULONG ulFlags, LPSPropTagArray *lppPropTagArray) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(OpenProperty)(THIS_ ULONG ulPropTag, LPCIID lpIid, ULONG ulOpts, ULONG ulFlags, LPUNKNOWN *lppUnk) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(SetProps)(THIS_ ULONG cValues, LPSPropValue lpProps, LPSPropProblemArray *lppProbs) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(DeleteProps)(THIS_ LPSPropTagArray lpPropTags, LPSPropProblemArray *lppProbs) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(CopyTo)(THIS_ ULONG ciidExclude, LPCIID lpIid, LPSPropTagArray lpProps, ULONG ulParam,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPMAPIPROGRESS lpProgress, LPCIID lpIface,LPVOID lpDest, ULONG ulFlags,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPSPropProblemArray *lppProbs) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(CopyProps)(THIS_ LPSPropTagArray lpIncludeProps, ULONG ulParam, LPMAPIPROGRESS lpProgress,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPCIID lpIid, LPVOID lpDestObj, ULONG ulFlags, LPSPropProblemArray *lppProblems) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetNamesFromIDs)(THIS_ LPSPropTagArray *lppPropTags, LPGUID lpIid, ULONG ulFlags, ULONG *lpCount,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPMAPINAMEID **lpppNames) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetIDsFromNames)(THIS_ ULONG cPropNames, LPMAPINAMEID *lppNames, ULONG ulFlags, LPSPropTagArray *lppPropTags) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IMsgStore methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(Advise)(THIS_ ULONG cbEntryID, LPENTRYID lpEntryID, ULONG ulEventMask, LPMAPIADVISESINK lpAdviseSink,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG * lpulConnection) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(Unadvise)(THIS_ ULONG ulConnection) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(CompareEntryIDs)(THIS_ ULONG cbEntryID1, LPENTRYID lpEntryID1, ULONG cbEntryID2, LPENTRYID lpEntryID2,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulFlags, ULONG * lpulResult) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(OpenEntry)(THIS_ ULONG cbEntryID, LPENTRYID lpEntryID, LPCIID lpInterface, ULONG ulFlags, ULONG *lpulObjType,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPUNKNOWN *lppUnk) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(SetReceiveFolder)(THIS_ LPSTR lpszMessageClass, ULONG ulFlags, ULONG cbEntryID, LPENTRYID lpEntryID) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetReceiveFolder)(THIS_ LPSTR lpszMessageClass, ULONG ulFlags, ULONG * lpcbEntryID, LPENTRYID *lppEntryID,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPSTR *lppszExplicitClass) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetReceiveFolderTable)(THIS_ ULONG ulFlags, LPMAPITABLE * lppTable) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(StoreLogoff)(THIS_ ULONG * lpulFlags) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(AbortSubmit)(THIS_ ULONG cbEntryID, LPENTRYID lpEntryID, ULONG ulFlags) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetOutgoingQueue)(THIS_ ULONG ulFlags, LPMAPITABLE * lppTable) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(SetLockState)(THIS_ LPMESSAGE lpMessage, ULONG ulLockState) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(FinishedMsg)(THIS_ ULONG ulFlags, ULONG cbEntryID, LPENTRYID lpEntryID) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(NotifyNewMail)(THIS_ LPNOTIFICATION lpNotification) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#undef INTERFACE
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#if !defined(__cplusplus) || defined(CINTERFACE)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IUnknown methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMsgStore_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMsgStore_AddRef(p) (p)->lpVtbl->AddRef(p)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMsgStore_Release(p) (p)->lpVtbl->Release(p)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IMAPIProp methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMsgStore_GetLastError(p,a,b,c) (p)->lpVtbl->GetLastError(p,a,b,c)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMsgStore_SaveChanges(p,a) (p)->lpVtbl->SaveChanges(p,a)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMsgStore_GetProps(p,a,b,c,d) (p)->lpVtbl->GetProps(p,a,b,c,d)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMsgStore_GetPropList(p,a,b) (p)->lpVtbl->GetPropList(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMsgStore_OpenProperty(p,a,b,c,d,e) (p)->lpVtbl->OpenProperty(p,a,b,c,d,e)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMsgStore_SetProps(p,a,b,c) (p)->lpVtbl->SetProps(p,a,b,c)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMsgStore_DeleteProps(p,a,b) (p)->lpVtbl->DeleteProps(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMsgStore_CopyTo(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->CopyTo(p,a,b,c,d,e,f,g,h,i)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMsgStore_CopyProps(p,a,b,c,d,e,f,g) (p)->lpVtbl->CopyProps(p,a,b,c,d,e,f,g)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMsgStore_GetNamesFromIDs(p,a,b,c,d,e) (p)->lpVtbl->GetNamesFromIDs(p,a,b,c,d,e)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMsgStore_GetIDsFromNames(p,a,b,c,d) (p)->lpVtbl->GetIDsFromNames(p,a,b,c,d)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IMsgStore methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMsgStore_Advise(p,a,b,c,d,e) (p)->lpVtbl->Advise(p,a,b,c,d,e)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMsgStore_Unadvise(p,a) (p)->lpVtbl->Unadvise(p,a)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMsgStore_CompareEntryIDs(p,a,b,c,d,e,f) (p)->lpVtbl->CompareEntryIDs(p,a,b,c,d,e,f)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMsgStore_OpenEntry(p,a,b,c,d,e,f) (p)->lpVtbl->OpenEntry(p,a,b,c,d,e,f)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMsgStore_SetReceiveFolder(p,a,b,c,d) (p)->lpVtbl->SetReceiveFolder(p,a,b,c,d)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMsgStore_GetReceiveFolder(p,a,b,c,d,e) (p)->lpVtbl->GetReceiveFolder(p,a,b,c,d,e)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMsgStore_GetReceiveFolderTable(p,a,b) (p)->lpVtbl->GetReceiveFolderTable(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMsgStore_StoreLogoff(p,a) (p)->lpVtbl->StoreLogoff(p,a)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMsgStore_AbortSubmit(p,a,b,c) (p)->lpVtbl->AbortSubmit(p,a,b,c)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMsgStore_GetOutgoingQueue(p,a,b) (p)->lpVtbl->GetOutgoingQueue(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMsgStore_SetLockState(p,a,b) (p)->lpVtbl->SetLockState(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMsgStore_FinishedMsg(p,a,b,c) (p)->lpVtbl->FinishedMsg(p,a,b,c)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMsgStore_NotifyNewMail(p,a) (p)->lpVtbl->NotifyNewMail(p,a)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef IMsgStore *LPMDB;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*****************************************************************************
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * IMAPIContainer interface
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define INTERFACE IMAPIContainer
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECLARE_INTERFACE_(IMAPIContainer,IMAPIProp)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IUnknown methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD_(ULONG,AddRef)(THIS) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD_(ULONG,Release)(THIS) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IMAPIProp methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetLastError)(THIS_ HRESULT hRes, ULONG ulFlags, LPMAPIERROR *lppErr) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(SaveChanges)(THIS_ ULONG ulFlags) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetProps)(THIS_ LPSPropTagArray lpPropTags, ULONG ulFlags, ULONG *lpValues, LPSPropValue *lppProps) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetPropList)(THIS_ ULONG ulFlags, LPSPropTagArray *lppPropTagArray) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(OpenProperty)(THIS_ ULONG ulPropTag, LPCIID lpIid, ULONG ulOpts, ULONG ulFlags, LPUNKNOWN *lppUnk) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(SetProps)(THIS_ ULONG cValues, LPSPropValue lpProps, LPSPropProblemArray *lppProbs) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(DeleteProps)(THIS_ LPSPropTagArray lpPropTags, LPSPropProblemArray *lppProbs) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(CopyTo)(THIS_ ULONG ciidExclude, LPCIID lpIid, LPSPropTagArray lpProps, ULONG ulParam,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPMAPIPROGRESS lpProgress, LPCIID lpIface,LPVOID lpDest, ULONG ulFlags,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPSPropProblemArray *lppProbs) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(CopyProps)(THIS_ LPSPropTagArray lpIncludeProps, ULONG ulParam, LPMAPIPROGRESS lpProgress,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPCIID lpIid, LPVOID lpDestObj, ULONG ulFlags, LPSPropProblemArray *lppProblems) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetNamesFromIDs)(THIS_ LPSPropTagArray *lppPropTags, LPGUID lpIid, ULONG ulFlags, ULONG *lpCount,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPMAPINAMEID **lpppNames) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetIDsFromNames)(THIS_ ULONG cPropNames, LPMAPINAMEID *lppNames, ULONG ulFlags, LPSPropTagArray *lppPropTags) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IMAPIContainer methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetContentsTable)(THIS_ ULONG ulFlags, LPMAPITABLE * lppTable) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetHierarchyTable)(THIS_ ULONG ulFlags, LPMAPITABLE * lppTable) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(OpenEntry)(THIS_ ULONG cbEntryID, LPENTRYID lpEntryID, LPCIID lpInterface, ULONG ulFlags,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG * lpulObjType, LPUNKNOWN * lppUnk) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(SetSearchCriteria)(THIS_ LPSRestriction lpRestriction, LPENTRYLIST lpContainerList, ULONG ulSearchFlags) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetSearchCriteria)(THIS_ ULONG ulFlags, LPSRestriction * lppRestriction, LPENTRYLIST * lppContainerList,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG * lpulSearchState) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#undef INTERFACE
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#if !defined(__cplusplus) || defined(CINTERFACE)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IUnknown methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIContainer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIContainer_AddRef(p) (p)->lpVtbl->AddRef(p)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIContainer_Release(p) (p)->lpVtbl->Release(p)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IMAPIProp methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIContainer_GetLastError(p,a,b,c) (p)->lpVtbl->GetLastError(p,a,b,c)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIContainer_SaveChanges(p,a) (p)->lpVtbl->SaveChanges(p,a)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIContainer_GetProps(p,a,b,c,d) (p)->lpVtbl->GetProps(p,a,b,c,d)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIContainer_GetPropList(p,a,b) (p)->lpVtbl->GetPropList(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIContainer_OpenProperty(p,a,b,c,d,e) (p)->lpVtbl->OpenProperty(p,a,b,c,d,e)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIContainer_SetProps(p,a,b,c) (p)->lpVtbl->SetProps(p,a,b,c)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIContainer_DeleteProps(p,a,b) (p)->lpVtbl->DeleteProps(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIContainer_CopyTo(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->CopyTo(p,a,b,c,d,e,f,g,h,i)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIContainer_CopyProps(p,a,b,c,d,e,f,g) (p)->lpVtbl->CopyProps(p,a,b,c,d,e,f,g)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIContainer_GetNamesFromIDs(p,a,b,c,d,e) (p)->lpVtbl->GetNamesFromIDs(p,a,b,c,d,e)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIContainer_GetIDsFromNames(p,a,b,c,d) (p)->lpVtbl->GetIDsFromNames(p,a,b,c,d)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IMAPIContainer methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIContainer_GetContentsTable(p,a,b) (p)->lpVtbl->GetContentsTable(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIContainer_GetHierarchyTable(p,a,b) (p)->lpVtbl->GetHierarchyTable(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIContainer_OpenEntry(p,a,b,c,d,e,f) (p)->lpVtbl->OpenEntry(p,a,b,c,d,e,f)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIContainer_SetSearchCriteria(p,a,b,c) (p)->lpVtbl->SetSearchCriteria(p,a,b,c)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIContainer_GetSearchCriteria(p,a,b,c,d) (p)->lpVtbl->GetSearchCriteria(p,a,b,c,d)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*****************************************************************************
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * IMAPIFolder interface
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define INTERFACE IMAPIFolder
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECLARE_INTERFACE_(IMAPIFolder,IMAPIContainer)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IUnknown methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD_(ULONG,AddRef)(THIS) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD_(ULONG,Release)(THIS) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IMAPIProp methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetLastError)(THIS_ HRESULT hRes, ULONG ulFlags, LPMAPIERROR *lppErr) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(SaveChanges)(THIS_ ULONG ulFlags) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetProps)(THIS_ LPSPropTagArray lpPropTags, ULONG ulFlags, ULONG *lpValues, LPSPropValue *lppProps) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetPropList)(THIS_ ULONG ulFlags, LPSPropTagArray *lppPropTagArray) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(OpenProperty)(THIS_ ULONG ulPropTag, LPCIID lpIid, ULONG ulOpts, ULONG ulFlags, LPUNKNOWN *lppUnk) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(SetProps)(THIS_ ULONG cValues, LPSPropValue lpProps, LPSPropProblemArray *lppProbs) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(DeleteProps)(THIS_ LPSPropTagArray lpPropTags, LPSPropProblemArray *lppProbs) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(CopyTo)(THIS_ ULONG ciidExclude, LPCIID lpIid, LPSPropTagArray lpProps, ULONG ulParam,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPMAPIPROGRESS lpProgress, LPCIID lpIface,LPVOID lpDest, ULONG ulFlags,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPSPropProblemArray *lppProbs) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(CopyProps)(THIS_ LPSPropTagArray lpIncludeProps, ULONG ulParam, LPMAPIPROGRESS lpProgress,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPCIID lpIid, LPVOID lpDestObj, ULONG ulFlags, LPSPropProblemArray *lppProblems) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetNamesFromIDs)(THIS_ LPSPropTagArray *lppPropTags, LPGUID lpIid, ULONG ulFlags, ULONG *lpCount,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPMAPINAMEID **lpppNames) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetIDsFromNames)(THIS_ ULONG cPropNames, LPMAPINAMEID *lppNames, ULONG ulFlags, LPSPropTagArray *lppPropTags) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IMAPIContainer methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetContentsTable)(THIS_ ULONG ulFlags, LPMAPITABLE * lppTable) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetHierarchyTable)(THIS_ ULONG ulFlags, LPMAPITABLE * lppTable) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(OpenEntry)(THIS_ ULONG cbEntryID, LPENTRYID lpEntryID, LPCIID lpInterface, ULONG ulFlags,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG * lpulObjType, LPUNKNOWN * lppUnk) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(SetSearchCriteria)(THIS_ LPSRestriction lpRestriction, LPENTRYLIST lpContainerList, ULONG ulSearchFlags) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetSearchCriteria)(THIS_ ULONG ulFlags, LPSRestriction * lppRestriction, LPENTRYLIST * lppContainerList,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG * lpulSearchState) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IMAPIFolder methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(CreateMessage)(THIS_ LPCIID lpInterface, ULONG ulFlags, LPMESSAGE *lppMessage) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(CopyMessages)(THIS_ LPENTRYLIST lpMsgList, LPCIID lpInterface, LPVOID lpDestFolder, ULONG ulUIParam,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPMAPIPROGRESS lpProgress, ULONG ulFlags) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(DeleteMessages)(THIS_ LPENTRYLIST lpMsgList, ULONG ulUIParam, LPMAPIPROGRESS lpProgress, ULONG ulFlags) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(CreateFolder)(THIS_ ULONG ulFolderType, LPSTR lpszFolderName, LPSTR lpszFolderComment, LPCIID lpInterface,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulFlags, LPMAPIFOLDER lppFolder) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(CopyFolder)(THIS_ ULONG cbEntryID, LPENTRYID lpEntryID, LPCIID lpInterface, LPVOID lpDestFolder,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPSTR lpszNewFolderName, ULONG ulUIParam, LPMAPIPROGRESS lpProgress, ULONG ulFlags) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(DeleteFolder)(THIS_ ULONG cbEntryID, LPENTRYID lpEntryID, ULONG ulUIParam, LPMAPIPROGRESS lpProgress,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulFlags) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(SetReadFlags)(THIS_ LPENTRYLIST lpMsgList, ULONG ulUIParam, LPMAPIPROGRESS lpProgress, ULONG ulFlags) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetMessageStatus)(THIS_ ULONG cbEntryID, LPENTRYID lpEntryID, ULONG ulFlags, ULONG * lpulMessageStatus) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(SetMessageStatus)(THIS_ ULONG cbEntryID, LPENTRYID lpEntryID, ULONG ulNewStatus,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulNewStatusMask, ULONG * lpulOldStatus) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(SaveContentsSort)(THIS_ LPSSortOrderSet lpSortCriteria, ULONG ulFlags) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(EmptyFolder) (THIS_ ULONG ulUIParam, LPMAPIPROGRESS lpProgress, ULONG ulFlags) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#undef INTERFACE
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#if !defined(__cplusplus) || defined(CINTERFACE)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IUnknown methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIFolder_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIFolder_AddRef(p) (p)->lpVtbl->AddRef(p)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIFolder_Release(p) (p)->lpVtbl->Release(p)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IMAPIProp methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIFolder_GetLastError(p,a,b,c) (p)->lpVtbl->GetLastError(p,a,b,c)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIFolder_SaveChanges(p,a) (p)->lpVtbl->SaveChanges(p,a)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIFolder_GetProps(p,a,b,c,d) (p)->lpVtbl->GetProps(p,a,b,c,d)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIFolder_GetPropList(p,a,b) (p)->lpVtbl->GetPropList(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIFolder_OpenProperty(p,a,b,c,d,e) (p)->lpVtbl->OpenProperty(p,a,b,c,d,e)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIFolder_SetProps(p,a,b,c) (p)->lpVtbl->SetProps(p,a,b,c)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIFolder_DeleteProps(p,a,b) (p)->lpVtbl->DeleteProps(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIFolder_CopyTo(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->CopyTo(p,a,b,c,d,e,f,g,h,i)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIFolder_CopyProps(p,a,b,c,d,e,f,g) (p)->lpVtbl->CopyProps(p,a,b,c,d,e,f,g)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIFolder_GetNamesFromIDs(p,a,b,c,d,e) (p)->lpVtbl->GetNamesFromIDs(p,a,b,c,d,e)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIFolder_GetIDsFromNames(p,a,b,c,d) (p)->lpVtbl->GetIDsFromNames(p,a,b,c,d)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IMAPIContainer methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIFolder_GetContentsTable(p,a,b) (p)->lpVtbl->GetContentsTable(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIFolder_GetHierarchyTable(p,a,b) (p)->lpVtbl->GetHierarchyTable(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIFolder_OpenEntry(p,a,b,c,d,e,f) (p)->lpVtbl->OpenEntry(p,a,b,c,d,e,f)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIFolder_SetSearchCriteria(p,a,b,c) (p)->lpVtbl->SetSearchCriteria(p,a,b,c)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIFolder_GetSearchCriteria(p,a,b,c,d) (p)->lpVtbl->GetSearchCriteria(p,a,b,c,d)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IMAPIFolder methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIFolder_CreateMessage(p,a,b,c) (p)->lpVtbl->CreateMessage(p,a,b,c)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIFolder_CopyMessages(p,a,b,c,d,e,f) (p)->lpVtbl->CopyMessages(p,a,b,c,d,e,f)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIFolder_DeleteMessages(p,a,b,c,d) (p)->lpVtbl->DeleteMessages(p,a,b,c,d)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIFolder_CreateFolder(p,a,b,c,d,e,f) (p)->lpVtbl->CreateFolder(p,a,b,c,d,e,f)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIFolder_CopyFolder(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->CopyFolder(p,a,b,c,d,e,f,g,h)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIFolder_DeleteFolder(p,a,b,c,d,e) (p)->lpVtbl->CreateFolder(p,a,b,c,d,e)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIFolder_SetReadFlags(p,a,b,c,d) (p)->lpVtbl->SetReadFlags(p,a,b,c,d)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIFolder_GetMessageStatus(p,a,b,c,d) (p)->lpVtbl->GetMessageStatus(p,a,b,c,d)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIFolder_SetMessageStatus(p,a,b,c,d,e) (p)->lpVtbl->SetMessageStatus(p,a,b,c,d,e)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIFolder_SaveContentsSort(p,a,b) (p)->lpVtbl->SaveContentsSort(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMAPIFolder_EmptyFolder(p,a,b,c) (p)->lpVtbl->EmptyFolder(p,a,b,c)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cb;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BYTE abEntry[MAPI_DIM];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} FLATENTRY, *LPFLATENTRY;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cEntries;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cbEntries;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BYTE abEntries[MAPI_DIM];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} FLATENTRYLIST, *LPFLATENTRYLIST;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cb;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BYTE ab[MAPI_DIM];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} MTSID, *LPMTSID;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cMTSIDs;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cbMTSIDs;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BYTE abMTSIDs[MAPI_DIM];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} FLATMTSIDLIST, *LPFLATMTSIDLIST;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _ADRENTRY
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulReserved1;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cValues;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPSPropValue rgPropVals;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} ADRENTRY, *LPADRENTRY;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _ADRLIST
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cEntries;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ADRENTRY aEntries[MAPI_DIM];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} ADRLIST, *LPADRLIST;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*****************************************************************************
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * IMessage interface
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define INTERFACE IMessage
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECLARE_INTERFACE_(IMessage,IMAPIProp)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IUnknown methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD_(ULONG,AddRef)(THIS) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD_(ULONG,Release)(THIS) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IMAPIProp methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetLastError)(THIS_ HRESULT hRes, ULONG ulFlags, LPMAPIERROR *lppErr) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(SaveChanges)(THIS_ ULONG ulFlags) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetProps)(THIS_ LPSPropTagArray lpPropTags, ULONG ulFlags, ULONG *lpValues, LPSPropValue *lppProps) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetPropList)(THIS_ ULONG ulFlags, LPSPropTagArray *lppPropTagArray) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(OpenProperty)(THIS_ ULONG ulPropTag, LPCIID lpIid, ULONG ulOpts, ULONG ulFlags, LPUNKNOWN *lppUnk) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(SetProps)(THIS_ ULONG cValues, LPSPropValue lpProps, LPSPropProblemArray *lppProbs) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(DeleteProps)(THIS_ LPSPropTagArray lpPropTags, LPSPropProblemArray *lppProbs) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(CopyTo)(THIS_ ULONG ciidExclude, LPCIID lpIid, LPSPropTagArray lpProps, ULONG ulParam,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPMAPIPROGRESS lpProgress, LPCIID lpIface,LPVOID lpDest, ULONG ulFlags,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPSPropProblemArray *lppProbs) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(CopyProps)(THIS_ LPSPropTagArray lpIncludeProps, ULONG ulParam, LPMAPIPROGRESS lpProgress,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPCIID lpIid, LPVOID lpDestObj, ULONG ulFlags, LPSPropProblemArray *lppProblems) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetNamesFromIDs)(THIS_ LPSPropTagArray *lppPropTags, LPGUID lpIid, ULONG ulFlags, ULONG *lpCount,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPMAPINAMEID **lpppNames) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetIDsFromNames)(THIS_ ULONG cPropNames, LPMAPINAMEID *lppNames, ULONG ulFlags, LPSPropTagArray *lppPropTags) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IMessage methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetAttachmentTable)(THIS_ ULONG ulFlags, LPMAPITABLE *lppTable) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(OpenAttach)(THIS_ ULONG ulAttachmentNum, LPCIID lpInterface, ULONG ulFlags, LPATTACH *lppAttach) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(CreateAttach)(THIS_ LPCIID lpInterface, ULONG ulFlags, ULONG *lpulAttachmentNum, LPATTACH *lppAttach) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(DeleteAttach)(THIS_ ULONG ulAttachmentNum, ULONG ulUIParam, LPMAPIPROGRESS lpProgress, ULONG ulFlags) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetRecipientTable)(THIS_ ULONG ulFlags, LPMAPITABLE *lppTable) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(ModifyRecipients)(THIS_ ULONG ulFlags, LPADRLIST lpMods) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(SubmitMessage)(THIS_ ULONG ulFlags) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(SetReadFlag)(THIS_ ULONG ulFlags) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#undef INTERFACE
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#if !defined(__cplusplus) || defined(CINTERFACE)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IUnknown methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMessage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMessage_AddRef(p) (p)->lpVtbl->AddRef(p)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMessage_Release(p) (p)->lpVtbl->Release(p)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IMAPIProp methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMessage_GetLastError(p,a,b,c) (p)->lpVtbl->GetLastError(p,a,b,c)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMessage_SaveChanges(p,a) (p)->lpVtbl->SaveChanges(p,a)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMessage_GetProps(p,a,b,c,d) (p)->lpVtbl->GetProps(p,a,b,c,d)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMessage_GetPropList(p,a,b) (p)->lpVtbl->GetPropList(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMessage_OpenProperty(p,a,b,c,d,e) (p)->lpVtbl->OpenProperty(p,a,b,c,d,e)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMessage_SetProps(p,a,b,c) (p)->lpVtbl->SetProps(p,a,b,c)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMessage_DeleteProps(p,a,b) (p)->lpVtbl->DeleteProps(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMessage_CopyTo(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->CopyTo(p,a,b,c,d,e,f,g,h,i)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMessage_CopyProps(p,a,b,c,d,e,f,g) (p)->lpVtbl->CopyProps(p,a,b,c,d,e,f,g)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMessage_GetNamesFromIDs(p,a,b,c,d,e) (p)->lpVtbl->GetNamesFromIDs(p,a,b,c,d,e)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMessage_GetIDsFromNames(p,a,b,c,d) (p)->lpVtbl->GetIDsFromNames(p,a,b,c,d)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IMessage methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMessage_GetAttachmentTable(p,a,b) (p)->lpVtbl->GetAttachmentTable(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMessage_OpenAttach(p,a,b,c,d) (p)->lpVtbl->OpenAttach(p,a,b,c,d)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMessage_CreateAttach(p,a,b,c,d) (p)->lpVtbl->CreateAttach(p,a,b,c,d)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMessage_DeleteAttach(p,a,b,c,d) (p)->lpVtbl->DeleteAttach(p,a,b,c,d)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMessage_GetRecipientTable(p,a,b) (p)->lpVtbl->GetRecipientTable(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMessage_ModifyRecipients(p,a,b) (p)->lpVtbl->ModifyRecipients(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMessage_SubmitMessage(p,a) (p)->lpVtbl->SubmitMessage(p,a)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IMessage_SetReadFlag(p,a) (p)->lpVtbl->SetReadFlag(p,a)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Message flags (PR_MESSAGE_FLAGS) */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MSGFLAG_READ 0x00000001U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MSGFLAG_UNMODIFIED 0x00000002U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MSGFLAG_SUBMIT 0x00000004U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MSGFLAG_UNSENT 0x00000008U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MSGFLAG_HASATTACH 0x00000010U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MSGFLAG_FROMME 0x00000020U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*****************************************************************************
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * IAttach interface
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define INTERFACE IAttach
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECLARE_INTERFACE_(IAttach,IMAPIProp)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IUnknown methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD_(ULONG,AddRef)(THIS) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD_(ULONG,Release)(THIS) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IMAPIProp methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetLastError)(THIS_ HRESULT hRes, ULONG ulFlags, LPMAPIERROR *lppErr) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(SaveChanges)(THIS_ ULONG ulFlags) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetProps)(THIS_ LPSPropTagArray lpPropTags, ULONG ulFlags, ULONG *lpValues, LPSPropValue *lppProps) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetPropList)(THIS_ ULONG ulFlags, LPSPropTagArray *lppPropTagArray) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(OpenProperty)(THIS_ ULONG ulPropTag, LPCIID lpIid, ULONG ulOpts, ULONG ulFlags, LPUNKNOWN *lppUnk) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(SetProps)(THIS_ ULONG cValues, LPSPropValue lpProps, LPSPropProblemArray *lppProbs) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(DeleteProps)(THIS_ LPSPropTagArray lpPropTags, LPSPropProblemArray *lppProbs) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(CopyTo)(THIS_ ULONG ciidExclude, LPCIID lpIid, LPSPropTagArray lpProps, ULONG ulParam,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPMAPIPROGRESS lpProgress, LPCIID lpIface,LPVOID lpDest, ULONG ulFlags,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPSPropProblemArray *lppProbs) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(CopyProps)(THIS_ LPSPropTagArray lpIncludeProps, ULONG ulParam, LPMAPIPROGRESS lpProgress,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPCIID lpIid, LPVOID lpDestObj, ULONG ulFlags, LPSPropProblemArray *lppProblems) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetNamesFromIDs)(THIS_ LPSPropTagArray *lppPropTags, LPGUID lpIid, ULONG ulFlags, ULONG *lpCount,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPMAPINAMEID **lpppNames) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetIDsFromNames)(THIS_ ULONG cPropNames, LPMAPINAMEID *lppNames, ULONG ulFlags, LPSPropTagArray *lppPropTags) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#undef INTERFACE
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#if !defined(__cplusplus) || defined(CINTERFACE)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IUnknown methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IAttach_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IAttach_AddRef(p) (p)->lpVtbl->AddRef(p)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IAttach_Release(p) (p)->lpVtbl->Release(p)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IMAPIProp methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IAttach_GetLastError(p,a,b,c) (p)->lpVtbl->GetLastError(p,a,b,c)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IAttach_SaveChanges(p,a) (p)->lpVtbl->SaveChanges(p,a)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IAttach_GetProps(p,a,b,c,d) (p)->lpVtbl->GetProps(p,a,b,c,d)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IAttach_GetPropList(p,a,b) (p)->lpVtbl->GetPropList(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IAttach_OpenProperty(p,a,b,c,d,e) (p)->lpVtbl->OpenProperty(p,a,b,c,d,e)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IAttach_SetProps(p,a,b,c) (p)->lpVtbl->SetProps(p,a,b,c)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IAttach_DeleteProps(p,a,b) (p)->lpVtbl->DeleteProps(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IAttach_CopyTo(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->CopyTo(p,a,b,c,d,e,f,g,h,i)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IAttach_CopyProps(p,a,b,c,d,e,f,g) (p)->lpVtbl->CopyProps(p,a,b,c,d,e,f,g)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IAttach_GetNamesFromIDs(p,a,b,c,d,e) (p)->lpVtbl->GetNamesFromIDs(p,a,b,c,d,e)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IAttach_GetIDsFromNames(p,a,b,c,d) (p)->lpVtbl->GetIDsFromNames(p,a,b,c,d)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Attachment flags */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define NO_ATTACHMENT 0x00000000U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define ATTACH_BY_VALUE 0x00000001U
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif /*MAPIDEFS_H*/