mirror of https://github.com/tongzx/nt5src
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.
2213 lines
57 KiB
2213 lines
57 KiB
//////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Copyright (c) 2000-2001 Microsoft Corporation
|
|
//
|
|
// Module Name:
|
|
// ClusCfgClient.idl
|
|
//
|
|
// Description:
|
|
// This file is the IDL file for the middler tier framework for the
|
|
// Cluster Configuration Wizard.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
// Comments for generated files
|
|
cpp_quote( "//////////////////////////////////////////////////////////////////////////////" )
|
|
cpp_quote( "//" )
|
|
cpp_quote( "// Copyright (c) 2000 Microsoft Corporation" )
|
|
cpp_quote( "//" )
|
|
cpp_quote( "// Remarks:" )
|
|
cpp_quote( "// Generated file. See file ClusCfgClient.idl for more details." )
|
|
cpp_quote( "//" )
|
|
cpp_quote( "//////////////////////////////////////////////////////////////////////////////" )
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// Imported Files
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
import "unknwn.idl";
|
|
import "objidl.idl";
|
|
import "ocidl.idl";
|
|
import "ClusCfgServer.idl";
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// Forward Declarations
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
interface IClusCfgCallback;
|
|
|
|
interface INotifyUI;
|
|
interface IObjectManager;
|
|
interface INotificationManager;
|
|
interface ITaskManager;
|
|
interface IDoTask;
|
|
interface ITaskLoginDomain;
|
|
interface ITaskLoginDomainCallback;
|
|
interface ITaskGetDomains;
|
|
interface ITaskGetDomainsCallback;
|
|
interface ITaskAnalyzeCluster;
|
|
interface ITaskCommitClusterChanges;
|
|
interface ITaskVerifyIPAddress;
|
|
interface IStandardInfo;
|
|
interface IConnectionManager;
|
|
interface IConnectionInfo;
|
|
interface IGatherData;
|
|
interface IConfigurationConnection;
|
|
interface ITaskGatherNodeInfo;
|
|
interface ITaskGatherInformation;
|
|
interface IEnumNodes;
|
|
interface ITaskCompareAndPushInformation;
|
|
interface ITaskGatherClusterInfo;
|
|
interface IEnumCookies;
|
|
interface ITaskPollingCallback;
|
|
interface ILogManager;
|
|
interface ILogger;
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// Type Definitions
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
typedef DWORD OBJECTCOOKIE;
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// Interface Definitions
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//****************************************************************************
|
|
//++
|
|
//
|
|
// interface INotifyUI
|
|
//
|
|
// Description:
|
|
// TODO: gpease 10-MAR-2000
|
|
// Write a description.
|
|
//
|
|
//--
|
|
//****************************************************************************
|
|
[
|
|
object,
|
|
uuid( E5E8D401-1A37-4fbf-880C-826CC89516FD ),
|
|
pointer_default( unique )
|
|
]
|
|
interface INotifyUI : IUnknown
|
|
{
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// INotifyUI::ObjectChanged(
|
|
// OBJECTCOOKIE cookieIn
|
|
// )
|
|
//
|
|
// Description:
|
|
// Notifies the UI layer that the object "cookieIn"has changed. The
|
|
// object implementing this interface must marshall the data.
|
|
//
|
|
// Arguments:
|
|
// cookieIn
|
|
// Data Manager cookie to the object that changed.
|
|
//
|
|
// Return Value:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// other HRESULTs.
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
ObjectChanged(
|
|
[ in ] OBJECTCOOKIE cookieIn
|
|
);
|
|
|
|
}; //*** interace INotifyUI
|
|
|
|
//****************************************************************************
|
|
//++
|
|
//
|
|
// interface IDoTask
|
|
//
|
|
// Description:
|
|
// TODO: gpease 15-APR-2000
|
|
// Write a description.
|
|
//
|
|
//--
|
|
//****************************************************************************
|
|
[
|
|
object,
|
|
uuid( 0230C9F8-EE7F-4307-98DB-726EBCAE55D6 ),
|
|
pointer_default( unique )
|
|
]
|
|
interface
|
|
IDoTask : IUnknown
|
|
{
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// IDoTask::BeginTask( void )
|
|
//
|
|
// Description:
|
|
// Entry method for a task object.
|
|
//
|
|
// Arguments:
|
|
// None. You should describe a private interface to communicate
|
|
// parameters to your task.
|
|
//
|
|
// Return Type:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// E_OUTOFMEMORY
|
|
// Out of memory.
|
|
//
|
|
// other HRESULTs.
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
BeginTask( void );
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// IDoTask::StopTask( void )
|
|
//
|
|
// Description:
|
|
// Entry method to stop/cancel and running task.
|
|
//
|
|
// Arguments:
|
|
// None.
|
|
//
|
|
// Return Type:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// E_OUTOFMEMORY
|
|
// Out of memory.
|
|
//
|
|
// other HRESULTs.
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
StopTask( void );
|
|
|
|
}; //*** interface IDoTask
|
|
|
|
//****************************************************************************
|
|
//++
|
|
//
|
|
// interface INotificationManager
|
|
//
|
|
// Description:
|
|
// TODO: gpease 15-APR-2000
|
|
// Write a description.
|
|
//
|
|
//--
|
|
//****************************************************************************
|
|
[
|
|
object,
|
|
uuid( 95531501-8782-4845-901D-312F36BA6C6E ),
|
|
pointer_default( unique )
|
|
]
|
|
interface
|
|
INotificationManager : IUnknown
|
|
{
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// INotificationManager::AddConnectionPoint(
|
|
// REFIID riidIn
|
|
// , IConnectionPoint * pcpIn
|
|
// )
|
|
//
|
|
// Description:
|
|
// Adds a connection point for the notification manager to manage
|
|
// for a particular interface. There can only be one registration
|
|
// for a particular interface.
|
|
//
|
|
// Arguments:
|
|
// riidIn
|
|
// The IID of the interface.
|
|
//
|
|
// pcpIn
|
|
// Interface to the connection point.
|
|
//
|
|
// Return Type:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// CO_E_OBJISREG
|
|
// The interface for the connection point is already registered.
|
|
//
|
|
// other HRESULTs.
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
AddConnectionPoint(
|
|
[ in ] REFIID riidIn
|
|
, [ in ] IConnectionPoint * pcpIn
|
|
);
|
|
|
|
}; //*** interface INotificationManager
|
|
|
|
//****************************************************************************
|
|
//++
|
|
//
|
|
// interface IConnectionManager
|
|
//
|
|
// Description:
|
|
// TODO: gpease 15-APR-2000
|
|
// Write a description.
|
|
//
|
|
//--
|
|
//****************************************************************************
|
|
[
|
|
object,
|
|
uuid( C0017768-1BF3-4352-8D6C-3A8C1D0FB477 ),
|
|
pointer_default( unique )
|
|
]
|
|
interface
|
|
IConnectionManager : IUnknown
|
|
{
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// GetConnectionToObject(
|
|
// OBJECTCOOKIE cookieIn
|
|
// , IUnknown ** ppunkOut
|
|
// )
|
|
//
|
|
// Description:
|
|
// Establishes a connection to the object referenced by "cookieIn."
|
|
//
|
|
// Arguments:
|
|
// cookieIn
|
|
// An object reference cookie from the Object Manager.
|
|
//
|
|
// ppunkOut
|
|
// Interface pointer to the object.
|
|
//
|
|
// Return Values:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// other HRESULTs.
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
GetConnectionToObject(
|
|
[ in ] OBJECTCOOKIE cookieIn
|
|
, [ out ] IUnknown ** ppunkOut
|
|
);
|
|
|
|
}; //*** interface IConnectionManager
|
|
|
|
|
|
//****************************************************************************
|
|
//++
|
|
//
|
|
// interface ITaskManager
|
|
//
|
|
// Description:
|
|
// TODO: gpease 15-APR-2000
|
|
// Write a description.
|
|
//
|
|
//--
|
|
//****************************************************************************
|
|
[
|
|
object,
|
|
uuid( 16116694-DFC5-470b-AC12-46FBB01CEF10 ),
|
|
pointer_default( unique )
|
|
]
|
|
interface
|
|
ITaskManager : IUnknown
|
|
{
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// ITaskManager::CreateTask(
|
|
// REFIID clsidIn
|
|
// , IUnknown ** ppunkOut
|
|
// )
|
|
//
|
|
// Description:
|
|
// Submits a task to the Action Manager.
|
|
//
|
|
// Arguments:
|
|
// pTask
|
|
// Task to submit.
|
|
//
|
|
// Return Type:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// E_OUTOFMEMORY
|
|
// Out of memory.
|
|
//
|
|
// other HRESULTs.
|
|
// The call fails.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
CreateTask(
|
|
[ in ] REFIID clsidIn
|
|
, [ out ] IUnknown ** ppunkOut
|
|
);
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// ITaskManager::SubmitTask(
|
|
// IDoTask * pTask
|
|
// )
|
|
//
|
|
// Description:
|
|
// Submits a task to the Action Manager.
|
|
//
|
|
// Arguments:
|
|
// pTask
|
|
// Task to submit.
|
|
//
|
|
// Return Type:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// E_OUTOFMEMORY
|
|
// Out of memory.
|
|
//
|
|
// other HRESULTs.
|
|
// The call fails.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
SubmitTask(
|
|
[ in ] IDoTask * pTask
|
|
);
|
|
|
|
}; //*** interface ITaskManager
|
|
|
|
|
|
//****************************************************************************
|
|
//++
|
|
//
|
|
// interface ITaskManager
|
|
//
|
|
// Description:
|
|
// TODO: gpease 15-APR-2000
|
|
// Write a description.
|
|
//
|
|
//--
|
|
//****************************************************************************
|
|
[
|
|
object,
|
|
uuid( D51351DF-6394-4236-9783-65ED05631068 ),
|
|
pointer_default( unique )
|
|
]
|
|
interface
|
|
IObjectManager : IUnknown
|
|
{
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// IObjectManager::FindObject(
|
|
// REFCLSID rclsidTypeIn
|
|
// , OBJECTCOOKIE cookieParentIn
|
|
// , LPCWSTR pcszNameIn
|
|
// , REFCLSID rclsidFormatIn
|
|
// , OBJECTCOOKIE * pcookieOut
|
|
// , LPUNKNOWN * ppunkOut
|
|
// )
|
|
//
|
|
// Description:
|
|
// Looks up and retrieves information about an object that has the
|
|
// type "rclsidTypeIn" and has the name "pcszNameIn". It will return
|
|
// an object that contains data in the format specified by
|
|
// "rclsidFormatIn". It will also return "pcookieOut" that can be
|
|
// used to identify the object in future requests.
|
|
//
|
|
// Arguments:
|
|
// rclsidTypeIn
|
|
// The type of the object to find.
|
|
//
|
|
// cookieParentIn
|
|
// Cookie of the cluster. NULL looking for a cluster.
|
|
//
|
|
// pcszNameIn
|
|
// The name of the object to find.
|
|
//
|
|
// rclsidFormatIn
|
|
// The format of the data to retrieve about the object.
|
|
//
|
|
// pcookieOut
|
|
// A value that represents the object.
|
|
//
|
|
// ppunkOut
|
|
// The requested data. NULL in indicates no data returned.
|
|
//
|
|
// Return Values:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// S_PENDING
|
|
// Data being retrieved; ask again later using the cookie.
|
|
//
|
|
// other HRESULTs.
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
FindObject(
|
|
[ in ] REFCLSID rclsidTypeIn
|
|
, [ in ] OBJECTCOOKIE cookieClusterIn
|
|
, [ in, pointer_default( unique ) ] LPCWSTR pcszNameIn
|
|
, [ in ] REFCLSID rclsidFormatIn
|
|
, [ out ] OBJECTCOOKIE * pcookieOut
|
|
, [ out ] LPUNKNOWN * ppunkOut
|
|
);
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// IObjectManager::GetObject(
|
|
// REFCLSID rclsidFormatIn
|
|
// , OBJECTCOOKIE cookieIn
|
|
// , LPUNKNOWN * ppunkOut
|
|
// )
|
|
//
|
|
// Description:
|
|
// Lookups and retrieves information about the object using "cookieIn"
|
|
// as a reference. It will return an object that contains data in the
|
|
// format specified by "rclsidFormatIn".
|
|
//
|
|
// Arguments:
|
|
// rclsidFormatIn
|
|
// The format of the data to retrieve about the object.
|
|
//
|
|
// pcookieIn
|
|
// The value of the object to retrieve data from.
|
|
//
|
|
// ppunkOut
|
|
// The requested data. NULL in indicates no data returned.
|
|
//
|
|
// Return Values:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// S_PENDING
|
|
// Data being retrieved; ask again later using the cookie.
|
|
//
|
|
// other HRESULTs.
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
GetObject(
|
|
[ in ] REFCLSID rclsidFormatIn
|
|
, [ in ] OBJECTCOOKIE cookieIn
|
|
, [ out ] LPUNKNOWN * ppunkOut
|
|
);
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// IObjectManager::RemoveObject(
|
|
// OBJECTCOOKIE cookieIn
|
|
// )
|
|
//
|
|
// Description:
|
|
// Removes an object from the object cache and requests deletion all
|
|
// existing data format objects. This will also remove all children
|
|
// of the object (if any).
|
|
//
|
|
// Arguments:
|
|
// cookieIn
|
|
// The cookie of the object to be removed.
|
|
//
|
|
// Return Values:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// other HRESULTs.
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
RemoveObject(
|
|
[ in ] OBJECTCOOKIE cookieIn
|
|
);
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// IObjectManager::SetObjectStatus(
|
|
// OBJECTCOOKIE cookieIn
|
|
// , HRESULT hrIn
|
|
// )
|
|
//
|
|
// Description:
|
|
// Sets the status on an object.
|
|
//
|
|
// Arguments:
|
|
// cookieIn
|
|
// The cookie of the object.
|
|
//
|
|
// hrIn
|
|
// Status to set.
|
|
//
|
|
// Return Values:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// other HRESULTs.
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
SetObjectStatus(
|
|
[ in ] OBJECTCOOKIE cookieIn
|
|
, [ in ] HRESULT hrIn
|
|
);
|
|
|
|
}; //*** interface IObjectManager
|
|
|
|
|
|
//
|
|
// Task Interfaces
|
|
//
|
|
|
|
//****************************************************************************
|
|
//++
|
|
//
|
|
// interface ITaskLoginDomain
|
|
//
|
|
// Description:
|
|
// TODO: gpease 15-MAY-2000
|
|
// Write a description.
|
|
//
|
|
//--
|
|
//****************************************************************************
|
|
[
|
|
object,
|
|
uuid( 76AD8E51-53C3-4347-895D-6C30F4139374 ),
|
|
pointer_default( unique )
|
|
]
|
|
interface
|
|
ITaskLoginDomain : IDoTask
|
|
{
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// ITaskLoginDomain::SetCallback(
|
|
// ITaskLoginDomainCallback * punkIn
|
|
// )
|
|
//
|
|
// Description:
|
|
// Sets the callback interface for the task to inform the caller
|
|
// of the status of the login.
|
|
//
|
|
// Arguments:
|
|
// punkIn
|
|
// The ITaskLoginDomainCallback interface to inform caller of
|
|
// statuc.
|
|
//
|
|
// Return Type:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// other HRESULTs.
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
SetCallback(
|
|
[ in ] ITaskLoginDomainCallback * punkIn
|
|
);
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// ITaskLoginDomain::SetDomain(
|
|
// LPCWSTR pcszDomainIn
|
|
// )
|
|
//
|
|
// Description:
|
|
// Sets the domain to attempt to login into.
|
|
//
|
|
// Arguments:
|
|
// pcszDomainIn
|
|
// Name of the domain to be logged into.
|
|
//
|
|
// Return Type:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// E_OUTOFMEMORY
|
|
// Out of memory.
|
|
//
|
|
// other HRESULTs.
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
SetDomain(
|
|
[ in, pointer_default( unique ) ] LPCWSTR pcszDomainIn
|
|
);
|
|
|
|
}; //*** interface ITaskLoginDomain
|
|
|
|
//****************************************************************************
|
|
//++
|
|
//
|
|
// interface ITaskLoginDomainCallback
|
|
//
|
|
// Description:
|
|
// TODO: gpease 15-MAY-2000
|
|
// Write a description.
|
|
//
|
|
//--
|
|
//****************************************************************************
|
|
[
|
|
object,
|
|
uuid( EFAF3C43-7A8F-469b-B8BB-C80C5747CE05 ),
|
|
pointer_default( unique )
|
|
]
|
|
interface
|
|
ITaskLoginDomainCallback : IUnknown
|
|
{
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// ITaskLoginDomainCallback::ReceiveLoginResult(
|
|
// HRESULT hrIn
|
|
// )
|
|
//
|
|
// Description:
|
|
// Callback used to tell the invoker of TaskLoginDomain the results
|
|
// of the login attempt. All Win32 errors will be mapped to HRESULTs
|
|
// via HRESULT_FROM_WIN32.
|
|
//
|
|
// Arguments:
|
|
// hrIn
|
|
// The HRESULT result code of the login attempt.
|
|
//
|
|
// Return Type:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// other HRESULTs.
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
ReceiveLoginResult(
|
|
[ in ] HRESULT hrIn
|
|
);
|
|
|
|
}; //*** interface ITaskLoginDomainCallback
|
|
|
|
//****************************************************************************
|
|
//++
|
|
//
|
|
// interface ITaskGetDomains
|
|
//
|
|
// Description:
|
|
// TODO: gpease 15-MAY-2000
|
|
// Write a description.
|
|
//
|
|
//--
|
|
//****************************************************************************
|
|
[
|
|
object,
|
|
uuid( DFCB4ACD-C4DB-4db4-8EBB-1DD07A9D5B82 ),
|
|
pointer_default( unique )
|
|
]
|
|
interface
|
|
ITaskGetDomains : IDoTask
|
|
{
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// ITaskGetDomains::SetCallback(
|
|
// ITaskGetDomainsCallback * pResultsCallbackIn
|
|
// )
|
|
//
|
|
// Description:
|
|
// Stores the ITaskGetDomainsCallback that will be used to send
|
|
// status and names for this task.
|
|
//
|
|
// Arguments:
|
|
// pResultsCallbackIn
|
|
// The ITaskGetDomainsCallback interface of the object that will
|
|
// receive the status information as well as the names that are
|
|
// enumerated.
|
|
//
|
|
// Return Type:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// other HRESULTs.
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
SetCallback(
|
|
[ in ] ITaskGetDomainsCallback * pResultsCallbackIn
|
|
);
|
|
|
|
}; // *** interface ITaskGetDomains
|
|
|
|
//****************************************************************************
|
|
//++
|
|
//
|
|
// interface ITaskGetDomainsCallback
|
|
//
|
|
// Description:
|
|
// TODO: gpease 15-MAY-2000
|
|
// Write a description.
|
|
//
|
|
//--
|
|
//****************************************************************************
|
|
[
|
|
object,
|
|
uuid( 85402E44-6834-41df-8590-01827D124E1B ),
|
|
pointer_default( unique )
|
|
]
|
|
interface
|
|
ITaskGetDomainsCallback : IUnknown
|
|
{
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// ITaskGetDomainsCallback::ReceiveDomainResult(
|
|
// HRESULT hrIn
|
|
// )
|
|
//
|
|
// Description:
|
|
// Callback used to tell the invoker of TaskGetDomains the results
|
|
// of the enumeration. This will be only called if there is a
|
|
// problem.
|
|
//
|
|
// Arguments:
|
|
// hrIn
|
|
// The HRESULT result code of the login attempt.
|
|
//
|
|
// Return Type:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// other HRESULTs.
|
|
// The call failed - this will abort the enumeration.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
ReceiveDomainResult( [ in ] HRESULT hrIn );
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// ITaskGetDomainsCallback::ReceiveDomainName(
|
|
// LPCWSTR pcszDomainIn
|
|
// )
|
|
//
|
|
// Description:
|
|
// This method will be called by the TaskGetDomains to send an
|
|
// enumerated name back to the UI layer.
|
|
//
|
|
// Arguments:
|
|
// pcszDomainIn
|
|
// The next enumerated domain name.
|
|
//
|
|
// Return Values:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// other HRESULTs
|
|
// The call failed - this will abort the enumeration.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
ReceiveDomainName(
|
|
[ in, pointer_default( unique ) ] LPCWSTR pcszDomainIn
|
|
);
|
|
|
|
}; //*** interface ITaskGetDomainsCallback
|
|
|
|
//****************************************************************************
|
|
//++
|
|
//
|
|
// interface ITaskAnalyzeCluster
|
|
//
|
|
// Description:
|
|
// TODO: gpease 18-MAY-2000
|
|
// Write a description.
|
|
//
|
|
//--
|
|
//****************************************************************************
|
|
[
|
|
object,
|
|
uuid( 795737A1-E13A-45eb-8DFD-8185C4B7AD4E ),
|
|
pointer_default( unique )
|
|
]
|
|
interface
|
|
ITaskAnalyzeCluster : IDoTask
|
|
{
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// ITaskAnalyzeCluster::SetJoiningMode( void )
|
|
//
|
|
// Description:
|
|
// Changes this task to joining mode.
|
|
//
|
|
// Arguments:
|
|
// None.
|
|
//
|
|
// Return Type:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// other HRESULTs.
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
SetJoiningMode( void );
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// ITaskAnalyzeCluster::SetCookie(
|
|
// OBJECTCOOKIE cookieIn
|
|
// )
|
|
//
|
|
// Description:
|
|
// Stores the cookie that will be used to send the notification that the
|
|
// task has been completed.
|
|
//
|
|
// Arguments:
|
|
// cookieIn
|
|
// A cookie that will be sent as notification that the task is done.
|
|
//
|
|
// Return Type:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// E_OUTOFMEMORY
|
|
// Out of memory.
|
|
//
|
|
// other HRESULTs.
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
SetCookie(
|
|
[ in ] OBJECTCOOKIE cookieIn
|
|
);
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// ITaskAnalyzeCluster::SetClusterCookie(
|
|
// OBJECTCOOKIE cookieClusterIn
|
|
// )
|
|
//
|
|
// Description:
|
|
// Stores the cookie of the cluster configuration object.
|
|
//
|
|
// Arguments:
|
|
// cookieIn
|
|
// The cookie of the cluster to configure.
|
|
//
|
|
// Return Type:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// E_OUTOFMEMORY
|
|
// Out of memory.
|
|
//
|
|
// other HRESULTs.
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
SetClusterCookie(
|
|
[ in ] OBJECTCOOKIE cookieClusterIn
|
|
);
|
|
|
|
}; //*** interface ITaskAnalyzeCluster
|
|
|
|
|
|
//****************************************************************************
|
|
//++
|
|
//
|
|
// interface ITaskCommitClusterChanges
|
|
//
|
|
// Description:
|
|
// TODO: gpease 18-MAY-2000
|
|
// Write a description.
|
|
//
|
|
//--
|
|
//****************************************************************************
|
|
[
|
|
object,
|
|
uuid( 1BF12DDE-F8B0-49b1-A458-6747DB788A47 ),
|
|
pointer_default( unique )
|
|
]
|
|
interface
|
|
ITaskCommitClusterChanges : IDoTask
|
|
{
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// ITaskCommitClusterChanges::SetCookie(
|
|
// OBJECTCOOKIE cookieIn
|
|
// )
|
|
//
|
|
// Description:
|
|
// Stores the cookie that will be used to send the notification that the
|
|
// task has been completed.
|
|
//
|
|
// Arguments:
|
|
// cookieIn
|
|
// A cookie that will be sent as notification that the task is done.
|
|
//
|
|
// Return Type:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// E_OUTOFMEMORY
|
|
// Out of memory.
|
|
//
|
|
// other HRESULTs.
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
SetCookie(
|
|
[ in ] OBJECTCOOKIE cookieIn
|
|
);
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// ITaskCommitClusterChanges::SetClusterCookie(
|
|
// OBJECTCOOKIE cookieClusterIn
|
|
// )
|
|
//
|
|
// Description:
|
|
// Stores the cookie of the cluster configuration object.
|
|
//
|
|
// Arguments:
|
|
// cookieIn
|
|
// The cookie of the cluster to configure.
|
|
//
|
|
// Return Type:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// E_OUTOFMEMORY
|
|
// Out of memory.
|
|
//
|
|
// other HRESULTs.
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
SetClusterCookie(
|
|
[ in ] OBJECTCOOKIE cookieClusterIn
|
|
);
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// ITaskCommitClusterChanges::SetJoining( void )
|
|
//
|
|
// Description:
|
|
// Sets the task into joining mode.
|
|
//
|
|
// Arguments:
|
|
// None.
|
|
//
|
|
// Return Type:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// other HRESULTs.
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
SetJoining( void );
|
|
|
|
}; //*** interface ITaskCommitClusterChanges
|
|
|
|
//****************************************************************************
|
|
//++
|
|
//
|
|
// interface IStandardInfo
|
|
//
|
|
// Description:
|
|
// TODO: gpease 18-MAY-2000
|
|
// Write a description.
|
|
//
|
|
//--
|
|
//****************************************************************************
|
|
[
|
|
object,
|
|
uuid( F1D9C1A5-9589-40dd-B63D-9BB0B38A1022 ),
|
|
pointer_default( unique )
|
|
]
|
|
interface
|
|
IStandardInfo : IUnknown
|
|
{
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// IStandardInfo::GetType(
|
|
// CLSID * pclsidTypeOut
|
|
// )
|
|
//
|
|
// Description:
|
|
// Retrieves the type of object.
|
|
//
|
|
// Arguments:
|
|
// pclsidTypeOut
|
|
// The CLSID representing the type.
|
|
//
|
|
// Return Type:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// other HRESULTs.
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
GetType(
|
|
[ out ] CLSID * pclsidTypeOut
|
|
);
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// IStandardInfo::GetName(
|
|
// BSTR * pbstrNameOut
|
|
// )
|
|
//
|
|
// Description:
|
|
// Retrieve the object's name.
|
|
//
|
|
// Arguments:
|
|
// pbstrNameOut
|
|
// The name of the object.
|
|
//
|
|
// Return Type:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// other HRESULTs.
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
GetName(
|
|
[ out ] BSTR * pbstrNameOut
|
|
);
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// IStandardInfo::SetName(
|
|
// LPCWSTR pcszNameIn
|
|
// )
|
|
//
|
|
// Description:
|
|
// Sets the object's name.
|
|
//
|
|
// Arguments:
|
|
// ppcszNameIn
|
|
// The name of the object.
|
|
//
|
|
// Return Type:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// other HRESULTs.
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
SetName(
|
|
[ in, pointer_default( unique ) ] LPCWSTR pcszNameIn
|
|
);
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// IStandardInfo::GetParent(
|
|
// OBJECTCOOKIE * pcookieOut
|
|
// )
|
|
//
|
|
// Description:
|
|
// Retrieve the parent object's cookie.
|
|
//
|
|
// Arguments:
|
|
// pcookieOut
|
|
// The cookie for the parent object.
|
|
//
|
|
// Return Type:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// S_FALSE
|
|
// Success but there wasn't a cookie.
|
|
//
|
|
// other HRESULTs.
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
GetParent(
|
|
[ out ] OBJECTCOOKIE * pcookieOut
|
|
);
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// IStandardInfo::GetStatus(
|
|
// HRESULT * phrOut
|
|
// )
|
|
//
|
|
// Description:
|
|
// Retrieves the status of the object.
|
|
//
|
|
// Arguments:
|
|
// phrOut
|
|
// The last HRESULT received for the object.
|
|
//
|
|
// Return Type:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// S_FALSE
|
|
// Success but there wasn't a cookie.
|
|
//
|
|
// other HRESULTs.
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
GetStatus(
|
|
[ out ] HRESULT * phrOut
|
|
);
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// IStandardInfo::SetStatus(
|
|
// HRESULT hrIn
|
|
// )
|
|
//
|
|
// Description:
|
|
// Sets the status of the object.
|
|
//
|
|
// Arguments:
|
|
// hrIn
|
|
// Sets the last HRESULT for the object.
|
|
//
|
|
// Return Type:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// S_FALSE
|
|
// Success but there wasn't a cookie.
|
|
//
|
|
// other HRESULTs.
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
SetStatus(
|
|
[ in ] HRESULT hrIn
|
|
);
|
|
|
|
}; //*** interface IStandardInfo
|
|
|
|
//****************************************************************************
|
|
//++
|
|
//
|
|
// interface ITaskVerifyIPAddress
|
|
//
|
|
// Description:
|
|
// TODO: gpease 14-JUL-2000
|
|
// Write a description.
|
|
//
|
|
//--
|
|
//****************************************************************************
|
|
[
|
|
object,
|
|
uuid( 0c95e1b1-0cff-4740-8abd-69912d105bd1 ),
|
|
pointer_default( unique )
|
|
]
|
|
interface
|
|
ITaskVerifyIPAddress : IDoTask
|
|
{
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// ITaskVerifyIPAddress::SetIPAddress(
|
|
// DWORD dwIPAddressIn
|
|
// )
|
|
//
|
|
// Description:
|
|
// Stores the IP Address to verify.
|
|
//
|
|
// Arguments:
|
|
// dwIPAddressIn
|
|
// Dotted-quad network-byte-order IP address to verify.
|
|
//
|
|
// Return Type:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// other HRESULTs.
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
SetIPAddress(
|
|
[ in ] DWORD dwIPAddressIn
|
|
);
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// ITaskVerifyIPAddress::SetCookie(
|
|
// OBJECTCOOKIE cookieIn
|
|
// )
|
|
//
|
|
// Description:
|
|
// Stores the cookie that will be used to send the notification that the
|
|
// task has been completed.
|
|
//
|
|
// Arguments:
|
|
// cookieIn
|
|
// A cookie that will be sent as notification that the task is done.
|
|
//
|
|
// Return Type:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// E_OUTOFMEMORY
|
|
// Out of memory.
|
|
//
|
|
// other HRESULTs.
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
SetCookie(
|
|
[ in ] OBJECTCOOKIE cookieIn
|
|
);
|
|
|
|
}; //*** interface ITaskVerifyIPAddress
|
|
|
|
//****************************************************************************
|
|
//++
|
|
//
|
|
// interface IConfigurationConnection
|
|
//
|
|
// Description:
|
|
// TODO: gpease 14-JUL-2000
|
|
// Write a description.
|
|
//
|
|
//--
|
|
//****************************************************************************
|
|
[
|
|
object,
|
|
uuid( DDAD8191-66C5-4a30-A4DF-CB6C216704CA ),
|
|
pointer_default( unique )
|
|
]
|
|
interface
|
|
IConfigurationConnection : IUnknown
|
|
{
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// ConnectTo(
|
|
// LPVOID cookieIn
|
|
// )
|
|
//
|
|
// Description:
|
|
// Opens a connection a cluster "cookieIn".
|
|
//
|
|
// Arguments:
|
|
// cookieIn - cookie to the cluster to open.
|
|
//
|
|
// Return Type:
|
|
// S_OK - Success.
|
|
// other HRESULTs.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
ConnectTo(
|
|
[ in ] OBJECTCOOKIE cookieIn
|
|
);
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// ConnectToObject(
|
|
// LPVOID cookieIn
|
|
// , REFIID riidIn
|
|
// , LPUNKNOWN * ppunkOut
|
|
// )
|
|
//
|
|
// Description:
|
|
// Opens a connection a cluster "cookieIn".
|
|
//
|
|
// Arguments:
|
|
// cookieIn - cookie to the cluster to open.
|
|
// riidIn - riid of the interface to get.
|
|
// ppunkOut - the interface to the object requested.
|
|
//
|
|
// Return Type:
|
|
// S_OK - Success.
|
|
// other HRESULTs.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
ConnectToObject(
|
|
[ in ] OBJECTCOOKIE cookieIn
|
|
, [ in ] REFIID riidIn
|
|
, [ in ] LPUNKNOWN * ppunkOut
|
|
);
|
|
|
|
}; //*** interface IConfigurationConnection
|
|
|
|
|
|
//****************************************************************************
|
|
//++
|
|
//
|
|
// interface IConnectionInfo
|
|
//
|
|
// Description:
|
|
// TODO: gpease 14-JUL-2000
|
|
// Write a description.
|
|
//
|
|
//--
|
|
//****************************************************************************
|
|
[
|
|
object,
|
|
uuid( 15182CE3-82D7-473f-92DE-706E2BCEA902 ),
|
|
pointer_default( unique )
|
|
]
|
|
interface
|
|
IConnectionInfo : IUnknown
|
|
{
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// IConnectionInfo::GetConnection(
|
|
// IConfigurationConnection ** pccOut
|
|
// )
|
|
//
|
|
// Description:
|
|
// Retrieves the cookie for the connection object that is used to
|
|
// communicate with the object in question.
|
|
//
|
|
// Arguments:
|
|
// pccOut
|
|
// The interface to the connection object.
|
|
//
|
|
// Return Type:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// S_FALSE
|
|
// Success but there wasn't a cookie.
|
|
//
|
|
// other HRESULTs.
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
GetConnection(
|
|
[ out ] IConfigurationConnection ** pccOut
|
|
);
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// IConnectionInfo::SetConnection(
|
|
// IConfigurationConnection * pccIn
|
|
// )
|
|
//
|
|
// Description:
|
|
// Stores the cookie for the connection object that is used to
|
|
// communicate with the object in question.
|
|
//
|
|
// Arguments:
|
|
// pccIn
|
|
// The interface to the connection object.
|
|
//
|
|
// Return Type:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// other HRESULTs.
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
SetConnection(
|
|
[ in ] IConfigurationConnection * pccIn
|
|
);
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// IConnectionInfo::GetParent(
|
|
// OBJECTCOOKIE * pcookieOut
|
|
// )
|
|
//
|
|
// Description:
|
|
// Retrieve the parent object's cookie.
|
|
//
|
|
// Arguments:
|
|
// pcookieOut
|
|
// The cookie for the parent object.
|
|
//
|
|
// Return Type:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// S_FALSE
|
|
// Success but there wasn't a cookie.
|
|
//
|
|
// other HRESULTs.
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
GetParent(
|
|
[ out ] OBJECTCOOKIE * pcookieOut
|
|
);
|
|
|
|
}; //*** interface IConnectionInfo
|
|
|
|
|
|
//****************************************************************************
|
|
//++
|
|
//
|
|
// interface IEnumCookies
|
|
//
|
|
// Description:
|
|
// TODO: gpease 14-JUL-2000
|
|
// Write a description.
|
|
//
|
|
// Documentation:
|
|
// See IEnumXXXX in MSDN.
|
|
//
|
|
//--
|
|
//****************************************************************************
|
|
[
|
|
object,
|
|
uuid( 5E3E482E-3C22-482c-B664-693051AD0A5D ),
|
|
pointer_default( unique )
|
|
]
|
|
interface
|
|
IEnumCookies : IUnknown
|
|
{
|
|
HRESULT
|
|
Next(
|
|
[ in ] ULONG celtIn
|
|
, [ out, size_is( celtIn ), length_is( *pceltFetchedOut ) ] OBJECTCOOKIE * rgcookieOut
|
|
, [ out ] ULONG * pceltFetchedOut
|
|
);
|
|
|
|
HRESULT
|
|
Skip(
|
|
[ in ] ULONG celtIn
|
|
);
|
|
|
|
HRESULT
|
|
Reset( void );
|
|
|
|
HRESULT
|
|
Clone(
|
|
[ out ] IEnumCookies ** ppenumOut
|
|
);
|
|
|
|
HRESULT
|
|
Count(
|
|
[ out, ref ] DWORD * pnCountOut
|
|
);
|
|
|
|
}; //*** interface IEnumCookies
|
|
|
|
|
|
//****************************************************************************
|
|
//++
|
|
//
|
|
// interface IEnumNodes
|
|
//
|
|
// Description:
|
|
// TODO: gpease 14-JUL-2000
|
|
// Write a description.
|
|
//
|
|
// Documentation:
|
|
// See IEnumXXXX in MSDN.
|
|
//
|
|
//--
|
|
//****************************************************************************
|
|
[
|
|
object,
|
|
uuid( C477E363-AF0A-4203-A604-45CD607DD710 ),
|
|
pointer_default( unique )
|
|
]
|
|
interface
|
|
IEnumNodes : IUnknown
|
|
{
|
|
HRESULT
|
|
Next(
|
|
[ in ] ULONG celtIn
|
|
, [ out, size_is( celtIn ), length_is( *pceltFetchedOut ) ] IClusCfgNodeInfo ** rgccniOut
|
|
, [ out ] ULONG * pceltFetchedOut
|
|
);
|
|
|
|
HRESULT
|
|
Skip(
|
|
[ in ] ULONG celtIn
|
|
);
|
|
|
|
HRESULT
|
|
Reset( void );
|
|
|
|
HRESULT
|
|
Clone(
|
|
[ out ] IEnumNodes ** ppenumOut
|
|
);
|
|
|
|
HRESULT
|
|
Count(
|
|
[ out, ref ] DWORD * pnCountOut
|
|
);
|
|
|
|
}; //*** interface IEnumNodes
|
|
|
|
|
|
//****************************************************************************
|
|
//++
|
|
//
|
|
// interface ITaskGatherClusterInfo
|
|
//
|
|
// Description:
|
|
// TODO: gpease 14-JUL-2000
|
|
// Write a description.
|
|
//
|
|
//--
|
|
//****************************************************************************
|
|
[
|
|
object,
|
|
uuid( E167965C-C5D6-493c-A343-4C105C01DDE7 ),
|
|
pointer_default( unique )
|
|
]
|
|
interface
|
|
ITaskGatherClusterInfo : IDoTask
|
|
{
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// ITaskGatherClusterInfo::SetCookie(
|
|
// OBJECTCOOKIE cookieIn
|
|
// )
|
|
//
|
|
// Description:
|
|
// Stores the cookie to the Node to retrieve information about.
|
|
//
|
|
// Arguments:
|
|
// cookieIn
|
|
// The cookie of the Node to retrieve information about.
|
|
//
|
|
// Return Type:
|
|
// S_OK - Success.
|
|
// E_OUTOFMEMORY - Out of memory.
|
|
// other HRESULTs.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
SetCookie(
|
|
[ in ] OBJECTCOOKIE cookieIn
|
|
);
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// ITaskGatherClusterInfo::SetCompletionCookie(
|
|
// OBJECTCOOKIE cookieIn
|
|
// )
|
|
//
|
|
// Description:
|
|
// Stores the cookie to signal when task is completed.
|
|
//
|
|
// Arguments:
|
|
// cookieIn
|
|
// The cookie to signal when the task is completed.
|
|
//
|
|
// Return Type:
|
|
// S_OK - Success.
|
|
// other HRESULTs.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
SetCompletionCookie(
|
|
[ in ] OBJECTCOOKIE cookieIn
|
|
);
|
|
|
|
}; //*** interface ITaskGatherClusterInfo
|
|
|
|
|
|
//****************************************************************************
|
|
//++
|
|
//
|
|
// interface IGatherData
|
|
//
|
|
// Description:
|
|
// TODO: gpease 14-JUL-2000
|
|
// Write a description.
|
|
//
|
|
//--
|
|
//****************************************************************************
|
|
[
|
|
object,
|
|
uuid( 65318F4A-B63C-4e21-ADDC-BDCFB969E181 ),
|
|
pointer_default( unique )
|
|
]
|
|
interface
|
|
IGatherData : IUnknown
|
|
{
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// IGatherData::Gather(
|
|
// OBJECTCOOKIE cookieParentIn,
|
|
// IUnknown * punkIn
|
|
// )
|
|
//
|
|
// Description:
|
|
// An object representation gathers the information from the punk.
|
|
//
|
|
// Arguments:
|
|
// cookieParentIn
|
|
// The parent of the object.
|
|
//
|
|
// punkIn
|
|
// The interface that can be used to gather information.
|
|
//
|
|
// Return Type:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// E_OUTOFMEMORY
|
|
// Out of memory.
|
|
//
|
|
// other HRESULTs.
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
Gather(
|
|
[ in ] OBJECTCOOKIE cookieParentIn
|
|
, [ in ] IUnknown * punkIn
|
|
);
|
|
|
|
}; //*** interface IGatherData
|
|
|
|
|
|
//****************************************************************************
|
|
//++
|
|
//
|
|
// interface ITaskGatherNodeInfo
|
|
//
|
|
// Description:
|
|
// TODO: gpease 14-JUL-2000
|
|
// Write a description.
|
|
//
|
|
//--
|
|
//****************************************************************************
|
|
[
|
|
object,
|
|
uuid( F19A2E01-2CB3-47b4-8F5D-B977176B45C8 ),
|
|
pointer_default( unique )
|
|
]
|
|
interface
|
|
ITaskGatherNodeInfo : IDoTask
|
|
{
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// ITaskGatherNodeInfo::SetCookie(
|
|
// OBJECTCOOKIE cookieIn
|
|
// )
|
|
//
|
|
// Description:
|
|
// Stores the cookie to the Node to retrieve information about.
|
|
//
|
|
// Arguments:
|
|
// cookieIn
|
|
// The cookie of the Node to retrieve information about.
|
|
//
|
|
// Return Type:
|
|
// S_OK - Success.
|
|
// E_OUTOFMEMORY - Out of memory.
|
|
// other HRESULTs.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
SetCookie(
|
|
[ in ] OBJECTCOOKIE cookieIn
|
|
);
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// ITaskGatherNodeInfo::SetCompletionCookie(
|
|
// OBJECTCOOKIE cookieIn
|
|
// )
|
|
//
|
|
// Description:
|
|
// Stores the cookie to signal when the task is completed.
|
|
//
|
|
// Arguments:
|
|
// cookieIn
|
|
// The cookie to signal when the task is completed.
|
|
//
|
|
// Return Type:
|
|
// S_OK - Success.
|
|
// other HRESULTs.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
SetCompletionCookie(
|
|
[ in ] OBJECTCOOKIE cookieIn
|
|
);
|
|
|
|
}; //*** interface ITaskGatherNodeInfo
|
|
|
|
//****************************************************************************
|
|
//++
|
|
//
|
|
// interface ITaskCompareAndPushInformation
|
|
//
|
|
// Description:
|
|
// TODO: gpease 14-JUL-2000
|
|
// Write a description.
|
|
//
|
|
//--
|
|
//****************************************************************************
|
|
[
|
|
object,
|
|
uuid( D4F1C2AF-B370-49de-8768-4010B568636C ),
|
|
pointer_default( unique )
|
|
]
|
|
interface
|
|
ITaskCompareAndPushInformation : IDoTask
|
|
{
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// ITaskCompareAndPushInformation::SetNodeCookie(
|
|
// OBJECTCOOKIE cookieIn
|
|
// )
|
|
//
|
|
// Description:
|
|
// Stores the cookie to the Node to retrieve information about.
|
|
//
|
|
// Arguments:
|
|
// cookieIn
|
|
// The cookie of the Node to retrieve information about.
|
|
//
|
|
// Return Values:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// other HRESULTs.
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
SetNodeCookie(
|
|
[ in ] OBJECTCOOKIE cookieIn
|
|
);
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// ITaskCompareAndPushInformation::SetCompletionCookie(
|
|
// OBJECTCOOKIE cookieIn
|
|
// )
|
|
//
|
|
// Description:
|
|
// Stores the cookie to signal when the task is completed.
|
|
//
|
|
// Arguments:
|
|
// cookieIn
|
|
// The cookie to signal when the task is completed.
|
|
//
|
|
// Return Values:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// other HRESULTs.
|
|
// The call
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
SetCompletionCookie(
|
|
[ in ] OBJECTCOOKIE cookieIn
|
|
);
|
|
|
|
}; //*** interface ITaskCompareAndPushInformation
|
|
|
|
//****************************************************************************
|
|
//++
|
|
//
|
|
// interface ITaskGatherInformation
|
|
//
|
|
// Description:
|
|
// TODO: gpease 14-JUL-2000
|
|
// Write a description.
|
|
//
|
|
//--
|
|
//****************************************************************************
|
|
[
|
|
object,
|
|
uuid( B9AAF3F8-238E-4993-BA31-14859804F92C ),
|
|
pointer_default( unique )
|
|
]
|
|
interface
|
|
ITaskGatherInformation : IDoTask
|
|
{
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// ITaskGatherInformation::SetNodeCookie(
|
|
// OBJECTCOOKIE cookieIn
|
|
// )
|
|
//
|
|
// Description:
|
|
// Stores the cookie to the Node to retrieve information about.
|
|
//
|
|
// Arguments:
|
|
// cookieIn
|
|
// The cookie of the Node to retrieve information about.
|
|
//
|
|
// Return Values:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// other HRESULTs.
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
SetNodeCookie(
|
|
[ in ] OBJECTCOOKIE cookieIn
|
|
);
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// ITaskGatherInformation::SetCompletionCookie(
|
|
// OBJECTCOOKIE cookieIn
|
|
// )
|
|
//
|
|
// Description:
|
|
// Stores the cookie to signal when the task is completed.
|
|
//
|
|
// Arguments:
|
|
// cookieIn
|
|
// The cookie to signal when the task is completed.
|
|
//
|
|
// Return Values:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// other HRESULTs.
|
|
// The call
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
SetCompletionCookie(
|
|
[ in ] OBJECTCOOKIE cookieIn
|
|
);
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// ITaskGatherInformation::SetJoining( void )
|
|
//
|
|
// Description:
|
|
// Sets the task to indicate that it going to be joining nodes.
|
|
//
|
|
// Arguments:
|
|
// None.
|
|
//
|
|
// Return Values:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// other HRESULTs.
|
|
// The call
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
SetJoining( void );
|
|
|
|
}; //*** interface ITaskGatherInformation
|
|
|
|
|
|
//****************************************************************************
|
|
//++
|
|
//
|
|
// interface ITaskPollingCallback
|
|
//
|
|
// Description:
|
|
// TODO: gpease 14-JUL-2000
|
|
// Write a description.
|
|
//
|
|
//--
|
|
//****************************************************************************
|
|
[
|
|
object,
|
|
uuid( 49E92395-66AF-4add-A41E-43512CB519B3 ),
|
|
pointer_default( unique )
|
|
]
|
|
interface
|
|
ITaskPollingCallback : IDoTask
|
|
{
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// ITaskPollingCallback::SetServerGITCookie(
|
|
// DWORD dwGITCookieIn
|
|
// )
|
|
//
|
|
// Description:
|
|
// Stores the GIT cookie to the IClusCfgServer interface of the
|
|
// server object.
|
|
//
|
|
// Arguments:
|
|
// dwGITCookieIn
|
|
// The GIT cookie to the server object used to obtain the
|
|
// polling callback interface.
|
|
//
|
|
// Return Type:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// other HRESULTs.
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
SetServerGITCookie(
|
|
[ in ] DWORD dwGITCookieIn
|
|
);
|
|
|
|
}; //*** interface ITaskPollingCallback
|
|
|
|
|
|
//****************************************************************************
|
|
//++
|
|
//
|
|
// interface IClusCfgAsyncEvictCleanup
|
|
//
|
|
// Description:
|
|
// This interface can be used to cleanup a node that has been evicted from
|
|
// a cluster. This interface can be used to cleanup both local and remote
|
|
// nodes. Note, you cannot use asynchronous COM with this interface, since
|
|
// it is an oleautomation interface.
|
|
//
|
|
//--
|
|
//****************************************************************************
|
|
[
|
|
object,
|
|
oleautomation,
|
|
uuid( 52C80B95-C1AD-4240-8D89-72E9FA84025E ),
|
|
pointer_default( unique )
|
|
]
|
|
interface
|
|
IClusCfgAsyncEvictCleanup : IUnknown
|
|
{
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// HRESULT
|
|
// CleanupNode(
|
|
// LPCWSTR pcszEvictedNodeNameIn
|
|
// , DWORD dwDelayIn
|
|
// , DWORD dwTimeoutIn
|
|
// )
|
|
//
|
|
// Routine Description:
|
|
// Cleanup a node that has been evicted.
|
|
//
|
|
// Arguments:
|
|
// LPCWSTR pcszEvictedNodeNameIn
|
|
// Name of the node on which cleanup is to be initiated. If this is NULL
|
|
// the local node is cleaned up.
|
|
//
|
|
// DWORD dwDelayIn
|
|
// Number of milliseconds that will elapse before cleanup is started
|
|
// on the target node. If some other process cleans up the target node while
|
|
// delay is in progress, the delay is terminated. If this value is zero,
|
|
// the node is cleaned up immediately.
|
|
//
|
|
// DWORD dwTimeoutIn
|
|
// Number of milliseconds that this method will wait for cleanup to complete.
|
|
// This timeout is independent of the delay above, so if dwDelayIn is greater
|
|
// than dwTimeoutIn, this method will most probably timeout. Once initiated,
|
|
// however, cleanup will run to completion - this method just may not wait for it
|
|
// to complete.
|
|
//
|
|
// Return Value:
|
|
// S_OK
|
|
// If the cleanup operations were successful
|
|
//
|
|
// RPC_S_CALLPENDING
|
|
// If cleanup is not complete in dwTimeoutIn milliseconds
|
|
//
|
|
// Other HRESULTS
|
|
// In case of error
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
CleanupNode(
|
|
[ in, pointer_default( unique ) ] LPCWSTR pcszEvictedNodeNameIn
|
|
, [ in ] DWORD dwDelayIn
|
|
, [ in ] DWORD dwTimeoutIn
|
|
);
|
|
|
|
}; //*** interface IClusCfgAsyncEvictCleanup
|
|
|
|
//****************************************************************************
|
|
//++
|
|
//
|
|
// interface ILogManager
|
|
//
|
|
// Description:
|
|
// Manage logging for all clients of the middle tier.
|
|
//
|
|
//--
|
|
//****************************************************************************
|
|
[
|
|
object,
|
|
uuid( 4759DC11-8DA0-4261-BBFB-EC321911D1C9 ),
|
|
pointer_default( unique )
|
|
]
|
|
interface
|
|
ILogManager : IUnknown
|
|
{
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// ILogManager::StartLogging( void )
|
|
//
|
|
// Description:
|
|
// Starts logging IClusCfgCallback notifications to the log file.
|
|
//
|
|
// Arguments:
|
|
// None.
|
|
//
|
|
// Return Type:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// other HRESULTs.
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
StartLogging( void );
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// ILogManager::StopLogging( void )
|
|
//
|
|
// Description:
|
|
// Stops logging IClusCfgCallback notifications to the log file.
|
|
//
|
|
// Arguments:
|
|
// None.
|
|
//
|
|
// Return Type:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// other HRESULTs.
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
StopLogging( void );
|
|
|
|
}; //*** interface ILogManager
|
|
|
|
//****************************************************************************
|
|
//++
|
|
//
|
|
// interface ILogger
|
|
//
|
|
// Description:
|
|
// Manage logging from multiple sources to the same log file.
|
|
//
|
|
//--
|
|
//****************************************************************************
|
|
[
|
|
object,
|
|
uuid( D9598418-304E-4f94-B6A1-E642FE95ED57 ),
|
|
pointer_default( unique )
|
|
]
|
|
interface
|
|
ILogger : IUnknown
|
|
{
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// STDMETHOD
|
|
// ILogger::LogMsg(
|
|
// LPCWSTR pcszMsgIn
|
|
// )
|
|
//
|
|
// Description:
|
|
// Logs a message to the log file.
|
|
//
|
|
// Arguments:
|
|
// None.
|
|
//
|
|
// Return Type:
|
|
// S_OK
|
|
// Success.
|
|
//
|
|
// other HRESULTs.
|
|
// The call failed.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
HRESULT
|
|
LogMsg(
|
|
[ in, pointer_default( unique ) ] LPCWSTR pcszMsgIn
|
|
);
|
|
|
|
}; //*** interface ILogger
|