home *** CD-ROM | disk | FTP | other *** search
- /*
- - 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 */
-