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.

130 lines
4.5 KiB

  1. // Pop3Auth.idl : IDL file for Pop3 service
  2. import "oaidl.idl";
  3. import "ocidl.idl";
  4. //Strings for property names, do not localize.
  5. cpp_quote("#define SZ_PROPNAME_MAIL_ROOT _T(\"MailRoot\")")
  6. cpp_quote("#define SZ_PROPNAME_SERVER_RESPONSE _T(\"ServerResponse\")")
  7. cpp_quote("#define SZ_PASSWORD_DESC _T(\"EncryptedPassword\")")
  8. cpp_quote("#define SZ_SERVER_NAME _T(\"ServerName\")")
  9. cpp_quote("#define SZ_EMAILADDR _T(\"EmailAddress\")")
  10. cpp_quote("#define SZ_USERPRICIPALNAME _T(\"UserPrincipalName\")")
  11. cpp_quote("#define SZ_SAMACCOUNT_NAME _T(\"SAMAccountName\")")
  12. cpp_quote("#define NO_DOMAIN 1")
  13. cpp_quote("#define DOMAIN_NONE_DC 2")
  14. cpp_quote("#define DOMAIN_CONTROLLER 4")
  15. cpp_quote("#define MAX_USER_NAME_LENGTH 20")
  16. [
  17. object,
  18. uuid(4b0acca9-859a-4909-bf9f-b694801a6f44),
  19. dual,
  20. helpstring("IAuthMethod Interface"),
  21. pointer_default(unique)
  22. ]
  23. interface IAuthMethod : IDispatch
  24. {
  25. [id(1), helpstring("Authenticate the user")] HRESULT Authenticate([in] BSTR bstrUserName, [in] VARIANT vPassword);
  26. [propget, id(2), helpstring("property Name")] HRESULT Name([out, retval] BSTR *pVal);
  27. [id(3), helpstring("Get property by name")] HRESULT Get([in] BSTR bstrName, [out, retval]VARIANT *pVal);
  28. [id(4), helpstring("Put property by name")] HRESULT Put([in] BSTR bstrName, [in] VARIANT vVal);
  29. [id(5), helpstring("Create a User account")] HRESULT CreateUser([in] BSTR bstrName, [in] VARIANT vPassword);
  30. [id(6), helpstring("Delete a User account")] HRESULT DeleteUser([in] BSTR bstrName);
  31. [id(7), helpstring("Change a User's Password")] HRESULT ChangePassword([in] BSTR bstrName, [in]VARIANT vNewPassword, [in]VARIANT vOldPassword);
  32. [propget, id(8), helpstring("property ID")] HRESULT ID([out, retval] BSTR *pVal);
  33. [id(9), helpstring("Assiciate email address with existing user account")]HRESULT AssociateEmailWithUser([in]BSTR bstrEmailAddr);
  34. [id(10), helpstring("Un-assiciate email address with existing user account")]HRESULT UnassociateEmailWithUser([in]BSTR bstrEmailAddr);
  35. };
  36. [
  37. object,
  38. uuid(679729c4-198c-4fd7-800d-7093cadf5d69),
  39. dual,
  40. helpstring("IAuthMethods Interface"),
  41. pointer_default(unique)
  42. ]
  43. interface IAuthMethods : IDispatch
  44. {
  45. [propget, id(DISPID_NEWENUM), helpstring("get a enumerator of IAuthMethod")] HRESULT _NewEnum([out, retval]IEnumVARIANT **ppVal);
  46. [propget, id(1), helpstring("property Count")] HRESULT Count([out,retval]LONG *pVal);
  47. [propget, id(2), helpstring("get AuthMethod object")] HRESULT Item([in]VARIANT vID, [out, retval]IAuthMethod **ppVal);
  48. [id(3), helpstring("Add a AuthMethod object to the collection")] HRESULT Add([in]BSTR bstrName, [in]BSTR bstrGUID);
  49. [id(4), helpstring("Remove AUthMethod objects from the collection")] HRESULT Remove([in]VARIANT vID);
  50. [id(5), helpstring("Save current collection to persistant storage")] HRESULT Save();
  51. [propget, id(6), helpstring("get indexes of current active Authmethod objects")] HRESULT CurrentAuthMethod([out, retval]VARIANT *pVal);
  52. [propput, id(6), helpstring("set the current active Authmethod by index or name")] HRESULT CurrentAuthMethod([in] VARIANT vID);
  53. [propget, id(7), helpstring("property MachineName")] HRESULT MachineName([out, retval]BSTR *pVal);
  54. [propput, id(7), helpstring("property MachineName")] HRESULT MachineName([in] BSTR newVal);
  55. [id(8), helpstring("Verify if current Authentication methods is valid")] HRESULT VerifyCurrentAuthMethod(int iIndex);
  56. };
  57. [
  58. uuid(FC5DF3B1-295A-4C62-92B8-43C50E0D7A54),
  59. version(1.0),
  60. helpstring("POP3Auth 1.0 Type Library")
  61. ]
  62. library Pop3Auth
  63. {
  64. importlib("stdole32.tlb");
  65. importlib("stdole2.tlb");
  66. [
  67. uuid(4330ab4e-a901-404a-9b24-d518901741f9),
  68. helpstring("AuthMethods Class")
  69. ]
  70. coclass AuthMethods
  71. {
  72. [default] interface IAuthMethods;
  73. };
  74. [
  75. uuid(14f1665c-e3d3-46aa-884f-ed4cf19d7ad5),
  76. helpstring("AuthLocalAccount Class")
  77. ]
  78. coclass AuthLocalAccount
  79. {
  80. [default] interface IAuthMethod;
  81. };
  82. [
  83. uuid(ef9d811e-36c5-497f-ade7-2b36df172824),
  84. helpstring("AuthDomainAccount Class")
  85. ]
  86. coclass AuthDomainAccount
  87. {
  88. [default] interface IAuthMethod;
  89. };
  90. [
  91. uuid(c395e20c-2236-4af7-b736-54fad07dc526),
  92. helpstring("AuthMD5Hash Class")
  93. ]
  94. coclass AuthMD5Hash
  95. {
  96. [default] interface IAuthMethod;
  97. };
  98. [
  99. uuid(0feca139-a4ea-4097-bd73-8f5c78783c3f),
  100. helpstring("AuthMethodsEnum Class")
  101. ]
  102. coclass AuthMethodsEnum
  103. {
  104. [default] interface IEnumVARIANT;
  105. };
  106. }