📄 msclus.idl
字号:
HRESULT State( [out,retval] CLUSTER_NETINTERFACE_STATE * dwState );
[propget]
HRESULT Cluster( [out,retval] ICluster ** ppCluster );
};
/////////////////////////////////////////////////
// ClusNetInterfaces
[
object,
uuid(f2e606fb-2631-11d1-89f1-00a0c90d061e),
dual,
helpstring("Cluster NetInterface Collection Interface in ICluster"),
pointer_default(unique)
]
interface ClusNetInterfaces : ClusObjCollection
{
[propget, id(DISPID_VALUE), helpstring("Given an index, returns an item in the collection.")]
HRESULT Item([in] VARIANT varIndex , [out, retval] ClusNetInterface ** ppClusNetInterface);
};
/////////////////////////////////////////////////
// ClusNodeNetInterfaces
[
object,
uuid(f2e606fd-2631-11d1-89f1-00a0c90d061e),
dual,
helpstring("Cluster NetInterface Collection Interface in Node"),
pointer_default(unique)
]
interface ClusNodeNetInterfaces : ClusObjCollection
{
[propget, id(DISPID_VALUE), helpstring("Given an index, returns an item in the collection.")]
HRESULT Item([in] VARIANT varIndex , [out, retval] ClusNetInterface ** ppClusNetInterface);
};
/////////////////////////////////////////////////
// ClusNetworkNetInterfaces
[
object,
uuid(f2e606fc-2631-11d1-89f1-00a0c90d061e),
dual,
helpstring("Cluster NetInterface Collection Interface in ClusNetwork"),
pointer_default(unique)
]
interface ClusNetworkNetInterfaces : ClusObjCollection
{
[propget, id(DISPID_VALUE), helpstring("Given an index, returns an item in the collection.")]
HRESULT Item([in] VARIANT varIndex , [out, retval] ClusNetInterface ** ppClusNetInterface);
};
/////////////////////////////////////////////////
// ClusResGroup
[
object,
uuid(f2e606e5-2631-11d1-89f1-00a0c90d061e),
dual,
helpstring("Cluster Resource Group Interface"),
pointer_default(unique)
]
interface ClusResGroup : ClusObj
{
[propget, hidden]
HRESULT Handle( [out, retval] LONG * phandle );
[propput]
HRESULT Name( [in] BSTR bstrGroupName );
[propget]
HRESULT State( [out,retval] CLUSTER_GROUP_STATE * dwState );
[propget]
HRESULT OwnerNode( [out,retval] ClusNode ** ppOwnerNode );
[propget]
HRESULT Resources( [out, retval] ClusGroupResources ** ppClusterGroupResources );
[propget]
HRESULT PreferredOwnerNodes( [out, retval] ClusGroupOwners ** ppOwnerNodes );
HRESULT SetPreferredOwnerNodes();
HRESULT Delete();
HRESULT Online( [in] LONG nTimeout, [in, optional] ClusNode * pDestinationNode,[out,retval] LONG* bPending );
HRESULT Move( [in] LONG nTimeout, [in, optional] ClusNode * pDestinationNode,[out,retval] LONG* bPending );
HRESULT Offline([in] LONG nTimeout, [out,retval] LONG* bPending);
[propget]
HRESULT Cluster( [out,retval] ICluster ** ppCluster );
};
/////////////////////////////////////////////////
// ClusResGroups
[
object,
uuid(f2e606e6-2631-11d1-89f1-00a0c90d061e),
dual,
helpstring("Cluster Resource Groups Interface"),
pointer_default(unique)
]
interface ClusResGroups : ClusObjCollection
{
[propget, id(DISPID_VALUE), helpstring("Given an index, returns an item in the collection.")]
HRESULT Item([in] VARIANT varIndex , [out, retval] ClusResGroup ** ppClusResGroup);
[helpstring("Create a new resource group")]
HRESULT CreateItem( [in] BSTR bstrResourceGroupName, [out, retval] ClusResGroup ** ppResourceGroup );
[helpstring("Delete a resource group")]
HRESULT DeleteItem( [in] VARIANT varIndex );
};
/////////////////////////////////////////////////
// ClusResource
[
object,
uuid(f2e606e7-2631-11d1-89f1-00a0c90d061e),
dual,
helpstring("Cluster Resource Interface"),
pointer_default(unique)
]
interface ClusResource : ClusObj
{
[propget, hidden]
HRESULT Handle( [out, retval] LONG * phandle );
[propput]
HRESULT Name( [in] BSTR bstrResourceName );
[propget]
HRESULT State( [out,retval] CLUSTER_RESOURCE_STATE* dwState );
HRESULT BecomeQuorumResource( [in] BSTR bstrDevicePath, [in] LONG lMaxLogSize );
HRESULT Delete();
HRESULT Fail();
HRESULT Online(LONG nTimeout,LONG* bPending);
HRESULT Offline(LONG nTimeout, LONG* bPending);
HRESULT ChangeResourceGroup( [in] ClusResGroup * pResourceGroup );
HRESULT AddResourceNode( [in] ClusNode * pNode );
HRESULT RemoveResourceNode( [in] ClusNode * pNode );
// HRESULT AddResourceDependency( [in] ClusResource * pResource );
// HRESULT RemoveResourceDependency( [in] ClusResource * pResource );
HRESULT CanResourceBeDependent( [in] ClusResource * pResource, [out, retval] BOOL * bDependent );
[propget]
HRESULT PossibleOwnerNodes( [out, retval] ClusResOwners ** ppNodes );
[propget]
HRESULT Dependencies( [out, retval] ClusResDependencies ** ppResDependencies );
[propget]
HRESULT Group( [out, retval] ClusResGroup ** ppResGroup );
[propget]
HRESULT OwnerNode( [out, retval] ClusNode ** ppNode );
[propget]
HRESULT Cluster( [out, retval] ICluster ** ppCluster );
};
/////////////////////////////////////////////////
// ClusResDependencies
[
object,
uuid(f2e606f5-2631-11d1-89f1-00a0c90d061e),
dual,
helpstring("Resource Dependencies for a resource"),
pointer_default(unique)
]
interface ClusResDependencies : ClusObjCollection
{
[propget, id(DISPID_VALUE), helpstring("Given an index, returns an item in the collection.")]
HRESULT Item([in] VARIANT varIndex , [out, retval] ClusResource ** ppClusResource);
[helpstring("Create a new resource.and add it to the dependency list")]
HRESULT CreateItem(
[in] BSTR bstrResourceName,
[in] BSTR bstrResourceType,
[in] BSTR bstrGroupName,
[in] CLUSTER_RESOURCE_CREATE_FLAGS dwFlags,
[out, retval] ClusResource ** ppClusterResource );
[helpstring("Delete a resource by name or index.")]
HRESULT DeleteItem( [in] VARIANT varIndex );
[helpstring("Add a resource to the list.")]
HRESULT AddItem( [in] ClusResource* pResource );
[helpstring("Remove a resource from the list by name or index.")]
HRESULT RemoveItem( [in] VARIANT varIndex );
};
/////////////////////////////////////////////////
// ClusGroupResources
[
object,
uuid(f2e606f6-2631-11d1-89f1-00a0c90d061e),
dual,
helpstring("Resources Collection in a group"),
pointer_default(unique)
]
interface ClusGroupResources : ClusObjCollection
{
[propget, id(DISPID_VALUE), helpstring("Given an index, returns an item in the collection.")]
HRESULT Item([in] VARIANT varIndex , [out, retval] ClusResource ** ppClusResource);
[helpstring("Create a new resource.")]
HRESULT CreateItem(
[in] BSTR bstrResourceName,
[in] BSTR bstrResourceType,
[in] CLUSTER_RESOURCE_CREATE_FLAGS dwFlags,
[out, retval] ClusResource ** ppClusterResource );
[helpstring("Delete a resource by name or index.")]
HRESULT DeleteItem( [in] VARIANT varIndex );
};
/////////////////////////////////////////////////
// ClusResTypeResources
[
object,
uuid(f2e606f7-2631-11d1-89f1-00a0c90d061e),
dual,
helpstring("ClusResTypeResources Collection"),
pointer_default(unique)
]
interface ClusResTypeResources : ClusObjCollection
{
[propget, id(DISPID_VALUE), helpstring("Given an index, returns an item in the collection.")]
HRESULT Item([in] VARIANT varIndex , [out, retval] ClusResource ** ppClusResource);
[helpstring("Create a new resource.")]
HRESULT CreateItem(
[in] BSTR bstrResourceName,
[in] BSTR bstrGroupName,
[in] CLUSTER_RESOURCE_CREATE_FLAGS dwFlags,
[out, retval] ClusResource ** ppClusterResource );
[helpstring("Delete a resource by name or index.")]
HRESULT DeleteItem( [in] VARIANT varIndex );
};
// A Resource Collection in the ICluster Object.
/////////////////////////////////////////////////
// ClusResources
[
object,
uuid(f2e606e8-2631-11d1-89f1-00a0c90d061e),
dual,
helpstring("Cluster Resources Collection"),
pointer_default(unique)
]
interface ClusResources : ClusObjCollection
{
[propget, id(DISPID_VALUE), helpstring("Given an index, returns an item in the collection.")]
HRESULT Item([in] VARIANT varIndex , [out, retval] ClusResource ** ppClusResource);
[helpstring("Create a new resource and add it to the Resource list in the Cluster Object")]
HRESULT CreateItem(
[in] BSTR bstrResourceName,
[in] BSTR bstrResourceType,
[in] BSTR bstrGroupName,
[in] CLUSTER_RESOURCE_CREATE_FLAGS dwFlags,
[out, retval] ClusResource ** ppClusterResource );
[helpstring("Delete a resource by name or index.")]
HRESULT DeleteItem( [in] VARIANT varIndex );
};
/////////////////////////////////////////////////
// ClusGroupOwners
[
object,
uuid(f2e606f8-2631-11d1-89f1-00a0c90d061e),
dual,
helpstring("Owner Nodes Collection"),
pointer_default(unique)
]
interface ClusGroupOwners : ClusObjCollection
{
[propget, id(DISPID_VALUE), helpstring("Given an index, returns an item in the collection.")]
HRESULT Item([in] VARIANT varIndex , [out, retval] ClusNode ** ppClusNode);
[helpstring("Insert a Node into the collection")]
HRESULT InsertItem([in] ClusNode *pClusNode, [in,optional] LONG nPosition );
[helpstring("Delete a Node by name or index.")]
HRESULT RemoveItem( [in] VARIANT varIndex );
[propget]
HRESULT Modified([out,retval] boolean * flag);
};
/////////////////////////////////////////////////
// ClusResOwners
[
object,
uuid(f2e606f9-2631-11d1-89f1-00a0c90d061e),
dual,
helpstring("Owner Nodes Collection"),
pointer_default(unique)
]
interface ClusResOwners : ClusObjCollection
{
[propget, id(DISPID_VALUE), helpstring("Given an index, returns an item in the collection.")]
HRESULT Item([in] VARIANT varIndex , [out, retval] ClusNode ** ppClusNode);
[helpstring("Add OwnerNode to the Possible Owner List of the Resource.")]
HRESULT AddItem( [in] ClusNode* pNode );
[helpstring("Remove a OwnerNode from the list by name or index.")]
HRESULT RemoveItem( [in] VARIANT varIndex );
[propget]
HRESULT Modified([out,retval] boolean * pbflag);
};
/////////////////////////////////////////////////
// ClusResType
[
object,
uuid(f2e606e9-2631-11d1-89f1-00a0c90d061e),
dual,
helpstring("Cluster Resource Type"),
pointer_default(unique)
]
interface ClusResType : ClusObj
{
HRESULT Delete();
[propget]
HRESULT Cluster( [out,retval] ICluster ** ppCluster );
/////////////////////////////////
// Cluster Resources
[propget]
HRESULT Resources( [out, retval] ClusResTypeResources ** ppClusterResTypeResources );
};
/////////////////////////////////////////////////
// ClusResTypes
[
object,
uuid(f2e606ea-2631-11d1-89f1-00a0c90d061e),
dual,
helpstring("Cluster Resource Types Collection"),
pointer_default(unique)
]
interface ClusResTypes : ClusObjCollection
{
[propget, id(DISPID_VALUE), helpstring("Given an index, returns an item in the collection.")]
HRESULT Item([in] VARIANT varIndex , [out, retval] ClusResType ** ppClusResType);
[helpstring("Create a resource type")]
HRESULT CreateItem(
[in] BSTR bstrResourceTypeName,
[in] BSTR bstrDisplayName,
[in] BSTR bstrResourceTypeDll,
[in] LONG dwLooksAlivePollInterval,
[in] LONG dwIsAlivePollInterval,
[out, retval] ClusResType ** ppResourceType );
[helpstring("Delete a resource type")]
HRESULT DeleteItem( [in] VARIANT varIndex );
};
/////////////////////////////////////////////////
// ClusProperty
[
object,
uuid(f2e606eb-2631-11d1-89f1-00a0c90d061e),
dual,
helpstring("Property of an object in the cluster"),
pointer_default(unique)
]
interface ClusProperty : IDispatch
{
[propget]
HRESULT Name( [out, retval] BSTR * pbstrName );
[propget]
HRESULT Value( [out, retval] VARIANT * pvarValue );
[propput, id(DISPID_VALUE)]
HRESULT Value( [in] VARIANT varValue );
};
/////////////////////////////////////////////////
// ClusProperties
[
object,
uuid(f2e606ec-2631-11d1-89f1-00a0c90d061e),
dual,
helpstring("ClusProperty collection"),
pointer_default(unique)
]
interface ClusProperties : ClusObjCollection
{
[propget, id(DISPID_VALUE), helpstring("Given an index, returns an item in the collection.")]
HRESULT Item([in] VARIANT varIndex , [out, retval] ClusProperty ** ppClusProperty);
[helpstring("Add an object")]
HRESULT Add( [in] BSTR bstrName, [in] VARIANT varValue, [out, retval] ClusProperty ** pProperty );
[helpstring("Remove an object")]
HRESULT Remove( [in] VARIANT varIndex );
[helpstring("Save all property changes")]
HRESULT SaveChanges();
};
/////////////////////////////////////////////////////////
// MSClusterLib
[
uuid(f2e606f0-2631-11d1-89f1-00a0c90d061e),
version(1.0),
helpstring("MS Cluster 1.0 Type Library")
]
library MSClusterLib
{
importlib("stdole32.tlb");
// Temporary include file for CLUSAPI constants.
// #include "cluconst.idl"
[
uuid(f2e606f1-2631-11d1-89f1-00a0c90d061e),
helpstring("Application Class")
]
coclass Application
{
[default] interface IClusterApplication;
};
[
uuid(f2e606f2-2631-11d1-89f1-00a0c90d061e),
helpstring("Cluster Class")
]
coclass Cluster
{
[default] interface ICluster;
};
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -