Source code of Windows XP (NT5)
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.

118 lines
2.3 KiB

  1. ///////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 1998, Microsoft Corp. All rights reserved.
  4. //
  5. // FILE
  6. //
  7. // nap.idl
  8. //
  9. // SYNOPSIS
  10. //
  11. // This IDL file describes the Network Access Policy interfaces.
  12. //
  13. // MODIFICATION HISTORY
  14. //
  15. // 02/04/1998 Original version.
  16. //
  17. ///////////////////////////////////////////////////////////////////////////////
  18. import "iascomp.idl";
  19. import "iaspolcy.idl";
  20. [
  21. helpstring("IAS Network Access Policy 1.0"),
  22. uuid(6BC098A0-0CE6-11D1-BAAE-00C04FC2E20D),
  23. version(1.0)
  24. ]
  25. library NetworkPolicy
  26. {
  27. typedef enum _IAS_LOGICAL_TOKEN
  28. {
  29. IAS_LOGICAL_TRUE = 0,
  30. IAS_LOGICAL_FALSE,
  31. IAS_LOGICAL_NOT,
  32. IAS_LOGICAL_AND,
  33. IAS_LOGICAL_OR,
  34. IAS_LOGICAL_XOR,
  35. IAS_LOGICAL_LEFT_PAREN,
  36. IAS_LOGICAL_RIGHT_PAREN,
  37. IAS_LOGICAL_NUM_TOKENS
  38. } IAS_LOGICAL_TOKEN;
  39. [
  40. object,
  41. oleautomation,
  42. uuid(6BC098A1-0CE6-11D1-BAAE-00C04FC2E20D)
  43. ]
  44. interface ICondition : IUnknown
  45. {
  46. HRESULT IsTrue([in] IRequest* pRequest, [out, retval] VARIANT_BOOL *pVal);
  47. };
  48. [
  49. object,
  50. oleautomation,
  51. uuid(6BC098A2-0CE6-11D1-BAAE-00C04FC2E20D)
  52. ]
  53. interface IConditionText : IUnknown
  54. {
  55. [propget]
  56. HRESULT ConditionText([out, retval] BSTR *pVal);
  57. [propput]
  58. HRESULT ConditionText([in] BSTR newVal);
  59. };
  60. [
  61. object,
  62. oleautomation,
  63. uuid(6BC098A3-0CE6-11D1-BAAE-00C04FC2E20D)
  64. ]
  65. interface IPolicyAction : IUnknown
  66. {
  67. HRESULT InitializeAction(void);
  68. HRESULT ShutdownAction(void);
  69. HRESULT DoAction([in] IRequest* pRequest);
  70. };
  71. [
  72. uuid(6BC098A4-0CE6-11D1-BAAE-00C04FC2E20D)
  73. ]
  74. coclass AttributeMatch
  75. {
  76. [default]
  77. interface ICondition;
  78. interface IConditionText;
  79. };
  80. [
  81. uuid(6BC098A5-0CE6-11D1-BAAE-00C04FC2E20D)
  82. ]
  83. coclass NTGroups
  84. {
  85. [default]
  86. interface ICondition;
  87. interface IConditionText;
  88. };
  89. [
  90. uuid(6BC098A6-0CE6-11D1-BAAE-00C04FC2E20D)
  91. ]
  92. coclass TimeOfDay
  93. {
  94. [default]
  95. interface ICondition;
  96. interface IConditionText;
  97. };
  98. [
  99. uuid(6BC098A7-0CE6-11D1-BAAE-00C04FC2E20D)
  100. ]
  101. coclass PolicyEnforcer
  102. {
  103. [default]
  104. interface IRequestHandler;
  105. interface IIasComponent;
  106. interface IQualityControl;
  107. interface IDispatch;
  108. };
  109. };