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.
419 lines
13 KiB
419 lines
13 KiB
/*++
|
|
|
|
© 1998 Seagate Software, Inc. All rights reserved.
|
|
|
|
Module Name:
|
|
|
|
HsmAdmin.idl
|
|
|
|
Abstract:
|
|
|
|
IDL source for HSM Admin SnapIn.
|
|
|
|
Author:
|
|
|
|
Rohde Wakefield [rohde] 04-Mar-1997
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
// Standard types
|
|
import "oaidl.idl";
|
|
import "comcat.idl";
|
|
import "mmc.idl";
|
|
|
|
import "hsmeng.idl";
|
|
import "rmsint.idl";
|
|
import "fsaint.idl";
|
|
|
|
// Necessary for OLE Automation support
|
|
import "ocidl.idl";
|
|
|
|
interface ISakNode;
|
|
interface ISakWizard;
|
|
|
|
//
|
|
// Need a type to wrap MMC handles since these are in flux
|
|
//
|
|
typedef LONG_PTR RS_NOTIFY_HANDLE;
|
|
typedef LONG_PTR RS_WIN32_HANDLE;
|
|
typedef LONG_PTR RS_PCREATE_HANDLE;
|
|
typedef LONG_PTR RS_PRIVATE_DATA;
|
|
|
|
|
|
//------------------------------------------------------------------------
|
|
//
|
|
// ISakSnapAsk
|
|
//
|
|
// This is an interface that any UI node can use to get information from
|
|
// the snapin about high-level snapin stuff
|
|
//
|
|
//------------------------------------------------------------------------
|
|
|
|
[
|
|
object,
|
|
uuid(4E769F52-5512-11d0-8F99-00A0C9190447)
|
|
]
|
|
interface ISakSnapAsk : IUnknown
|
|
{
|
|
HRESULT GetNodeOfType([in] REFGUID nodetype, [out] ISakNode** ppNode);
|
|
HRESULT RefreshNode([in] ISakNode* pUnkNode);
|
|
HRESULT ShowPropertySheet([in] ISakNode* pUnkNode, [in] IDataObject *pDataObject, [in] int initialPage);
|
|
HRESULT UpdateAllViews ([in] ISakNode* pUnkNode);
|
|
HRESULT GetHsmServer([out] IHsmServer** ppHsmServer);
|
|
HRESULT GetRmsServer([out] IRmsServer** ppRmsServer);
|
|
HRESULT GetFsaServer([out] IFsaServer** ppFsaServer);
|
|
HRESULT GetHsmName([out, string] OLECHAR ** pszName);
|
|
HRESULT GetState();
|
|
HRESULT Disable( [in] BOOL Disabled );
|
|
HRESULT IsDisabled( );
|
|
HRESULT CreateWizard( [in] ISakWizard * pWizard );
|
|
HRESULT DetachFromNode( [in] ISakNode* pNode );
|
|
|
|
};
|
|
|
|
//------------------------------------------------------------------------
|
|
//
|
|
// ISakNode
|
|
//
|
|
//------------------------------------------------------------------------
|
|
|
|
[
|
|
object,
|
|
uuid(C4F67F02-119C-11D0-8070-00A0C905F098)
|
|
]
|
|
interface ISakNode : IUnknown
|
|
{
|
|
HRESULT InitNode( [in] ISakSnapAsk* pSakSnapAsk, [in] IUnknown* pHsmObj, [in] ISakNode* pParent );
|
|
HRESULT TerminateNode( void );
|
|
HRESULT GetHsmObj( [out] IUnknown** ppHsmObj );
|
|
HRESULT GetNodeType( [out] GUID *pGuid );
|
|
HRESULT FindNodeOfType( [in] REFGUID nodetype, [out] ISakNode** ppNode );
|
|
HRESULT GetPrivateData( [out] RS_PRIVATE_DATA* pData );
|
|
HRESULT SetPrivateData( [in] RS_PRIVATE_DATA Data );
|
|
HRESULT GetEnumState( [out] BOOL* pState );
|
|
HRESULT SetEnumState( [in] BOOL EnumState );
|
|
HRESULT GetScopeID( [out] HSCOPEITEM* pId );
|
|
HRESULT SetScopeID( [in] HSCOPEITEM Id );
|
|
HRESULT GetParent( [out] ISakNode ** ppParent );
|
|
HRESULT IsContainer( );
|
|
HRESULT CreateChildren( );
|
|
HRESULT EnumChildren( [out] IEnumUnknown ** ppEnum );
|
|
HRESULT DeleteChildren( );
|
|
HRESULT DeleteAllChildren( );
|
|
HRESULT ChildrenAreValid( );
|
|
HRESULT InvalidateChildren( );
|
|
HRESULT HasDynamicChildren( );
|
|
HRESULT IsValid( );
|
|
HRESULT EnumChildDisplayProps( [out] IEnumString ** ppEnum );
|
|
HRESULT EnumChildDisplayTitles( [out] IEnumString ** ppEnum );
|
|
HRESULT EnumChildDisplayPropWidths( [out] IEnumString ** ppEnum );
|
|
HRESULT InvokeCommand( [in] SHORT sCmd, [in] IDataObject *pDataObject );
|
|
HRESULT GetContextMenu( [in] BOOL bMultiSelect, [out] HMENU *phMenu);
|
|
HRESULT GetMenuHelp( [in] LONG sCmd, [out] BSTR * szHelp );
|
|
HRESULT SupportsProperties( [in] BOOL bMultiSelect );
|
|
HRESULT SupportsPropertiesNoEngine( );
|
|
HRESULT SupportsDelete( [in] BOOL bMultiSelect );
|
|
HRESULT SupportsRefresh( [in] BOOL bMultiSelect );
|
|
HRESULT SupportsRefreshNoEngine( );
|
|
HRESULT AddPropertyPages([in]RS_PCREATE_HANDLE handle, [in] IUnknown* lpPropSheetCallback, [in] IEnumGUID* pEnumObjectId, [in] IEnumUnknown *pEnumUnkNode );
|
|
HRESULT ActivateView( [in] OLE_HANDLE hWnd );
|
|
HRESULT RefreshObject( );
|
|
HRESULT DeleteObject( );
|
|
HRESULT GetScopeOpenIcon ([in] BOOL bOK, [out] int* pIconIndex);
|
|
HRESULT GetScopeCloseIcon ([in] BOOL bOK, [out] int* pIconIndex);
|
|
HRESULT GetResultIcon ([in] BOOL bOK, [out] int* pIconIndex);
|
|
HRESULT GetObjectId ([out] GUID *objectId);
|
|
HRESULT SetObjectId ([in] GUID objectId);
|
|
HRESULT SetupToolbar ([in] IToolbar *pToolbar );
|
|
HRESULT HasToolbar ( );
|
|
HRESULT OnToolbarButtonClick ([in] IDataObject *pDataObject, [in] LONG cmdId );
|
|
|
|
};
|
|
|
|
//------------------------------------------------------------------------
|
|
//
|
|
// ISakNodeProp
|
|
//
|
|
//------------------------------------------------------------------------
|
|
|
|
[
|
|
object,
|
|
uuid(C4F67F03-119C-11D0-8070-00A0C905F098),
|
|
dual
|
|
]
|
|
interface ISakNodeProp : IDispatch
|
|
{
|
|
[propget]
|
|
HRESULT DisplayName( [out, retval, string] BSTR *pszName );
|
|
|
|
[propput]
|
|
HRESULT DisplayName( [in] BSTR pszName );
|
|
|
|
[propget]
|
|
HRESULT DisplayName_SortKey( [out, retval, string] BSTR *pszName );
|
|
|
|
[propput]
|
|
HRESULT DisplayName_SortKey( [in] BSTR pszName );
|
|
|
|
[propget]
|
|
HRESULT Type( [out, retval, string] BSTR *pszType );
|
|
|
|
[propput]
|
|
HRESULT Type( [in] BSTR pszType );
|
|
|
|
[propget]
|
|
HRESULT Type_SortKey( [out, retval, string] BSTR *pszType );
|
|
|
|
[propget]
|
|
HRESULT Description( [out, retval, string] BSTR *pszDesc );
|
|
|
|
[propput]
|
|
HRESULT Description( [in] BSTR pszDesc );
|
|
|
|
[propget]
|
|
HRESULT Description_SortKey( [out, retval, string] BSTR *pszName );
|
|
|
|
};
|
|
|
|
//------------------------------------------------------------------------
|
|
//
|
|
// IMsDataObject
|
|
//
|
|
//------------------------------------------------------------------------
|
|
|
|
[
|
|
object,
|
|
uuid(374ba600-3aa0-11d1-b990-00a0c9190447)
|
|
]
|
|
interface IMsDataObject : IUnknown
|
|
{
|
|
|
|
HRESULT AddNode ( [in] ISakNode *pNode );
|
|
HRESULT GetNodeEnumerator ( [out] IEnumUnknown ** ppEnum );
|
|
HRESULT GetObjectIdEnumerator ( [out] IEnumGUID ** ppEnumObjectId );
|
|
};
|
|
|
|
//------------------------------------------------------------------------
|
|
//
|
|
// ILibrary - keep this around as an example,
|
|
// allthough it is not currently used.
|
|
//
|
|
//------------------------------------------------------------------------
|
|
|
|
[
|
|
object,
|
|
uuid(A00226E1-1B0D-11d0-8070-00A0C905F098),
|
|
dual,
|
|
pointer_default(unique)
|
|
]
|
|
interface ICartridge : ISakNodeProp
|
|
{
|
|
|
|
[propget]
|
|
HRESULT MediaTypeP( [out, retval, string] BSTR *pszValue );
|
|
|
|
[propget]
|
|
HRESULT CapacityP( [out, retval, string] BSTR *pszValue );
|
|
|
|
[propget]
|
|
HRESULT CapacityP_SortKey( [out, retval, string] BSTR *pszValue );
|
|
|
|
[propget]
|
|
HRESULT FreeSpaceP( [out, retval, string] BSTR *pszValue );
|
|
|
|
[propget]
|
|
HRESULT FreeSpaceP_SortKey( [out, retval, string] BSTR *pszValue );
|
|
|
|
[propget]
|
|
HRESULT StatusP( [out, retval, string] BSTR *pszValue );
|
|
|
|
[propget]
|
|
HRESULT StatusP_SortKey( [out, retval, string] BSTR *pszValue );
|
|
|
|
[propget]
|
|
HRESULT CopySet1P( [out, retval, string] BSTR *pszValue );
|
|
|
|
[propget]
|
|
HRESULT CopySet1P_SortKey( [out, retval, string] BSTR *pszValue );
|
|
|
|
[propget]
|
|
HRESULT CopySet2P( [out, retval, string] BSTR *pszValue );
|
|
|
|
[propget]
|
|
HRESULT CopySet2P_SortKey( [out, retval, string] BSTR *pszValue );
|
|
|
|
[propget]
|
|
HRESULT CopySet3P( [out, retval, string] BSTR *pszValue );
|
|
|
|
[propget]
|
|
HRESULT CopySet3P_SortKey( [out, retval, string] BSTR *pszValue );
|
|
|
|
}
|
|
|
|
//------------------------------------------------------------------------
|
|
//
|
|
// IManVolProp
|
|
//
|
|
//------------------------------------------------------------------------
|
|
|
|
[
|
|
object,
|
|
uuid(EAA46600-E736-11D0-B988-00A0C9190447),
|
|
dual,
|
|
pointer_default(unique)
|
|
]
|
|
interface IManVolProp : ISakNodeProp
|
|
{
|
|
[propget]
|
|
HRESULT DesiredFreeSpaceP( [out, retval, string] BSTR *pszValue );
|
|
[propget]
|
|
HRESULT DesiredFreeSpaceP_SortKey( [out, retval, string] BSTR *pszValue );
|
|
[propget]
|
|
HRESULT MinFileSizeKb( [out, retval, string] BSTR *pszValue );
|
|
[propget]
|
|
HRESULT AccessDays ( [out, retval, string] BSTR *pszValue );
|
|
[propget]
|
|
HRESULT FreeSpaceP( [out, retval, string] BSTR *pszValue );
|
|
[propget]
|
|
HRESULT Capacity( [out, retval, string] BSTR *pszValue );
|
|
[propget]
|
|
HRESULT Capacity_SortKey( [out, retval, string] BSTR *pszValue );
|
|
[propget]
|
|
HRESULT FreeSpace( [out, retval, string] BSTR *pszValue );
|
|
[propget]
|
|
HRESULT FreeSpace_SortKey( [out, retval, string] BSTR *pszValue );
|
|
[propget]
|
|
HRESULT Premigrated( [out, retval, string] BSTR *pszValue );
|
|
[propget]
|
|
HRESULT Truncated( [out, retval, string] BSTR *pszValue );
|
|
|
|
}
|
|
|
|
//------------------------------------------------------------------------
|
|
//
|
|
// ISakWizard
|
|
//
|
|
// This is an interface that is used to create the a wizard
|
|
//
|
|
//
|
|
//------------------------------------------------------------------------
|
|
|
|
[
|
|
object,
|
|
uuid(4E769F53-5512-11d0-8F99-00A0C9190447)
|
|
]
|
|
interface ISakWizard : IUnknown
|
|
{
|
|
|
|
HRESULT AddWizardPages([in] RS_PCREATE_HANDLE Handle,
|
|
[in] IUnknown* pPropSheetCallback,
|
|
[in] ISakSnapAsk* pSakSnapAsk );
|
|
|
|
HRESULT GetWatermarks([out] HBITMAP* pWatermark,
|
|
[out] HBITMAP* pHeader,
|
|
[out] HPALETTE* pPalette,
|
|
[out] BOOL* pStretch);
|
|
|
|
HRESULT GetTitle( [out, string] OLECHAR ** pTitle );
|
|
|
|
};
|
|
|
|
//------------------------------------------------------------------------
|
|
//
|
|
// LIBID_HSMADMINLib - Type Library
|
|
//
|
|
// Necessary both for the dispatch interfaces (the generated .tlb file)
|
|
// and for the class ids (in _i.c file). This section defines the type
|
|
// library, and all the COM objects that this library contains (nodes
|
|
// in the HSM system.
|
|
//
|
|
//------------------------------------------------------------------------
|
|
|
|
|
|
[
|
|
|
|
uuid(C4F67F00-119C-11D0-8070-00A0C905F098),
|
|
version(1.0)
|
|
]
|
|
library HSMADMINLib
|
|
{
|
|
importlib("stdole2.tlb");
|
|
|
|
[
|
|
uuid(0B9A3960-8C3E-11d0-B797-00A02488FCDE),
|
|
]
|
|
coclass HsmAdminDataSnapin
|
|
{
|
|
[default] interface IUnknown;
|
|
};
|
|
|
|
[
|
|
uuid(AB926900-77F8-11d1-B9A0-00A0C9190447),
|
|
]
|
|
coclass HsmAdminDataExtension
|
|
{
|
|
[default] interface IUnknown;
|
|
};
|
|
|
|
[
|
|
uuid(A6CB8422-7EB8-11d0-8FC3-00A0C9190447),
|
|
]
|
|
coclass HsmAdmin
|
|
{
|
|
[default] interface IUnknown;
|
|
};
|
|
|
|
[
|
|
uuid(F7974E22-6823-11d0-8FA3-00A0C9190447),
|
|
]
|
|
coclass CUiCar
|
|
{
|
|
[default] interface ICartridge;
|
|
};
|
|
|
|
[
|
|
uuid(DEAAB3B2-8AAB-11d0-8FCD-00A0C9190447),
|
|
]
|
|
coclass CUiMedSet
|
|
{
|
|
[default] interface ISakNodeProp;
|
|
};
|
|
|
|
[
|
|
uuid(F30A9FD3-1BC4-11d0-964E-00A0C905F099),
|
|
]
|
|
coclass CUiManVolLst
|
|
{
|
|
[default] interface IManVolProp;
|
|
};
|
|
|
|
[
|
|
uuid(D82438F1-1C60-11d0-964E-00A0C905F099),
|
|
]
|
|
coclass CUiHsmCom
|
|
{
|
|
[default] interface ISakNodeProp;
|
|
};
|
|
|
|
[
|
|
uuid(D82438F4-1C60-11d0-964E-00A0C905F099),
|
|
]
|
|
coclass CUiManVol
|
|
{
|
|
[default] interface ISakNodeProp;
|
|
};
|
|
|
|
|
|
[
|
|
uuid(E1141BAB-08F6-11D1-B98A-00A0C9190447),
|
|
helpstring("About Class")
|
|
]
|
|
coclass CAbout
|
|
{
|
|
[default] interface IUnknown;
|
|
};
|
|
|
|
};
|
|
|