///////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 1998, Microsoft Corp. All rights reserved.
//
// FILE
//
//    iascomp.idl
//
// SYNOPSIS
//
//    This IDL file describes the IAS component interfaces
//
// MODIFICATION HISTORY
//
//    01/15/1998    Original version.
//    05/19/1998    Consolidated per-user handlers into NT-SAM Per-User.
//    08/24/1998    Renamed unused provider ID's.
//    01/04/1999    Added IAS_PROVIDER_MICROSOFT_MSCHAP_ERROR.
//    01/21/1999    Added IAS_PROVIDER_MICROSOFT_BASECAMP_HOST.
//    04/19/1999    Added IAS_PROVIDER_MICROSOFT_AUTHORIZATION_HOST.
//
///////////////////////////////////////////////////////////////////////////////

import "oaidl.idl";


	typedef enum _RESERVEDID
	{
		IAS_RESERVED_ID = 0

	}	RESERVEDID;


	///////////////////////////////////////////////////////////////////////////
	// Provider (Request Handler)
	///////////////////////////////////////////////////////////////////////////
	typedef enum _PROVIDERIDS
	{
		IAS_PROVIDER_MICROSOFT_NTSAM_AUTH = (IAS_RESERVED_ID + 1),
		IAS_PROVIDER_MICROSOFT_MSCHAP_ERROR,
		IAS_PROVIDER_MICROSOFT_BASECAMP_HOST,
		IAS_PROVIDER_MICROSOFT_AUTHORIZATION_HOST,
		IAS_PROVIDER_MICROSOFT_UNUSED_3,
		IAS_PROVIDER_MICROSOFT_NTSAM_PERUSER,
		IAS_PROVIDER_MICROSOFT_NAP,
		IAS_PROVIDER_MICROSOFT_UNUSED_4,
		IAS_PROVIDER_MICROSOFT_ACCOUNTING,
		IAS_PROVIDER_MICROSOFT_EAP,
		IAS_PROVIDER_MICROSOFT_USER_RESTRICTIONS,
		IAS_PROVIDER_MICROSOFT_NTSAM_NAMES,
        IAS_PROVIDER_MICROSOFT_U2_AUTHENTICATOR
	}	PROVIDERIDS;

	///////////////////////////////////////////////////////////////////////////
	// Protocols
	///////////////////////////////////////////////////////////////////////////
	typedef enum _IASPROTOCOLS
	{
		IAS_PROTOCOL_MICROSOFT_RADIUS = 0x40000,
		IAS_PROTOCOL_MICROSOFT_SURROGATE

	}	IASPROTOCOLS;

	///////////////////////////////////////////////////////////////////////////
	// Auditors
	///////////////////////////////////////////////////////////////////////////
	typedef enum _IASAUDITORS
	{
		IAS_AUDITOR_MICROSOFT_NT_EVENT_LOG = 0x80000

	}	IASAUDITORS;


	///////////////////////////////////////////////////////////////////////////
	// IAS Component Interface
	///////////////////////////////////////////////////////////////////////////
	[
		object,
		uuid(6BC096B4-0CE6-11D1-BAAE-00C04FC2E20D),
		dual,
		pointer_default(unique)
	]
	interface IIasComponent : IDispatch
	{
		[id(1)] HRESULT Initialize(void);
		[id(2)] HRESULT Shutdown(void);
		[id(3)] HRESULT GetProperty(LONG Id, VARIANT* pValue);
		[id(4)] HRESULT PutProperty(LONG Id, VARIANT* pValue);
		[id(5)] HRESULT InitNew (void);
		[id(6)] HRESULT Suspend (void);
		[id(7)] HRESULT Resume  (void);
	};

