windows-nt/Source/XPSP1/NT/net/ias/idl/nap.idl
2020-09-26 16:20:57 +08:00

119 lines
2.3 KiB
Plaintext

///////////////////////////////////////////////////////////////////////////////
//
// 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;
};
};