Leaked source code of windows server 2003
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.
 
 
 
 
 
 

238 lines
9.2 KiB

/////////////////////////////////////////////////////////////////////////////
//
// Copyright(C) 1999 Microsoft Corporation all rights reserved.
//
// Module: applianceobject.idl
//
// Project: Chameleon
//
// Description: Appliance Object Interface
//
// Log:
//
// Who When What
// --- ---- ----
// TLP 01/28/1999 Original Version
//
/////////////////////////////////////////////////////////////////////////////
import "oaidl.idl";
import "ocidl.idl";
//////////////////////////////////////////////////////////////////////////
// IApplianceObject Interface
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
[public] typedef enum _SA_OBJECT_TYPE
{
SA_OBJECT_TYPE_ALERT,
SA_OBJECT_TYPE_SERVICE,
SA_OBJECT_TYPE_TASK,
SA_OBJECT_TYPE_USER,
SA_OBJECT_TYPE_APPMGR,
// New Object Types Here...
SA_OBJECT_TYPE_ALL
} SA_OBJECT_TYPE, *PSA_OBJECT_TYPE;
//////////////////////////////////////////////////////////////////////
[public] typedef enum _SA_OBJECT_CONTROL
{
SA_OBJECT_CONTROL_CAN_DISABLE = 0x01,
SA_OBJECT_CONTROL_CAN_PERSIST = 0x02,
SA_OBJECT_CONTROL_CAN_LOCK = 0x04,
} SA_OBJECT_CONTROL, *PSA_OBJECT_CONTROL;
//////////////////////////////////////////////////////////////////////
[public] typedef enum _SA_OBJECT_STATUS
{
SA_OBJECT_STATUS_ENABLED,
SA_OBJECT_STATUS_DISABLED
} SA_OBJECT_STATUS, *PSA_OBJECT_STATUS;
//////////////////////////////////////////////////////////////////////////
[
object,
uuid(DC1AE3B0-B818-11D2-A91C-00AA00A71DCA),
dual,
pointer_default(unique)
]
interface IApplianceObject : IDispatch
{
//////////////////////////////////////////////////////////////////////
//
// Function: GetProperty() - Used to retrieve an appliance object
// property by name.
//
// Inputs: pszPropertyName: Pointer to a basic string containing
// the name of the property to retrieve.
//
// pPropertyValue: Pointer to a variant that will contain
// on output the property value.
//
// Outputs: S_OK: Function succeeded.
//
// E_POINTER: NULL pointer was specified
//
// E_INVALIDARG: Invalid argument was specified
//
// E_OUTOFMEMORY: Not enough memory
//
//////////////////////////////////////////////////////////////////////
[id(1)]
HRESULT GetProperty(
[in] BSTR pszPropertyName,
[out, retval] VARIANT* pPropertyValue
);
//////////////////////////////////////////////////////////////////////
//
// Function: PutProperty() - Used to set an appliance object
// property by name.
//
// Inputs: pszPropertyName: Pointer to a basic string containing
// the name of an object property.
//
// pPropertyValue: Pointer to a variant that contains
// the updated property value.
//
// Outputs: S_OK: Function succeeded.
//
// E_POINTER: NULL pointer was specified
//
// E_INVALIDARG: Invalid argument was specified
//
// E_OUTOFMEMORY: Not enough memory
//
//////////////////////////////////////////////////////////////////////
[id(2)]
HRESULT PutProperty(
[in] BSTR pszPropertyName,
[in] VARIANT* pPropertyValue
);
//////////////////////////////////////////////////////////////////////
//
// Function: SaveProperties() - Used to persist an appliance object's
// state to a persistent store.
//
// Inputs: None
//
// Outputs: S_OK: Function succeeded.
//
// FAILED(hr): Appliance object could not save its
// state. The returned value indicates why
// the operation failed.
//
//////////////////////////////////////////////////////////////////////
[id(3)]
HRESULT SaveProperties(void);
//////////////////////////////////////////////////////////////////////
//
// Function: RestoreProperties() - Used to restore an appliance
// object's state from a persistent
// store.
//
// Inputs: None
//
// Outputs: S_OK: Function succeeded.
//
// FAILED(hr): Appliance object could not save its
// state. The returned value indicates why
// the operation failed.
//
//////////////////////////////////////////////////////////////////////
[id(4)]
HRESULT RestoreProperties(void);
//////////////////////////////////////////////////////////////////////
//
// Function: LockObject() - Used to lock an appliance object for
// exclusive use.
//
// Inputs: ppLock: Pointer to storage for the returned lock
// object. The caller should invoke the
// IUnknown::Release() function on the lock
// when it is finished using the object.
//
// Outputs: S_OK: Function succeeded.
//
// FAILED(hr): Appliance object could not be initialized.
// The returned value indicates why the
// operation failed.
//
//////////////////////////////////////////////////////////////////////
[id(5)]
HRESULT LockObject([out, retval] IUnknown** ppLock);
//////////////////////////////////////////////////////////////////////
//
// Function: Initialize() - Used to initialize an appliance object.
//
// Inputs: None
//
// Outputs: S_OK: Function succeeded.
//
// FAILED(hr): Appliance object could not be initialized.
// The returned value indicates why the
// operation failed.
//
//////////////////////////////////////////////////////////////////////
[id(6)]
HRESULT Initialize(void);
//////////////////////////////////////////////////////////////////////
//
// Function: Shutdown() - Used to shutdown an appliance object.
//
// Inputs: None
//
// Outputs: S_OK: Function succeeded.
//
// FAILED(hr): Appliance object could not be shutdown. The
// returned value indicates why the operation
// failed.
//
//////////////////////////////////////////////////////////////////////
[id(7)]
HRESULT Shutdown(void);
//////////////////////////////////////////////////////////////////////
//
// Function: Enable() - Used to enable an appliance object.
//
// Inputs: None
//
// Outputs: S_OK: Function succeeded.
//
// FAILED(hr): Appliance object could not be enabled. The
// returned value indicates why the operation
// failed.
//
//////////////////////////////////////////////////////////////////////
[id(8)]
HRESULT Enable(void);
//////////////////////////////////////////////////////////////////////
//
// Function: Disable() - Used to disable an appliance object.
//
// Inputs: None
//
// Outputs: S_OK: Function succeeded.
//
// FAILED(hr): Appliance object could not be disabled. The
// returned value indicates why the operation
// failed.
//
//////////////////////////////////////////////////////////////////////
[id(9)]
HRESULT Disable(void);
};