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
130 lines
4.5 KiB
// Pop3Auth.idl : IDL file for Pop3 service
|
|
|
|
|
|
import "oaidl.idl";
|
|
import "ocidl.idl";
|
|
|
|
//Strings for property names, do not localize.
|
|
cpp_quote("#define SZ_PROPNAME_MAIL_ROOT _T(\"MailRoot\")")
|
|
cpp_quote("#define SZ_PROPNAME_SERVER_RESPONSE _T(\"ServerResponse\")")
|
|
cpp_quote("#define SZ_PASSWORD_DESC _T(\"EncryptedPassword\")")
|
|
cpp_quote("#define SZ_SERVER_NAME _T(\"ServerName\")")
|
|
cpp_quote("#define SZ_EMAILADDR _T(\"EmailAddress\")")
|
|
cpp_quote("#define SZ_USERPRICIPALNAME _T(\"UserPrincipalName\")")
|
|
cpp_quote("#define SZ_SAMACCOUNT_NAME _T(\"SAMAccountName\")")
|
|
cpp_quote("#define NO_DOMAIN 1")
|
|
cpp_quote("#define DOMAIN_NONE_DC 2")
|
|
cpp_quote("#define DOMAIN_CONTROLLER 4")
|
|
cpp_quote("#define MAX_USER_NAME_LENGTH 20")
|
|
|
|
[
|
|
object,
|
|
uuid(4b0acca9-859a-4909-bf9f-b694801a6f44),
|
|
dual,
|
|
helpstring("IAuthMethod Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
|
|
interface IAuthMethod : IDispatch
|
|
{
|
|
[id(1), helpstring("Authenticate the user")] HRESULT Authenticate([in] BSTR bstrUserName, [in] VARIANT vPassword);
|
|
[propget, id(2), helpstring("property Name")] HRESULT Name([out, retval] BSTR *pVal);
|
|
[id(3), helpstring("Get property by name")] HRESULT Get([in] BSTR bstrName, [out, retval]VARIANT *pVal);
|
|
[id(4), helpstring("Put property by name")] HRESULT Put([in] BSTR bstrName, [in] VARIANT vVal);
|
|
[id(5), helpstring("Create a User account")] HRESULT CreateUser([in] BSTR bstrName, [in] VARIANT vPassword);
|
|
[id(6), helpstring("Delete a User account")] HRESULT DeleteUser([in] BSTR bstrName);
|
|
[id(7), helpstring("Change a User's Password")] HRESULT ChangePassword([in] BSTR bstrName, [in]VARIANT vNewPassword, [in]VARIANT vOldPassword);
|
|
[propget, id(8), helpstring("property ID")] HRESULT ID([out, retval] BSTR *pVal);
|
|
[id(9), helpstring("Assiciate email address with existing user account")]HRESULT AssociateEmailWithUser([in]BSTR bstrEmailAddr);
|
|
[id(10), helpstring("Un-assiciate email address with existing user account")]HRESULT UnassociateEmailWithUser([in]BSTR bstrEmailAddr);
|
|
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(679729c4-198c-4fd7-800d-7093cadf5d69),
|
|
dual,
|
|
helpstring("IAuthMethods Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
|
|
interface IAuthMethods : IDispatch
|
|
{
|
|
[propget, id(DISPID_NEWENUM), helpstring("get a enumerator of IAuthMethod")] HRESULT _NewEnum([out, retval]IEnumVARIANT **ppVal);
|
|
[propget, id(1), helpstring("property Count")] HRESULT Count([out,retval]LONG *pVal);
|
|
[propget, id(2), helpstring("get AuthMethod object")] HRESULT Item([in]VARIANT vID, [out, retval]IAuthMethod **ppVal);
|
|
[id(3), helpstring("Add a AuthMethod object to the collection")] HRESULT Add([in]BSTR bstrName, [in]BSTR bstrGUID);
|
|
[id(4), helpstring("Remove AUthMethod objects from the collection")] HRESULT Remove([in]VARIANT vID);
|
|
[id(5), helpstring("Save current collection to persistant storage")] HRESULT Save();
|
|
[propget, id(6), helpstring("get indexes of current active Authmethod objects")] HRESULT CurrentAuthMethod([out, retval]VARIANT *pVal);
|
|
[propput, id(6), helpstring("set the current active Authmethod by index or name")] HRESULT CurrentAuthMethod([in] VARIANT vID);
|
|
[propget, id(7), helpstring("property MachineName")] HRESULT MachineName([out, retval]BSTR *pVal);
|
|
[propput, id(7), helpstring("property MachineName")] HRESULT MachineName([in] BSTR newVal);
|
|
[id(8), helpstring("Verify if current Authentication methods is valid")] HRESULT VerifyCurrentAuthMethod(int iIndex);
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
[
|
|
uuid(FC5DF3B1-295A-4C62-92B8-43C50E0D7A54),
|
|
version(1.0),
|
|
helpstring("POP3Auth 1.0 Type Library")
|
|
]
|
|
library Pop3Auth
|
|
{
|
|
importlib("stdole32.tlb");
|
|
importlib("stdole2.tlb");
|
|
|
|
[
|
|
uuid(4330ab4e-a901-404a-9b24-d518901741f9),
|
|
helpstring("AuthMethods Class")
|
|
]
|
|
coclass AuthMethods
|
|
{
|
|
[default] interface IAuthMethods;
|
|
};
|
|
|
|
[
|
|
uuid(14f1665c-e3d3-46aa-884f-ed4cf19d7ad5),
|
|
helpstring("AuthLocalAccount Class")
|
|
]
|
|
coclass AuthLocalAccount
|
|
{
|
|
[default] interface IAuthMethod;
|
|
};
|
|
|
|
|
|
[
|
|
uuid(ef9d811e-36c5-497f-ade7-2b36df172824),
|
|
helpstring("AuthDomainAccount Class")
|
|
]
|
|
coclass AuthDomainAccount
|
|
{
|
|
[default] interface IAuthMethod;
|
|
};
|
|
|
|
[
|
|
uuid(c395e20c-2236-4af7-b736-54fad07dc526),
|
|
helpstring("AuthMD5Hash Class")
|
|
]
|
|
coclass AuthMD5Hash
|
|
{
|
|
[default] interface IAuthMethod;
|
|
};
|
|
|
|
[
|
|
uuid(0feca139-a4ea-4097-bd73-8f5c78783c3f),
|
|
helpstring("AuthMethodsEnum Class")
|
|
]
|
|
coclass AuthMethodsEnum
|
|
{
|
|
[default] interface IEnumVARIANT;
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|