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.

132 lines
3.3 KiB

  1. //#--------------------------------------------------------------
  2. //
  3. // File: radius.idl
  4. //
  5. // Synopsis: this is the IDL File for RADIUS Protocol Component
  6. //
  7. // History: 11/11/97 MKarki Created
  8. //
  9. // Copyright (C) 1997-98 Microsoft Corporation
  10. // All rights reserved.
  11. //
  12. //----------------------------------------------------------------
  13. import "oaidl.idl";
  14. import "ocidl.idl";
  15. import "iaspolcy.idl";
  16. import "iascomp.idl";
  17. import "sdoias.idl";
  18. //////////
  19. // Events that trigger PerfMon/SNMP counters.
  20. //////////
  21. typedef enum {
  22. IAS_EVENT_RADIUS_AUTH_INVALID_CLIENT = 0x10001L,
  23. IAS_EVENT_RADIUS_AUTH_ACCESS_REQUEST,
  24. IAS_EVENT_RADIUS_AUTH_DUP_ACCESS_REQUEST,
  25. IAS_EVENT_RADIUS_AUTH_ACCESS_ACCEPT,
  26. IAS_EVENT_RADIUS_AUTH_ACCESS_REJECT,
  27. IAS_EVENT_RADIUS_AUTH_ACCESS_CHALLENGE,
  28. IAS_EVENT_RADIUS_AUTH_MALFORMED_PACKET,
  29. IAS_EVENT_RADIUS_AUTH_BAD_AUTHENTICATOR,
  30. IAS_EVENT_RADIUS_AUTH_DROPPED_PACKET,
  31. IAS_EVENT_RADIUS_AUTH_UNKNOWN_TYPE,
  32. IAS_EVENT_RADIUS_ACCT_INVALID_CLIENT,
  33. IAS_EVENT_RADIUS_ACCT_DROPPED_PACKET,
  34. IAS_EVENT_RADIUS_ACCT_REQUEST,
  35. IAS_EVENT_RADIUS_ACCT_DUP_REQUEST,
  36. IAS_EVENT_RADIUS_ACCT_RESPONSE,
  37. IAS_EVENT_RADIUS_ACCT_BAD_AUTHENTICATOR,
  38. IAS_EVENT_RADIUS_ACCT_MALFORMED_PACKET,
  39. IAS_EVENT_RADIUS_ACCT_NO_RECORD,
  40. IAS_EVENT_RADIUS_ACCT_UNKNOWN_TYPE
  41. } IAS_EVENT_RADIUS;
  42. [
  43. object,
  44. uuid(6BC09893-0CE6-11D1-BAAE-00C04FC2E20D),
  45. dual,
  46. helpstring("IComponentNotify Interface"),
  47. pointer_default(unique)
  48. ]
  49. interface IComponentNotify : IDispatch
  50. {
  51. [helpstring("method OnStart")]
  52. HRESULT OnStart();
  53. [helpstring("method OnStop")]
  54. HRESULT OnStop();
  55. };
  56. [
  57. object,
  58. uuid(6BC096D9-0CE6-11D1-BAAE-00C04FC2E20D),
  59. helpstring("IIasClient Interface"),
  60. pointer_default(unique)
  61. ]
  62. interface IIasClient : IUnknown
  63. {
  64. [helpstring("method GetAddress")]
  65. HRESULT GetAddress (
  66. [out] DWORD *pdwAddress
  67. );
  68. [helpstring("method NeedSignatureCheck")]
  69. HRESULT NeedSignatureCheck (
  70. [out] BOOL *pbNeedCheck
  71. );
  72. [helpstring("method GetVendorType")]
  73. HRESULT GetVendorType (
  74. [out] LONG *plVendorType
  75. );
  76. [local, helpstring("method GetClientNameW")]
  77. LPCWSTR GetClientNameW();
  78. [helpstring("method GetSecret")]
  79. HRESULT GetSecret (
  80. [out] BYTE *pbySecret,
  81. [in,out] DWORD *pdwSecretSize
  82. );
  83. [helpstring("method Init")]
  84. HRESULT Init (
  85. [in] ISdo *pISdo
  86. );
  87. [helpstring("method ResolveAddress")]
  88. HRESULT ResolveAddress ();
  89. };
  90. [
  91. uuid(6BC09890-0CE6-11D1-BAAE-00C04FC2E20D),
  92. version(1.0),
  93. helpstring(" IAS RADIUS Protocol 1.0 Type Library")
  94. ]
  95. library IASRadiusLib
  96. {
  97. importlib("stdole2.tlb");
  98. [
  99. uuid(6BC09894-0CE6-11D1-BAAE-00C04FC2E20D),
  100. helpstring("IAS RADIUS Protocol Class")
  101. ]
  102. coclass RadiusProtocol
  103. {
  104. [default] interface IIasComponent;
  105. interface IRequestSource;
  106. interface IPersistPropertyBag2;
  107. };
  108. [
  109. uuid(6BC096DA-0CE6-11D1-BAAE-00C04FC2E20D),
  110. helpstring("IAS Client Class")
  111. ]
  112. coclass CClient
  113. {
  114. [default] interface IIasClient;
  115. };
  116. };