85 lines
2.6 KiB
C
85 lines
2.6 KiB
C
|
/*++
|
|||
|
|
|||
|
<EFBFBD> 1998 Seagate Software, Inc. All rights reserved
|
|||
|
|
|||
|
Module Name:
|
|||
|
|
|||
|
RmsLocat.h
|
|||
|
|
|||
|
Abstract:
|
|||
|
|
|||
|
Declaration of the CRmsLocator class
|
|||
|
|
|||
|
Author:
|
|||
|
|
|||
|
Brian Dodd [brian] 15-Nov-1996
|
|||
|
|
|||
|
Revision History:
|
|||
|
|
|||
|
--*/
|
|||
|
|
|||
|
#ifndef _RMSLOCAT_
|
|||
|
#define _RMSLOCAT_
|
|||
|
|
|||
|
#include "resource.h" // resource symbols
|
|||
|
|
|||
|
/*++
|
|||
|
|
|||
|
Class Name:
|
|||
|
|
|||
|
CRmsLocator
|
|||
|
|
|||
|
Class Description:
|
|||
|
|
|||
|
A CRmsLocator specifies a physical location for a cartridge or
|
|||
|
chanager element.
|
|||
|
|
|||
|
--*/
|
|||
|
|
|||
|
class CRmsLocator
|
|||
|
{
|
|||
|
public:
|
|||
|
CRmsLocator();
|
|||
|
|
|||
|
// CRmsLocator
|
|||
|
public:
|
|||
|
HRESULT GetSizeMax(ULARGE_INTEGER* pSize);
|
|||
|
HRESULT Load(IStream* pStream);
|
|||
|
HRESULT Save(IStream* pStream, BOOL clearDirty);
|
|||
|
|
|||
|
HRESULT CompareTo(IUnknown* pCollectable, SHORT* pResult);
|
|||
|
|
|||
|
HRESULT Test(USHORT *pPassed, USHORT *pFailed);
|
|||
|
|
|||
|
// IRmsLocator
|
|||
|
public:
|
|||
|
STDMETHOD(GetLocation)(LONG *pType, GUID *pLibId, GUID *pMediaSetId, LONG *pPos, LONG *pAlt1, LONG *pAlt2, LONG *pAlt3, BOOL *pInvert);
|
|||
|
STDMETHOD(SetLocation)(LONG type, GUID libId, GUID mediaSetId, LONG pos, LONG alt1, LONG alt2, LONG alt3, BOOL invert);
|
|||
|
|
|||
|
public:
|
|||
|
|
|||
|
enum { // Class specific constants:
|
|||
|
//
|
|||
|
Version = 1, // Class version, this should be
|
|||
|
// incremented each time the
|
|||
|
// the class definition changes.
|
|||
|
}; //
|
|||
|
RmsElement m_type; // The type of element this location
|
|||
|
// refers to (i.e. storage, drive).
|
|||
|
GUID m_libraryId; // The guid for the Library housing
|
|||
|
// the Cartridge.
|
|||
|
GUID m_mediaSetId; // The guid for the MediaSet housing
|
|||
|
// the Cartridge.
|
|||
|
LONG m_position; // The ordinal number of the storage location.
|
|||
|
LONG m_alternate1; // First alternate position specifier
|
|||
|
// (i.e. building number).
|
|||
|
LONG m_alternate2; // Second alternate position specifier
|
|||
|
// (i.e. room number).
|
|||
|
LONG m_alternate3; // Third alternate position specifier
|
|||
|
// (i.e. shelf number).
|
|||
|
BOOL m_invert; // If TRUE, the medium is inverted in this
|
|||
|
// storage location.
|
|||
|
};
|
|||
|
|
|||
|
#endif // _RMSLOCAT_
|