XPOPTION.H
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:2k
源码类别:

Windows编程

开发平台:

Visual C++

  1. /*
  2.  -  X P O P T I O N . H
  3.  -
  4.  *  Purpose:
  5.  *      Defines a wrapped implementation of an IMAPIProp interface
  6.  *      to be used by ScOptionDataCallBack() to wrap the IMAPIProp passed 
  7.  *      in.  This object is wrapped so we can effect the behavior of the 
  8.  *      OpenProperty() call.  Specifically, we wish to put up a Property 
  9.  *      Sheet when the user tries to open the PR_DETAILS_TABLE property.
  10.  *
  11.  *  Copyright 1992-1995 Microsoft Corporation.  All Rights Reserved.
  12.  */
  13. /*
  14.  *  Wrapped IMAPIProp Interface declaration.
  15.  */
  16. #undef  INTERFACE
  17. #define INTERFACE   struct _WMPROP
  18. #undef  MAPIMETHOD_
  19. #define MAPIMETHOD_(type, method)   MAPIMETHOD_DECLARE(type, method, WMPROP_)
  20.         MAPI_IUNKNOWN_METHODS(IMPL)
  21.         MAPI_IMAPIPROP_METHODS(IMPL)
  22. #undef  MAPIMETHOD_
  23. #define MAPIMETHOD_(type, method)   MAPIMETHOD_TYPEDEF(type, method, WMPROP_)
  24.         MAPI_IUNKNOWN_METHODS(IMPL)
  25.         MAPI_IMAPIPROP_METHODS(IMPL)
  26. #undef  MAPIMETHOD_
  27. #define MAPIMETHOD_(type, method)   STDMETHOD_(type, method)
  28. DECLARE_MAPI_INTERFACE(WMPROP_)
  29. {
  30.     MAPI_IUNKNOWN_METHODS(IMPL)
  31.     MAPI_IMAPIPROP_METHODS(IMPL)
  32. };
  33. typedef struct _WMPROP 
  34. {
  35.     WMPROP_Vtbl *       lpVtbl;
  36.     /* Need to be the same as other objects */
  37.     
  38.     LONG                lcInit;
  39.     /* MAPI memory routines */
  40.     
  41.     LPALLOCATEBUFFER    lpAllocBuff;
  42.     LPALLOCATEMORE      lpAllocMore;
  43.     LPFREEBUFFER        lpFreeBuff;
  44.     /* Private data */
  45.     
  46.     HINSTANCE           hInst;
  47.     LPMALLOC            lpMalloc;
  48.     ULONG               ulType;
  49.     ULONG               cbOptionData;
  50.     LPBYTE              lpbOptionData;
  51.     LPMAPIPROP          lpMAPIProp;
  52. } WMPROP, FAR *LPWMPROP;