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
return QISearch(this, qit, riid, ppv);

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


I think that should give you what you want.

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


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