Leaked source code of windows server 2003
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.

114 lines
2.8 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. pointer_default(unique),
  60. local
  61. ]
  62. interface IIasClient : IUnknown
  63. {
  64. DWORD GetAddress();
  65. BOOL NeedSignatureCheck();
  66. LONG GetVendorType();
  67. LPCWSTR GetClientNameW();
  68. LPCWSTR GetClientAddressW();
  69. const BYTE* GetSecret(DWORD* pdwSecretSize);
  70. HRESULT Init(ISdo *pISdo);
  71. HRESULT ResolveAddress();
  72. };
  73. [
  74. uuid(6BC09890-0CE6-11D1-BAAE-00C04FC2E20D),
  75. version(1.0),
  76. helpstring(" IAS RADIUS Protocol 1.0 Type Library")
  77. ]
  78. library IASRadiusLib
  79. {
  80. importlib("stdole2.tlb");
  81. [
  82. uuid(6BC09894-0CE6-11D1-BAAE-00C04FC2E20D),
  83. helpstring("IAS RADIUS Protocol Class")
  84. ]
  85. coclass RadiusProtocol
  86. {
  87. [default] interface IIasComponent;
  88. interface IRequestSource;
  89. interface IPersistPropertyBag2;
  90. };
  91. [
  92. uuid(6BC096DA-0CE6-11D1-BAAE-00C04FC2E20D),
  93. helpstring("IAS Client Class")
  94. ]
  95. coclass CClient
  96. {
  97. [default] interface IIasClient;
  98. };
  99. };