HrCreateOfflineObj
Applies to: Office 2010 | Outlook 2010 | Visual Studio
Creates a MAPI offline object that is used by the provider and store in order to notify MAPI when the object goes online and offline,
Exported by: |
Msmapi32.dll |
Implemented by: |
Outlook |
Called by: |
Client |
STDAPI HrCreateOfflineObj(
ULONG ulFlags,
MAPIOFFLINE_CREATEINFO* pCreateInfo,
IMAPIOfflineMgr** ppOffline
);
Parameters
ulFlags
[in] It must be 0.pCreateInfo
[in] A pointer to a MAPIOFFLINE_CREATEINFO structure that contains the information needed to create the offline object.ppOffline
[out] A pointer to the IMAPIOfflineMgr interface.
Return Value
None.
HrOpenOfflineObj
Example
// create/get global offline object to use as parent.
ZeroMemory(&OfflineCreateInfo, sizeof(OfflineCreateInfo));
OfflineCreateInfo.ulSize = sizeof(OfflineCreateInfo);
OfflineCreateInfo.ulCreateFlags = 0;
OfflineCreateInfo.pwszProfileName = pszProfileName;
OfflineCreateInfo.ulCapabilities = ulCapabilities;
OfflineCreateInfo.pGUID = &GUID_GlobalState;
OfflineCreateInfo.pInstance = NULL;
OfflineCreateInfo.pParent = NULL;
OfflineCreateInfo.pMAPISupport = NULL;
OfflineCreateInfo.pAggregateInfo = NULL;
OfflineCreateInfo.pConnectInfo = NULL;
// Create an offline object for the provider with global as parent.
ZeroMemory(&OfflineCreateInfo, sizeof(OfflineCreateInfo));
OfflineCreateInfo.ulSize = sizeof(OfflineCreateInfo);
OfflineCreateInfo.ulCreateFlags = 0;
OfflineCreateInfo.pwszProfileName = pszProfileName;
OfflineCreateInfo.ulCapabilities = ulCapabilities;
OfflineCreateInfo.pGUID = pGuid;
OfflineCreateInfo.pInstance = pInstance;
OfflineCreateInfo.pParent = pGlobalOfflineMgr;
OfflineCreateInfo.pMAPISupport = NULL;
OfflineCreateInfo.pAggregateInfo = NULL;
OfflineCreateInfo.pConnectInfo = NULL;
// create store offline object which aggregates with the store object and has provider offline object as parent.
ZeroMemory(&OfflineCreateInfo, sizeof(OfflineCreateInfo));
OfflineCreateInfo.ulSize = sizeof(OfflineCreateInfo);
OfflineCreateInfo.ulCreateFlags = 0;
OfflineCreateInfo.pwszProfileName = pszProfileName;
OfflineCreateInfo.ulCapabilities = ulCapabilities;
OfflineCreateInfo.pGUID = NULL;
OfflineCreateInfo.pInstance = NULL;
OfflineCreateInfo.pParent = m_pProviderOfflineMgr;
OfflineCreateInfo.pMAPISupport = pMAPISup;
OfflineCreateInfo.pAggregateInfo = &AggregateInfo;
OfflineCreateInfo.pConnectInfo = NULL;
ZeroMemory(&AggregateInfo, sizeof(AggregateInfo));
AggregateInfo.ulSize = sizeof(AggregateInfo);
AggregateInfo.pOuterObj = (IMsgStore *)this;
AggregateInfo.pRefTrackRoot = NULL;