XPSTATUS.H
资源名称:MSDN_VC98.zip [点击查看]
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:2k
源码类别:
Windows编程
开发平台:
Visual C++
- /*
- - X P S T A T U S . H
- -
- * Purpose:
- * Definitions, typedefs and prototypes used by the Sample Transport
- * Provider status interface.
- *
- * Copyright 1992-1995 Microsoft Corporation. All Rights Reserved.
- */
- /* Local (not exported) functions */
- /* Called at TransportLogon() time to register the Status
- Table row for this transport session. */
- HRESULT HrBuildTransportStatus (LPXPL lpSession, ULONG ulFlags);
- /* Called at various times (send, receive, notify) to cause
- the PR_STATUS_CODE property in the Status Table to be
- updated with a new value. */
- HRESULT HrUpdateTransportStatus (LPXPL lpSession, ULONG ulFlags);
- /* Status Object method prototypes */
- #undef INTERFACE
- #define INTERFACE struct _SOB
- #undef MAPIMETHOD_
- #define MAPIMETHOD_(type, method) MAPIMETHOD_DECLARE(type, method, SOB_)
- MAPI_IUNKNOWN_METHODS(IMPL)
- MAPI_IMAPIPROP_METHODS(IMPL)
- MAPI_IMAPISTATUS_METHODS(IMPL)
- #undef MAPIMETHOD_
- #define MAPIMETHOD_(type, method) MAPIMETHOD_TYPEDEF(type, method, SOB_)
- MAPI_IUNKNOWN_METHODS(IMPL)
- MAPI_IMAPIPROP_METHODS(IMPL)
- MAPI_IMAPISTATUS_METHODS(IMPL)
- #undef MAPIMETHOD_
- #define MAPIMETHOD_(type, method) STDMETHOD_(type, method)
- DECLARE_MAPI_INTERFACE(SOB_)
- {
- MAPI_IUNKNOWN_METHODS(IMPL)
- MAPI_IMAPIPROP_METHODS(IMPL)
- MAPI_IMAPISTATUS_METHODS(IMPL)
- };
- /* Actual status object memory structure */
- typedef struct _SOB
- {
- SOB_Vtbl FAR * lpVtbl; /* Call Table */
- LONG lcInit; /* Usage Count */
- struct _SOB * lpsobMyAddress; /* Pointer to myself, used to validate */
- HRESULT hrLastError; /* Saved last error */
- ULONG ulOpenFlags; /* Flags used to open the object */
- LPXPL lpxpl; /* XP Session associated with object */
- LPALLOCATEBUFFER AllocateBuffer; /* MAPIAllocateBuffer func pointer */
- LPALLOCATEMORE AllocateMore; /* MAPIAllocateMore func pointer */
- LPFREEBUFFER FreeBuffer; /* MAPIFreeBuffer func pointer */
- LPMAPISUP lpMAPISup; /* Support object. So we can release it */
- } SOB, *LPSOB;
- STDMETHODIMP SOB_Reserved (LPSOB lpSOB); /* All MAPI_E_NO_SUPPORT */
- STDMETHODIMP SOB_AccessDenied(LPSOB); /* All MAPI_NO_ACCESS */