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.
 
 
 
 
 
 

107 lines
5.4 KiB

// --------------------------------------------------------------------------------
// TaskUtil.h
// Copyright (c)1993-1995 Microsoft Corporation, All Rights Reserved
// Steven J. Bailey
// --------------------------------------------------------------------------------
#ifndef __TASKUTIL_H
#define __TASKUTIL_H
// --------------------------------------------------------------------------------
// Includes
// --------------------------------------------------------------------------------
#include "spoolapi.h"
// --------------------------------------------------------------------------------
// Constants
// --------------------------------------------------------------------------------
const EVENTID INVALID_EVENT = -1;
// --------------------------------------------------------------------------------
// LOADSTRING
// --------------------------------------------------------------------------------
#define LOADSTRING(_idsString, _szDest) \
SideAssert(LoadString(g_hLocRes, _idsString, _szDest, ARRAYSIZE(_szDest)) > 0)
#define CCHMAX_RES 255
// --------------------------------------------------------------------------------
// TASKRESULTTYPE
// --------------------------------------------------------------------------------
typedef enum tagTASKRESULTTYPE {
TASKRESULT_SUCCESS, // No problem
TASKRESULT_FAILURE, // Fatal results in disconnect
TASKRESULT_EVENTFAILED // An item or event failed
} TASKRESULTTYPE;
// ------------------------------------------------------------------------------------
// TIMEOUTINFO
// ------------------------------------------------------------------------------------
typedef struct tagTIMEOUTINFO {
DWORD dwTimeout;
LPCSTR pszServer;
LPCSTR pszAccount;
LPCSTR pszProtocol;
ITimeoutCallback *pCallback;
} TIMEOUTINFO, *LPTIMEOUTINFO;
// --------------------------------------------------------------------------------
// TASKERROR
// --------------------------------------------------------------------------------
typedef struct tagTASKERROR {
HRESULT hrResult;
ULONG ulStringId;
LPCSTR pszError;
BOOL fShowUI;
TASKRESULTTYPE tyResult;
} TASKERROR, *LPTASKERROR;
typedef TASKERROR const *LPCTASKERROR;
// --------------------------------------------------------------------------------
// PTaskUtil_GetError
// --------------------------------------------------------------------------------
LPCTASKERROR PTaskUtil_GetError(HRESULT hrResult, ULONG *piError);
// --------------------------------------------------------------------------------
// TaskUtil_SplitStoreError - converts STOREERROR into IXPRESULT and INETSERVER
// --------------------------------------------------------------------------------
void TaskUtil_SplitStoreError(IXPRESULT *pixpResult, INETSERVER *pInetServer,
STOREERROR *pErrorInfo);
// --------------------------------------------------------------------------------
// TaskUtil_InsertTransportError
// --------------------------------------------------------------------------------
TASKRESULTTYPE TaskUtil_InsertTransportError(BOOL fCanShowUI, ISpoolerUI *pUI, EVENTID eidCurrent,
STOREERROR *pErrorInfo, LPSTR pszOpDescription,
LPSTR pszSubject);
// --------------------------------------------------------------------------------
// TaskUtil_FBaseTransportError - Returns TRUE if the error was handled
// --------------------------------------------------------------------------------
TASKRESULTTYPE TaskUtil_FBaseTransportError(IXPTYPE ixptype, EVENTID idEvent, LPIXPRESULT pResult,
LPINETSERVER pServer, LPCSTR pszSubject, ISpoolerUI *pUI, BOOL fCanShowUI, HWND hwndParent);
// ------------------------------------------------------------------------------------
// TaskUtil_HrBuildErrorInfoString
// ------------------------------------------------------------------------------------
HRESULT TaskUtil_HrBuildErrorInfoString(LPCSTR pszProblem, IXPTYPE ixptype, LPIXPRESULT pResult,
LPINETSERVER pServer, LPCSTR pszSubject, LPSTR *ppszInfo, ULONG *pcchInfo);
// ------------------------------------------------------------------------------------
// TaskUtil_OnLogonPrompt
// ------------------------------------------------------------------------------------
HRESULT TaskUtil_OnLogonPrompt(IImnAccount *pAccount, ISpoolerUI *pUI, HWND hwndParent,
LPINETSERVER pServer, DWORD apidUserName, DWORD apidPassword, DWORD apidPromptPwd, BOOL fSaveChanges);
// ------------------------------------------------------------------------------------
// TaskUtil_HwndOnTimeout
// ------------------------------------------------------------------------------------
HWND TaskUtil_HwndOnTimeout(LPCSTR pszServer, LPCSTR pszAccount, LPCSTR pszProtocol, DWORD dwTimeout,
ITimeoutCallback *pTask);
// ------------------------------------------------------------------------------------
// TaskUtil_OpenSentItemsFolder
// ------------------------------------------------------------------------------------
HRESULT TaskUtil_OpenSentItemsFolder(IImnAccount *pAccount, IMessageFolder **ppFolder);
#endif // __TASKUTIL_H