Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*---------------------------------------------------------------------------
File: MapiUtil.cpp
Comments: COM helper object that enumerates MAPI profiles on a computer, and containers in the exchange directory. This is used by the GUI to show the available mapi profiles and containers for selection.
(c) Copyright 1999, Mission Critical Software, Inc., All Rights Reserved Proprietary and confidential to Mission Critical Software, Inc.
REVISION LOG ENTRY Revision By: Christy Boles Revised on 07/01/99
--------------------------------------------------------------------------- */// MapiUtil.cpp : Implementation of CMapiUtil
#include "stdafx.h"
#include "McsMapi.h"
#include "MapiUtil.h"
#include "ListProf.h"
/////////////////////////////////////////////////////////////////////////////
// CMapiUtil
STDMETHODIMP CMapiUtil::ListContainers(BSTR profile, IUnknown **pUnkOut) { HRESULT hr = S_OK;
IVarSetPtr pVarSet(CLSID_VarSet); IUnknownPtr pUnk;
hr = ::ListContainers((WCHAR*)profile,pVarSet);
if ( FAILED(hr) ) { pVarSet->put("McsMapiUtil.ErrorCode",hr); hr = S_OK; } pUnk = pVarSet; (*pUnkOut) = pUnk; (*pUnkOut)->AddRef(); return hr; }
STDMETHODIMP CMapiUtil::ListProfiles(IUnknown **pUnkOut) { HRESULT hr = S_OK;
IVarSetPtr pVarSet(CLSID_VarSet); IUnknownPtr pUnk;
hr = ::ListProfiles(pVarSet);
if ( FAILED(hr) ) { pVarSet->put("McsMapiUtil.ErrorCode",hr); hr = S_OK; } pUnk = pVarSet; (*pUnkOut) = pUnk; (*pUnkOut)->AddRef(); return hr;
}
STDMETHODIMP CMapiUtil::ProfileGetServer(BSTR profile, BSTR *exchangeServer) { WCHAR computername[MAX_PATH]; HRESULT hr = S_OK; hr = ::ProfileGetServer(NULL,(WCHAR*)profile,computername); if ( SUCCEEDED(hr) ) { (*exchangeServer) = SysAllocString(computername); } else { (*exchangeServer) = NULL; } return hr; }
|