/////////////////////////////////////////////////////////////////////////////// // // Copyright (c) 1998, Microsoft Corp. All rights reserved. // // FILE // // nap.idl // // SYNOPSIS // // This IDL file describes the Network Access Policy interfaces. // // MODIFICATION HISTORY // // 02/04/1998 Original version. // /////////////////////////////////////////////////////////////////////////////// import "iascomp.idl"; import "iaspolcy.idl"; [ helpstring("IAS Network Access Policy 1.0"), uuid(6BC098A0-0CE6-11D1-BAAE-00C04FC2E20D), version(1.0) ] library NetworkPolicy { typedef enum _IAS_LOGICAL_TOKEN { IAS_LOGICAL_TRUE = 0, IAS_LOGICAL_FALSE, IAS_LOGICAL_NOT, IAS_LOGICAL_AND, IAS_LOGICAL_OR, IAS_LOGICAL_XOR, IAS_LOGICAL_LEFT_PAREN, IAS_LOGICAL_RIGHT_PAREN, IAS_LOGICAL_NUM_TOKENS } IAS_LOGICAL_TOKEN; [ object, oleautomation, uuid(6BC098A1-0CE6-11D1-BAAE-00C04FC2E20D) ] interface ICondition : IUnknown { HRESULT IsTrue([in] IRequest* pRequest, [out, retval] VARIANT_BOOL *pVal); }; [ object, oleautomation, uuid(6BC098A2-0CE6-11D1-BAAE-00C04FC2E20D) ] interface IConditionText : IUnknown { [propget] HRESULT ConditionText([out, retval] BSTR *pVal); [propput] HRESULT ConditionText([in] BSTR newVal); }; [ object, oleautomation, uuid(6BC098A3-0CE6-11D1-BAAE-00C04FC2E20D) ] interface IPolicyAction : IUnknown { HRESULT InitializeAction(void); HRESULT ShutdownAction(void); HRESULT DoAction([in] IRequest* pRequest); }; [ uuid(6BC098A4-0CE6-11D1-BAAE-00C04FC2E20D) ] coclass AttributeMatch { [default] interface ICondition; interface IConditionText; }; [ uuid(6BC098A5-0CE6-11D1-BAAE-00C04FC2E20D) ] coclass NTGroups { [default] interface ICondition; interface IConditionText; }; [ uuid(6BC098A6-0CE6-11D1-BAAE-00C04FC2E20D) ] coclass TimeOfDay { [default] interface ICondition; interface IConditionText; }; [ uuid(6BC098A7-0CE6-11D1-BAAE-00C04FC2E20D) ] coclass PolicyEnforcer { [default] interface IRequestHandler; interface IIasComponent; interface IQualityControl; interface IDispatch; }; };