276 lines
5.5 KiB
C
276 lines
5.5 KiB
C
|
/*++
|
|||
|
|
|||
|
<EFBFBD> 1998 Seagate Software, Inc. All rights reserved.
|
|||
|
|
|||
|
Module Name:
|
|||
|
|
|||
|
RsAdUtil.h
|
|||
|
|
|||
|
Abstract:
|
|||
|
|
|||
|
Utility functions for GUI - for us in HSMADMIN files only
|
|||
|
|
|||
|
Author:
|
|||
|
|
|||
|
Art Bragg [abragg] 04-Mar-1997
|
|||
|
|
|||
|
Revision History:
|
|||
|
|
|||
|
--*/
|
|||
|
|
|||
|
// Defined constants for media copy states
|
|||
|
#define RS_MEDIA_COPY_STATUS_NONE ((USHORT)5000)
|
|||
|
#define RS_MEDIA_COPY_STATUS_ERROR ((USHORT)5001)
|
|||
|
#define RS_MEDIA_COPY_STATUS_OUTSYNC ((USHORT)5002)
|
|||
|
#define RS_MEDIA_COPY_STATUS_INSYNC ((USHORT)5003)
|
|||
|
#define RS_MEDIA_COPY_STATUS_MISSING ((USHORT)5004)
|
|||
|
|
|||
|
// Defined constants for master media states
|
|||
|
#define RS_MEDIA_STATUS_RECREATE ((USHORT)5101)
|
|||
|
#define RS_MEDIA_STATUS_READONLY ((USHORT)5102)
|
|||
|
#define RS_MEDIA_STATUS_NORMAL ((USHORT)5103)
|
|||
|
#define RS_MEDIA_STATUS_ERROR_RO ((USHORT)5104)
|
|||
|
#define RS_MEDIA_STATUS_ERROR_RW ((USHORT)5105)
|
|||
|
#define RS_MEDIA_STATUS_ERROR_MISSING ((USHORT)5106)
|
|||
|
#define RS_MEDIA_STATUS_ERROR_INCOMPLETE ((USHORT)5107)
|
|||
|
|
|||
|
void
|
|||
|
RsReportError( HRESULT hrToReport, int textId, ... );
|
|||
|
|
|||
|
HRESULT RsGetStatusString (
|
|||
|
DWORD serviceStatus,
|
|||
|
HRESULT hrSetup,
|
|||
|
CString& sStatus
|
|||
|
);
|
|||
|
|
|||
|
WCHAR *
|
|||
|
RsNotifyEventAsString (
|
|||
|
IN MMC_NOTIFY_TYPE event
|
|||
|
);
|
|||
|
|
|||
|
WCHAR *
|
|||
|
RsClipFormatAsString (
|
|||
|
IN CLIPFORMAT cf
|
|||
|
);
|
|||
|
|
|||
|
HRESULT
|
|||
|
RsIsRemoteStorageSetup(
|
|||
|
void
|
|||
|
);
|
|||
|
|
|||
|
HRESULT
|
|||
|
RsIsRemoteStorageSetupEx(
|
|||
|
IHsmServer * pHsmServer
|
|||
|
);
|
|||
|
|
|||
|
HRESULT
|
|||
|
RsIsSupportedMediaAvailable(
|
|||
|
void
|
|||
|
);
|
|||
|
|
|||
|
HRESULT
|
|||
|
RsIsRmsErrorNotReady(
|
|||
|
HRESULT HrError
|
|||
|
);
|
|||
|
|
|||
|
USHORT
|
|||
|
RsGetCopyStatus(
|
|||
|
IN REFGUID CopyId,
|
|||
|
IN HRESULT CopyHr,
|
|||
|
IN SHORT CopyNextDataSet,
|
|||
|
IN SHORT LastGoodNextDataSet
|
|||
|
);
|
|||
|
|
|||
|
HRESULT
|
|||
|
RsGetCopyStatusStringVerb(
|
|||
|
IN USHORT copyStatus,
|
|||
|
OUT CString& String
|
|||
|
);
|
|||
|
|
|||
|
HRESULT
|
|||
|
RsGetCopyStatusString(
|
|||
|
IN USHORT copyStatus,
|
|||
|
OUT CString& String
|
|||
|
);
|
|||
|
|
|||
|
USHORT
|
|||
|
RsGetCartStatus(
|
|||
|
IN HRESULT LastHr,
|
|||
|
IN BOOL ReadOnly,
|
|||
|
IN BOOL Recreate,
|
|||
|
IN SHORT NextDataSet,
|
|||
|
IN SHORT LastGoodNextDataSet
|
|||
|
);
|
|||
|
|
|||
|
HRESULT
|
|||
|
RsGetCartStatusString(
|
|||
|
IN USHORT cartStatus,
|
|||
|
OUT CString& String
|
|||
|
);
|
|||
|
|
|||
|
HRESULT
|
|||
|
RsGetCartStatusStringVerb(
|
|||
|
IN USHORT cartStatus,
|
|||
|
IN BOOL plural,
|
|||
|
OUT CString& String
|
|||
|
);
|
|||
|
|
|||
|
HRESULT
|
|||
|
RsGetCartMultiStatusString(
|
|||
|
IN USHORT statusRecreate,
|
|||
|
IN USHORT statusReadOnly,
|
|||
|
IN USHORT statusNormal,
|
|||
|
IN USHORT statusRO,
|
|||
|
IN USHORT statusRW,
|
|||
|
IN USHORT statusMissing,
|
|||
|
OUT CString &outString
|
|||
|
);
|
|||
|
|
|||
|
HRESULT
|
|||
|
RsGetCopyMultiStatusString(
|
|||
|
IN USHORT statusNone,
|
|||
|
IN USHORT statusError,
|
|||
|
IN USHORT statusOutSync,
|
|||
|
IN USHORT statusInSync,
|
|||
|
OUT CString &outString
|
|||
|
);
|
|||
|
|
|||
|
HRESULT
|
|||
|
RsCreateAndRunFsaJob(
|
|||
|
IN HSM_JOB_DEF_TYPE jobType,
|
|||
|
IN IHsmServer *pHsmServer,
|
|||
|
IN IFsaResource *pFsaResource,
|
|||
|
IN BOOL ShowMsg = TRUE
|
|||
|
);
|
|||
|
|
|||
|
HRESULT
|
|||
|
RsCreateAndRunDirectFsaJob(
|
|||
|
IN HSM_JOB_DEF_TYPE jobType,
|
|||
|
IN IHsmServer *pHsmServer,
|
|||
|
IN IFsaResource *pFsaResource,
|
|||
|
IN BOOL waitJob
|
|||
|
);
|
|||
|
|
|||
|
HRESULT
|
|||
|
RsCancelDirectFsaJob(
|
|||
|
IN HSM_JOB_DEF_TYPE jobType,
|
|||
|
IN IHsmServer *pHsmServer,
|
|||
|
IN IFsaResource *pFsaResource
|
|||
|
);
|
|||
|
|
|||
|
HRESULT
|
|||
|
RsCreateJobName(
|
|||
|
IN HSM_JOB_DEF_TYPE jobType,
|
|||
|
IN IFsaResource * pResource,
|
|||
|
OUT CString& szJobName
|
|||
|
);
|
|||
|
|
|||
|
HRESULT
|
|||
|
RsGetJobTypeString(
|
|||
|
IN HSM_JOB_DEF_TYPE jobType,
|
|||
|
OUT CString& szJobType
|
|||
|
);
|
|||
|
|
|||
|
HRESULT
|
|||
|
RsCreateAndRunMediaCopyJob(
|
|||
|
IN IHsmServer * pHsmServer,
|
|||
|
IN UINT SetNum,
|
|||
|
IN BOOL ShowMsg
|
|||
|
);
|
|||
|
|
|||
|
HRESULT
|
|||
|
RsCreateAndRunMediaRecreateJob(
|
|||
|
IN IHsmServer * pHsmServer,
|
|||
|
IN IMediaInfo * pMediaInfo,
|
|||
|
IN REFGUID MediaId,
|
|||
|
IN CString & MediaDescription,
|
|||
|
IN SHORT CopyToUse
|
|||
|
);
|
|||
|
|
|||
|
HRESULT
|
|||
|
RsGetStoragePoolId(
|
|||
|
IN IHsmServer *pHsmServer,
|
|||
|
OUT GUID * pStoragePoolId
|
|||
|
);
|
|||
|
|
|||
|
HRESULT
|
|||
|
RsGetStoragePool(
|
|||
|
IN IHsmServer * pHsmServer,
|
|||
|
OUT IHsmStoragePool ** ppStoragePool
|
|||
|
);
|
|||
|
|
|||
|
HRESULT
|
|||
|
RsGetInitialLVColumnProps(
|
|||
|
int IdWidths,
|
|||
|
int IdTitles,
|
|||
|
CString **pColumnWidths,
|
|||
|
CString **pColumnTitles,
|
|||
|
int *pColumnCount
|
|||
|
);
|
|||
|
|
|||
|
HRESULT
|
|||
|
RsServerSaveAll(
|
|||
|
IUnknown * pUnkServer
|
|||
|
);
|
|||
|
|
|||
|
HRESULT
|
|||
|
RsGetVolumeDisplayName(
|
|||
|
IFsaResource * pResource,
|
|||
|
CString & DisplayName
|
|||
|
);
|
|||
|
|
|||
|
HRESULT
|
|||
|
RsGetVolumeDisplayName2(
|
|||
|
IFsaResource * pResource,
|
|||
|
CString & DisplayName
|
|||
|
);
|
|||
|
|
|||
|
HRESULT
|
|||
|
RsGetVolumeSortKey(
|
|||
|
IFsaResource * pResource,
|
|||
|
CString & DisplayName
|
|||
|
);
|
|||
|
|
|||
|
HRESULT
|
|||
|
RsIsVolumeAvailable(
|
|||
|
IFsaResource * pResource
|
|||
|
);
|
|||
|
|
|||
|
HRESULT
|
|||
|
RsIsWhiteOnBlack(
|
|||
|
);
|
|||
|
|
|||
|
class CCopySetInfo {
|
|||
|
|
|||
|
public:
|
|||
|
SHORT m_NextDataSet;
|
|||
|
FILETIME m_ModifyTime;
|
|||
|
HRESULT m_Hr;
|
|||
|
GUID m_RmsId;
|
|||
|
BOOL m_Disabled;
|
|||
|
};
|
|||
|
|
|||
|
class CResourceInfo {
|
|||
|
public:
|
|||
|
CResourceInfo( IFsaResource* pResource ) {
|
|||
|
m_pResource = pResource;
|
|||
|
m_HrConstruct = RsGetVolumeDisplayName( m_pResource, m_DisplayName );
|
|||
|
if( SUCCEEDED( m_HrConstruct ) ) {
|
|||
|
m_HrConstruct = RsGetVolumeSortKey( m_pResource, m_SortKey );
|
|||
|
}
|
|||
|
};
|
|||
|
static INT CALLBACK Compare( LPARAM lParam1, LPARAM lParam2, LPARAM /* lParamSort */ ) {
|
|||
|
CResourceInfo* pResInfo1 = (CResourceInfo*)lParam1;
|
|||
|
CResourceInfo* pResInfo2 = (CResourceInfo*)lParam2;
|
|||
|
if( ! pResInfo1 ) return( -1 );
|
|||
|
if( ! pResInfo2 ) return( 1 );
|
|||
|
return( pResInfo1->m_SortKey.CompareNoCase( pResInfo2->m_SortKey ) );
|
|||
|
}
|
|||
|
|
|||
|
CString m_DisplayName;
|
|||
|
CString m_SortKey;
|
|||
|
CComPtr<IFsaResource> m_pResource;
|
|||
|
HRESULT m_HrConstruct;
|
|||
|
};
|
|||
|
|