Skip to content

LoginManager Class

wtv-411 edited this page Mar 12, 2023 · 1 revision

Documentation for LoginManager class from MSN TV TVShell ActiveX control.

Original DLL: TVPassport.DLL (in NK.BIN XIP)

Methods

StateChange()

[id(00000000)]
void StateChange();

Login()

[id(0x0000000a)]
void Login();

Authenticate([username, password, loginUrl])

[id(0x0000000b)]
void Authenticate(
                [in, optional, defaultvalue("")] BSTR username, 
                [in, optional, defaultvalue("")] BSTR Password, 
                [in, optional, defaultvalue("")] BSTR LoginURL);

Logout()

[id(0x0000000c)]
void Logout();

ChangePassword()

[id(0x0000000d)]
void ChangePassword();

ResetPassword1(signInName, country, state, zipCode)

[id(0x00000010)]
void ResetPassword1(
                BSTR bstrSignInName, 
                BSTR bstrCountry, 
                BSTR bstrState, 
                BSTR bstrZipCode);

ResetPassword2(signInName, secretQAnswer, newPassword)

[id(0x00000011)]
void ResetPassword2(
                BSTR bstrSignInName, 
                BSTR bstrSecretQAnswer, 
                BSTR bstrNewPassword);

IsSameAsCurrentPwd(password)

[id(0x00000012), propget]
VARIANT_BOOL IsSameAsCurrentPwd([in] BSTR bstrPassword);

Cleanup()

[id(0x00000013)]
void Cleanup();

RequestProfile()

[id(0x00000014)]
void RequestProfile();

UpdateProfile(firstName, lastName, state, zipCode, birthday)

[id(0x00000015)]
void UpdateProfile(
                [in] BSTR bstrFirstName, 
                [in] BSTR bstrLastName, 
                [in] BSTR bstrState, 
                [in] BSTR bstrZipCode, 
                [in] BSTR bstrBirthday);

UpdateSecretQnA(secretQuestion, secretAnswer)

[id(0x00000016)]
void UpdateSecretQnA(
                [in] BSTR bstrSecretQuestion, 
                [in] BSTR bstrSecretAnswer);

FCPLogin()

[id(0x00000019)]
void FCPLogin();

FCPSave()

[id(0x0000001a)]
void FCPSave();

UpdateKidsProfile(firstName, lastName, state, zipCode, birthday)

[id(0x0000001b)]
void UpdateKidsProfile(
                [in] BSTR bstrFirstName, 
                [in] BSTR bstrLastName, 
                [in] BSTR bstrState, 
                [in] BSTR bstrZipCode);

IDCRLInitialize([env])

[id(0x0000001d)]
long IDCRLInitialize([in, optional, defaultvalue(0)] VARIANT env);

IDCRLUninitialize()

[id(0x0000001e)]
long IDCRLUninitialize();

IDCRLLogonAndAuthToServices([args, indexInterested])

[id(0x0000001f)]
long IDCRLLogonAndAuthToServices(
                [in, optional, defaultvalue(<unprintable IDispatch*>)] IDispatch* pArgs, 
                [in, optional, defaultvalue(0)] int indexInterested);
[id(0x0000001f)]
long IDCRLLogonAndAuthToServices([in, optional, defaultvalue(<unprintable IDispatch*>)] IDispatch* pArgs);

Arguments:

  • args
  • indexInterested: Integer. Function undocumented. This argument was removed from IDCRLLogonAndAuthToServices in later 5.x builds (around 5.5)

Returns: ???

Usage: Initiates IDCRL authentication using a given array of services to authenticate against.

IDCRLAuthenticateToService(serviceTarget, servicePolicy, [flags])

[id(0x00000020)]
long IDCRLAuthenticateToService(
                [in] BSTR serviceTarget, 
                [in] BSTR servicePolicy, 
                [in, optional, defaultvalue(65536)] unsigned long flags);

IDCRLSetCredential(user, password)

[id(0x00000021)]
long IDCRLSetCredential(
                [in] BSTR User, 
                [in] BSTR Password);

IDCRLGetWebAuthURLEx(dwFlags, user, serviceTarget, servicePolicy, params)

[id(0x00000022)]
BSTR IDCRLGetWebAuthURLEx(
                [in] unsigned long dwFlags, 
                [in] BSTR User, 
                [in] BSTR serviceTarget, 
                [in] BSTR servicePolicy, 
                [in] BSTR params);

IDCRLAuthCredentialToService(user, password, target, policy)

[id(0x00000023)]
long IDCRLAuthCredentialToService(
                [in] BSTR User, 
                [in] BSTR Password, 
                [in] BSTR target, 
                [in] BSTR policy);

IDCRLOnStateChanged(wParam, lParam)

[id(0x00000024)]
void IDCRLOnStateChanged(
                [in] long wParam, 
                [in] long lParam);

IDCRLGetWebAuthURL(user, serviceTarget, servicePolicy, params, srcServiceName)

[id(0x00000025)]
BSTR IDCRLGetWebAuthURL(
                [in] BSTR User, 
                [in] BSTR serviceTarget, 
                [in] BSTR servicePolicy, 
                [in] BSTR params, 
                [in] BSTR srcServiceName);

IDCRLAuthenticateUserWithSavedPwd(user, target, policy)

Added in firmware 5.5

[id(0x00000026)]
long IDCRLAuthenticateUserWithSavedPwd(
                [in] BSTR User, 
                [in] BSTR target, 
                [in] BSTR policy);

IDCRLGetCID(user)

Added in firmware 5.6.7021.0

[id(0x00000027)]
BSTR IDCRLGetCID([in] BSTR User);

Arguments:

  • user - String

Returns: Hex string representing the target user's CID.

Usage: Get CID of specified MSN TV user's Passport (Microsoft account).

Events

IDCRLOnAuthStateChanged(result, authState, requestStatus, user, serviceTarget, servicePolicy, token, webFlowUrl)

[id(0x00000008)]
void IDCRLOnAuthStateChanged(
                [in] long hr, 
                [in] long hrAuthState, 
                [in] long hrRequestStatus, 
                [in] BSTR User, 
                [in] BSTR serviceTarget, 
                [in] BSTR servicePolicy, 
                [in] BSTR token, 
                [in] BSTR webFlowUrl);

Arguments:

  • result: Integer. Result code of IDCRL request
  • authState: Integer. Auth state value reported by IDCRL login server
  • requestStatus: Integer. Request status code reported by IDCRL login server
  • user: String. E-mail address of MSN TV account
  • serviceTarget: String. Service target domain
  • servicePolicy: String. Policy used for service target
  • token: String. Token obtained from authentication request
  • webFlowUrl: ???

Usage: Triggered when an IDCRL request is finished, and returns the status of the authentication as well as a token for the request, if applicable.

OnLoginResult(hr, t, p)

[id(0x00000001)]
void OnLoginResult(
                [in] long hr, 
                [in] BSTR t, 
                [in] BSTR p);

OnLogoutResult(hr)

[id(0x00000002)]
void OnLogoutResult([in] long hr);

OnChangePasswordResult(hr)

[id(0x00000003)]
void OnChangePasswordResult([in] long hr);

OnResetPassword1Result(hr, secretQuestion, askForCreditCardInfo)

[id(0x00000004)]
void OnResetPassword1Result(
                [in] long hr, 
                [in] BSTR SecretQuestion, 
                [in] VARIANT_BOOL AskForCreditCardInfo);

OnResetPassword2Result(hr)

[id(0x00000005)]
void OnResetPassword2Result([in] long hr);

OnRequestProfileResult(hr, firstName, lastName, state, zipCode, birthday)

[id(0x00000006)]
void OnRequestProfileResult(
                [in] long hr, 
                [in] BSTR bstrFirstName, 
                [in] BSTR bstrLastName, 
                [in] BSTR bstrState, 
                [in] BSTR bstrZipCode, 
                [in] BSTR bstrBirthday);

OnUpdateProfileResult(hr)

[id(0x00000007)]
void OnUpdateProfileResult([in] long hr);

Properties

TODO


4.2.5128.0 LoginManager:

dispinterface ILoginManager {
    properties:
    methods:
        [id(00000000)]
        void StateChange();
        [id(0x00000001), propget]
        BSTR User();
        [id(0x00000001), propput]
        void User([in] BSTR rhs);
        [id(0x00000002), propput]
        void Password([in] BSTR rhs);
        [id(0x00000003), propget]
        BSTR LoginURL();
        [id(0x00000003), propput]
        void LoginURL([in] BSTR rhs);
        [id(0x00000004), propput]
        void LogoutURL([in] BSTR rhs);
        [id(0x00000005), propput]
        void ChangePasswordURL([in] BSTR rhs);
        [id(0x00000006), propput]
        void DAExpireCookie([in] BSTR rhs);
        [id(0x00000007), propput]
        void SiteID([in] long rhs);
        [id(0x00000008), propput]
        void PendingPassword([in] BSTR rhs);
        [id(0x00000008), propget]
        BSTR PendingPassword();
        [id(0x00000009), propput]
        void PassportSiteIDs([in] BSTR rhs);
        [id(0x0000000a)]
        void Login();
        [id(0x0000000b)]
        void Authenticate(
                        [in, optional, defaultvalue("")] BSTR username, 
                        [in, optional, defaultvalue("")] BSTR Password, 
                        [in, optional, defaultvalue("")] BSTR LoginURL);
        [id(0x0000000c)]
        void Logout();
        [id(0x0000000d)]
        void ChangePassword();
        [id(0x0000000e), propget]
        VARIANT_BOOL IsMSNProperty();
        [id(0x0000000e), propput]
        void IsMSNProperty([in] VARIANT_BOOL rhs);
        [id(0x0000000f), propput]
        void ResetPasswordURL([in] BSTR rhs);
        [id(0x00000010)]
        void ResetPassword1(
                        BSTR bstrSignInName, 
                        BSTR bstrCountry, 
                        BSTR bstrState, 
                        BSTR bstrZipCode);
        [id(0x00000011)]
        void ResetPassword2(
                        BSTR bstrSignInName, 
                        BSTR bstrSecretQAnswer, 
                        BSTR bstrNewPassword);
        [id(0x00000012), propget]
        VARIANT_BOOL IsSameAsCurrentPwd([in] BSTR bstrPassword);
        [id(0x00000013)]
        void Cleanup();
        [id(0x00000014)]
        void RequestProfile();
        [id(0x00000015)]
        void UpdateProfile(
                        [in] BSTR bstrFirstName, 
                        [in] BSTR bstrLastName, 
                        [in] BSTR bstrState, 
                        [in] BSTR bstrZipCode, 
                        [in] BSTR bstrBirthday);
        [id(0x00000016)]
        void UpdateSecretQnA(
                        [in] BSTR bstrSecretQuestion, 
                        [in] BSTR bstrSecretAnswer);
        [id(0x00000017), propput]
        void RequestProfileURL([in] BSTR rhs);
        [id(0x00000018), propput]
        void UpdateProfileURL([in] BSTR rhs);
        [id(0x00000019)]
        void FCPLogin();
        [id(0x0000001a)]
        void FCPSave();
        [id(0x0000001b)]
        void UpdateKidsProfile(
                        [in] BSTR bstrFirstName, 
                        [in] BSTR bstrLastName, 
                        [in] BSTR bstrState, 
                        [in] BSTR bstrZipCode);
        [id(0x0000001c), propget]
        VARIANT_BOOL CookieRefreshInProgress();
        [id(0x0000001c), propput]
        void CookieRefreshInProgress([in] VARIANT_BOOL rhs);
};

5.0 LoginManager Typelib

dispinterface ILoginManager {
    properties:
    methods:
        [id(00000000)]
        void StateChange();
        [id(0x00000001), propget]
        BSTR User();
        [id(0x00000001), propput]
        void User([in] BSTR rhs);
        [id(0x00000002), propput]
        void Password([in] BSTR rhs);
        [id(0x00000003), propget]
        BSTR LoginURL();
        [id(0x00000003), propput]
        void LoginURL([in] BSTR rhs);
        [id(0x00000004), propput]
        void LogoutURL([in] BSTR rhs);
        [id(0x00000005), propput]
        void ChangePasswordURL([in] BSTR rhs);
        [id(0x00000006), propput]
        void DAExpireCookie([in] BSTR rhs);
        [id(0x00000007), propput]
        void SiteID([in] long rhs);
        [id(0x00000008), propput]
        void PendingPassword([in] BSTR rhs);
        [id(0x00000008), propget]
        BSTR PendingPassword();
        [id(0x00000009), propput]
        void PassportSiteIDs([in] BSTR rhs);
        [id(0x0000000a)]
        void Login();
        [id(0x0000000b)]
        void Authenticate(
                        [in, optional, defaultvalue("")] BSTR username, 
                        [in, optional, defaultvalue("")] BSTR Password, 
                        [in, optional, defaultvalue("")] BSTR LoginURL);
        [id(0x0000000c)]
        void Logout();
        [id(0x0000000d)]
        void ChangePassword();
        [id(0x0000000e), propget]
        VARIANT_BOOL IsMSNProperty();
        [id(0x0000000e), propput]
        void IsMSNProperty([in] VARIANT_BOOL rhs);
        [id(0x0000000f), propput]
        void ResetPasswordURL([in] BSTR rhs);
        [id(0x00000010)]
        void ResetPassword1(
                        BSTR bstrSignInName, 
                        BSTR bstrCountry, 
                        BSTR bstrState, 
                        BSTR bstrZipCode);
        [id(0x00000011)]
        void ResetPassword2(
                        BSTR bstrSignInName, 
                        BSTR bstrSecretQAnswer, 
                        BSTR bstrNewPassword);
        [id(0x00000012), propget]
        VARIANT_BOOL IsSameAsCurrentPwd([in] BSTR bstrPassword);
        [id(0x00000013)]
        void Cleanup();
        [id(0x00000014)]
        void RequestProfile();
        [id(0x00000015)]
        void UpdateProfile(
                        [in] BSTR bstrFirstName, 
                        [in] BSTR bstrLastName, 
                        [in] BSTR bstrState, 
                        [in] BSTR bstrZipCode, 
                        [in] BSTR bstrBirthday);
        [id(0x00000016)]
        void UpdateSecretQnA(
                        [in] BSTR bstrSecretQuestion, 
                        [in] BSTR bstrSecretAnswer);
        [id(0x00000017), propput]
        void RequestProfileURL([in] BSTR rhs);
        [id(0x00000018), propput]
        void UpdateProfileURL([in] BSTR rhs);
        [id(0x00000019)]
        void FCPLogin();
        [id(0x0000001a)]
        void FCPSave();
        [id(0x0000001b)]
        void UpdateKidsProfile(
                        [in] BSTR bstrFirstName, 
                        [in] BSTR bstrLastName, 
                        [in] BSTR bstrState, 
                        [in] BSTR bstrZipCode);
        [id(0x0000001c), propget]
        VARIANT_BOOL CookieRefreshInProgress();
        [id(0x0000001c), propput]
        void CookieRefreshInProgress([in] VARIANT_BOOL rhs);
        [id(0x0000001d)]
        long IDCRLInitialize([in, optional, defaultvalue(0)] VARIANT env);
        [id(0x0000001e)]
        long IDCRLUninitialize();
        [id(0x0000001f)]
        long IDCRLLogonAndAuthToServices(
                        [in, optional, defaultvalue(<unprintable IDispatch*>)] IDispatch* pArgs, 
                        [in, optional, defaultvalue(0)] int indexInterested);
        [id(0x00000020)]
        long IDCRLAuthenticateToService(
                        [in] BSTR serviceTarget, 
                        [in] BSTR servicePolicy, 
                        [in, optional, defaultvalue(65536)] unsigned long flags);
        [id(0x00000021)]
        long IDCRLSetCredential(
                        [in] BSTR User, 
                        [in] BSTR Password);
        [id(0x00000022)]
        BSTR IDCRLGetWebAuthURLEx(
                        [in] unsigned long dwFlags, 
                        [in] BSTR User, 
                        [in] BSTR serviceTarget, 
                        [in] BSTR servicePolicy, 
                        [in] BSTR params);
        [id(0x00000023)]
        long IDCRLAuthCredentialToService(
                        [in] BSTR User, 
                        [in] BSTR Password, 
                        [in] BSTR target, 
                        [in] BSTR policy);
        [id(0x00000024)]
        void IDCRLOnStateChanged(
                        [in] long wParam, 
                        [in] long lParam);
        [id(0x00000025)]
        BSTR IDCRLGetWebAuthURL(
                        [in] BSTR User, 
                        [in] BSTR serviceTarget, 
                        [in] BSTR servicePolicy, 
                        [in] BSTR params, 
                        [in] BSTR srcServiceName);
};

5.6 LoginManager Typelib

dispinterface ILoginManager {
    properties:
    methods:
        [id(0x00000001), propget]
        BSTR User();
        [id(0x00000001), propput]
        void User([in] BSTR rhs);
        [id(0x00000002), propput]
        void Password([in] BSTR rhs);
        [id(0x00000008), propput]
        void PendingPassword([in] BSTR rhs);
        [id(0x00000008), propget]
        BSTR PendingPassword();
        [id(0x0000000e), propget]
        VARIANT_BOOL IsMSNProperty();
        [id(0x0000000e), propput]
        void IsMSNProperty([in] VARIANT_BOOL rhs);
        [id(0x00000012), propget]
        VARIANT_BOOL IsSameAsCurrentPwd([in] BSTR bstrPassword);
        [id(0x00000013)]
        void Cleanup();
        [id(0x0000001a)]
        void FCPSave();
        [id(0x0000001c), propget]
        VARIANT_BOOL CookieRefreshInProgress();
        [id(0x0000001c), propput]
        void CookieRefreshInProgress([in] VARIANT_BOOL rhs);
        [id(0x0000001d)]
        long IDCRLInitialize([in, optional, defaultvalue(0)] VARIANT env);
        [id(0x0000001e)]
        long IDCRLUninitialize();
        [id(0x0000001f)]
        long IDCRLLogonAndAuthToServices([in, optional, defaultvalue(<unprintable IDispatch*>)] IDispatch* pArgs);
        [id(0x00000020)]
        long IDCRLAuthenticateToService(
                        [in] BSTR serviceTarget, 
                        [in] BSTR servicePolicy, 
                        [in, optional, defaultvalue(65536)] unsigned long flags);
        [id(0x00000021)]
        long IDCRLSetCredential(
                        [in] BSTR User, 
                        [in] BSTR Password);
        [id(0x00000022)]
        BSTR IDCRLGetWebAuthURLEx(
                        [in] unsigned long dwFlags, 
                        [in] BSTR User, 
                        [in] BSTR serviceTarget, 
                        [in] BSTR servicePolicy, 
                        [in] BSTR params);
        [id(0x00000023)]
        long IDCRLAuthCredentialToService(
                        [in] BSTR User, 
                        [in] BSTR Password, 
                        [in] BSTR target, 
                        [in] BSTR policy);
        [id(0x00000024)]
        void IDCRLOnStateChanged(
                        [in] long wParam, 
                        [in] long lParam);
        [id(0x00000025)]
        BSTR IDCRLGetWebAuthURL(
                        [in] BSTR User, 
                        [in] BSTR serviceTarget, 
                        [in] BSTR servicePolicy, 
                        [in] BSTR params, 
                        [in] BSTR srcServiceName);
        [id(0x00000026)]
        long IDCRLAuthenticateUserWithSavedPwd(
                        [in] BSTR User, 
                        [in] BSTR target, 
                        [in] BSTR policy);
        [id(0x00000027)]
        BSTR IDCRLGetCID([in] BSTR User);
};
Clone this wiki locally