🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: borland.public.cppbuilder.nativeapi
Article #13257

Re: GINA development...

#13257
From: Mike Collins
Date: Wed, 22 Oct 2003 19:01
55 lines
3454 bytes
Sorry, I think I understand now.  I understand (and understood :-) what you
were explaining, about myGINA.dll being the only point of contact between
Winlogon.exe.  What I failed to see was this (and I will try to explain
here):

1) Winlogon.exe loads myGINA.dll based on registry setting
2) Winlogon.exe calls WlxLoggedOutSAS within myGINA.dll passing it a pointer
to the structure PWLX_MPR_NOTIFY_INFO (pMprNotifyInfo).
3) Now, in my particular case, I relay this on to MSGINA.dll by calling
GWlxLoggedOutSAS.

-now here is the point at which my misunderstand was made!  The code snipet
was:

int iRet;
// calls the original method within MSGINA.dll etc
iRet = GWlxLoggedOutSAS(pWlxContext, dwSasType, pAuthenticationId,
pLogonSid, pdwOptions, phToken,
                                            pMprNotifyInfo, pProfile);
if(iRet == WLX_SAS_ACTION_LOGON)
{
   // copy pMprNotifyInfo and pLogonSid for later use
   // pMprNotifyInfo->pszUserName
   // pMprNotifyInfo->pszDomain
   // pMprNotifyInfo->pszPassword
   // pMprNotifyInfo->pszOldPassword

- what I didn't understand is how pMprNotifyInfo became propergated with the
users' input i.e. username, password, domain.  Now I assume this is what
happens now, please correct me if I'm wrong (this is th only thing I don't
understand):

4) MSGINA.dll recieves the call to it's WlxLoggedOutSAS method
5) MSGINA.dll changes the screen and WAITS for the user logon input, within
the WlxLoggedOutSAS method.
6) The user inputs there username and password and clicks OK.
7) MSGINA.dll calls LogonUser() from within WlxLoggedOutSAS method.
8) If LogonUser() is successfull, WlxLoggedOutSAS method modifies / copies
the relevant information to pMprNotifyInfo structure and returns.
9) At this point myGINA.dll recieves back the return value and hance I now
have access to the username and password. i.e. if(iRet ==
WLX_SAS_ACTION_LOGON)...

- I hope this is correct, all I really want to achieve is to be able in pass
my own username and password, from an external source as opposed to using
the MSGINA login dialog.  Therefore I assume that I would not call MSGINA's
WlxLoggedOutSAS method and instead code my own call to LogonUser() as
described in MSDN exmaple.

Please let me know if I'm wrong here, I think I was failing to see that the
structure is passed along and modified by MSGINA

Thanks again,

Mike Collins
Technical Details
Message-ID: <3f96cf04$2@newsgroups.borland.com>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!news2.google.com!fu-berlin.de!newsfeed01.sul.t-online.de!t-online.de!newsgroups.borland.com!not-for-mail
References: <3f95d1b2@newsgroups.borland.com> <3f95d766$1@newsgroups.borland.com> <3f96448f$1@newsgroups.borland.com> <3f96c0b9$1@newsgroups.borland.com>

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: 10cc67,6406f0fb19d91b94
X-Google-Attributes: gid10cc67,public
X-Google-ArrivalTime: 2003-10-22 12:10:17 PST
Reply-To: "Mike Collins" <mikec@kr8.co.uk>
From: "Mike Collins" <mikec@kr8.co.uk>
Newsgroups: borland.public.cppbuilder.nativeapi
References: <3f95d1b2@newsgroups.borland.com> <3f95d766$1@newsgroups.borland.com> <3f96448f$1@newsgroups.borland.com> <3f96c0b9$1@newsgroups.borland.com>
Subject: Re: GINA development...
Date: Wed, 22 Oct 2003 20:01:31 +0100
Lines: 57
Organization: kr8
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
NNTP-Posting-Host: 81.2.78.34
Message-ID: <3f96cf04$2@newsgroups.borland.com>
X-Trace: newsgroups.borland.com 1066848004 81.2.78.34 (22 Oct 2003 11:40:04 -0700)
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!news2.google.com!fu-berlin.de!newsfeed01.sul.t-online.de!t-online.de!newsgroups.borland.com!not-for-mail