⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 msclus.idl

📁 vc6.0完整版
💻 IDL
📖 第 1 页 / 共 2 页
字号:
    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 + -