Leaked source code of windows server 2003
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.
 
 
 
 
 
 

248 lines
4.9 KiB

/*++
Copyright (c) 2000 Microsoft Corporation
Module Name:
FaxFolders.cpp
Abstract:
Implementation of CFaxFolders
Author:
Iv Garber (IvG) Apr, 2000
Revision History:
--*/
#include "stdafx.h"
#include "FaxComEx.h"
#include "FaxFolders.h"
//
//==================== INTERFACE SUPPORT ERROR INFO =====================
//
STDMETHODIMP
CFaxFolders::InterfaceSupportsErrorInfo(
REFIID riid
)
/*++
Routine name : CFaxFolders::InterfaceSupportsErrorInfo
Routine description:
ATL's implementation of Interface Support Error Info
Author:
Iv Garber (IvG), Apr, 2000
Arguments:
riid [in] - Reference of the Interface
Return Value:
Standard HRESULT code
--*/
{
static const IID* arr[] =
{
&IID_IFaxFolders,
&IID_IFaxOutgoingQueue, // Contained object
&IID_IFaxIncomingQueue, // Contained object
&IID_IFaxOutgoingArchive, // Contained object
&IID_IFaxIncomingArchive // Contained object
};
for (int i=0; i < sizeof(arr) / sizeof(arr[0]); i++)
{
if (InlineIsEqualGUID(*arr[i],riid))
return S_OK;
}
return S_FALSE;
} // CFaxFolders::InterfaceSupportErrorInfo
//
//==================== GET OUTGOING QUEUE ====================================
//
STDMETHODIMP
CFaxFolders::get_OutgoingQueue(
IFaxOutgoingQueue **ppOutgoingQueue
)
/*++
Routine name : CFaxFolders::get_OutgoingQueue
Routine description:
Return OutgoingQueue
Author:
Iv Garber (IvG), Apr, 2000
Arguments:
ppOutgoingQueue [out] - ptr to put the IOutgoingQueue Ifc
Return Value:
Standard HRESULT code
--*/
{
HRESULT hr = S_OK;
DBG_ENTER (_T("CFaxFolders::get_OutgoingQueue"), hr);
CObjectHandler<CFaxOutgoingQueue, IFaxOutgoingQueue> ObjectCreator;
hr = ObjectCreator.GetContainedObject(ppOutgoingQueue, &m_pOutgoingQueue, m_pIFaxServerInner);
if (FAILED(hr))
{
AtlReportError(CLSID_FaxFolders,
GetErrorMsgId(hr),
IID_IFaxFolders,
hr);
return hr;
}
return hr;
} // CFaxFolders::get_OutgoingQueue()
//
//==================== GET INCOMING ARCHIVE ====================================
//
STDMETHODIMP
CFaxFolders::get_IncomingArchive(
IFaxIncomingArchive **ppIncomingArchive
)
/*++
Routine name : CFaxFolders::get_IncomingArchive
Routine description:
Return Incoming Archive
Author:
Iv Garber (IvG), Apr, 2000
Arguments:
pIncomingArchive [out] - The ptr to the place to put IncomingArchive
Return Value:
Standard HRESULT code
--*/
{
HRESULT hr = S_OK;
DBG_ENTER (_T("CFaxFolders::get_IncomingArchive"), hr);
CObjectHandler<CFaxIncomingArchive, IFaxIncomingArchive> ObjectCreator;
hr = ObjectCreator.GetContainedObject(ppIncomingArchive, &m_pIncomingArchive, m_pIFaxServerInner);
if (FAILED(hr))
{
AtlReportError(CLSID_FaxFolders,
GetErrorMsgId(hr),
IID_IFaxFolders,
hr);
return hr;
}
return hr;
} // CFaxFolders::get_IncomingArchive()
//
//==================== GET INCOMING QUEUE ====================================
//
STDMETHODIMP
CFaxFolders::get_IncomingQueue(
IFaxIncomingQueue **ppIncomingQueue
)
/*++
Routine name : CFaxFolders::get_IncomingQueue
Routine description:
Return Incoming Queue
Author:
Iv Garber (IvG), Apr, 2000
Arguments:
pIncomingQueue [out] - The Incoming Queue
Return Value:
Standard HRESULT code
--*/
{
HRESULT hr = S_OK;
DBG_ENTER (_T("CFaxFolders::get_IncomingQueue"), hr);
CObjectHandler<CFaxIncomingQueue, IFaxIncomingQueue> ObjectCreator;
hr = ObjectCreator.GetContainedObject(ppIncomingQueue, &m_pIncomingQueue, m_pIFaxServerInner);
if (FAILED(hr))
{
AtlReportError(CLSID_FaxFolders,
GetErrorMsgId(hr),
IID_IFaxFolders,
hr);
return hr;
}
return hr;
} // CFaxFolders::get_IncomingQueue()
//
//==================== GET OUTGOING ARCHIVE ====================================
//
STDMETHODIMP
CFaxFolders::get_OutgoingArchive(
IFaxOutgoingArchive **ppOutgoingArchive
)
/*++
Routine name : CFaxFolders::get_OutgoingArchive
Routine description:
Return Outgoing Archive Object
Author:
Iv Garber (IvG), Apr, 2000
Arguments:
pOutgoingArchive [out] - The ptr to put Outgoing Archive Object
Return Value:
Standard HRESULT code
--*/
{
HRESULT hr = S_OK;
DBG_ENTER (_T("CFaxFolders::get_OutgoingArchive"), hr);
CObjectHandler<CFaxOutgoingArchive, IFaxOutgoingArchive> ObjectCreator;
hr = ObjectCreator.GetContainedObject(ppOutgoingArchive, &m_pOutgoingArchive, m_pIFaxServerInner);
if (FAILED(hr))
{
AtlReportError(CLSID_FaxFolders,
GetErrorMsgId(hr),
IID_IFaxFolders,
hr);
return hr;
}
return hr;
} // CFaxFolders::get_OutgoingArchive()