- From: karrim rabi-laleh <karrimrabi@xxxxxxxxxxx>
- Date: Fri, 10 Sep 2010 08:24:50 GMT
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:
hr = E_NOTIMPL;
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