plap reply



Firstly you need to expose both interfaces in the IUnknown implementation of the ICredentialProviderCredential. shown below:

IFACEMETHODIMP QueryInterface(__in REFIID riid, __deref_out void** ppv)
{
static const QITAB qit[] =
{
QITABENT(CSampleConnectableCredential, ICredentialProviderCredential), // IID_ICredentialProviderCredential
QITABENT(CSampleConnectableCredential, IConnectableCredentialProviderCredential), // IID_ICredentialProviderCredential
{0},
};
return QISearch(this, qit, riid, ppv);
}

then you need to only implement case CPUS_PLAP: SetUsageScenario switch the other scenarios should be:

case CPUS_LOGON:
case CPUS_CHANGE_PASSWORD:
case CPUS_UNLOCK_WORKSTATION:
case CPUS_CREDUI:
hr = E_NOTIMPL;
break;

I think that should give you what you want.

On Friday, June 04, 2010 4:49 AM Robin Withey wrote:

Hi,

I am trying to implement a pre-logon authentication provider. Following the
library documentation, I have got as far as creating an implementation of
ICredentialProvider, which is registered as a PLAP provider. This in turn
generates an IConnectableCredentialProviderCredential instance.

This much works: if I log off, then press Ctrl+Alt+Del, my dialog box pops
up. I have done this by calling it as soon as the credential is created.
However, that is not what I want: I want it to pop up when the Network logon
button is pressed.

As far as I can see, none of the credential methods are called during
pre-logon. In fact, unless I install other PLAP providers, the Network logon
button does not even appear.

I should point out that this credential is based on an existing standard
credential provider, which works, so I know the basic mechanism is correct. I
just need to know what else I need to do to detect when the Network logon
button is clicked.


Submitted via EggHeadCafe - Software Developer Portal of Choice
AJAX Web Service Driven Customers Table With Customer Details
http://www.eggheadcafe.com/tutorials/aspnet/4c3d2726-d99e-4f83-9e49-0d4867b6271a/ajax-web-service-driven-customers-table-with-customer-details.aspx
.