My credential provider was compiled & linked as a 32 bit program. It executes without error on vista x32. I compiled & linked the same source code as a 64 bit program. It does not successfully execute on vista x64. The object's "Advise" function is never called and the object is unloaded. A partial trace of the sequence is as follows: ENTER CCSampleProvider::GetCredentialCount EXIT CCSampleProvider::GetCredentialCount ENTER CCSampleProvider::GetCredentialAt EXIT CCSampleProvider::GetCredentialAt ENTER CCSampleProvider::GetFieldDescriptorCount EXIT CCSampleProvider::GetFieldDescriptorCount ENTER CCSampleProvider::GetFieldDescriptorAt EXIT CCSampleProvider::GetFieldDescriptorAt ENTER CCSampleProvider::GetFieldDescriptorAt EXIT CCSampleProvider::GetFieldDescriptorAt ENTER CSampleCredential::GetBitmapValue EXIT CSampleCredential::GetBitmapValue < hr=0 > ENTER CSampleCredential::GetFieldState EXIT CSampleCredential::GetFieldState < hr=0 > ENTER CSampleCredential::GetStringValue < fieldID=1 > EXIT CSampleCredential::GetStringValue < str=abc hr=0 > ENTER CSampleCredential::GetFieldState EXIT CSampleCredential::GetFieldState < hr=0 > --- !!! CSampleCredential::Advise should be called at this juncture !!! --- CP-DLL DllMain.DLL < DLL_PROCESS_DETACH threadID=3d4 > Any ideas why "Advise" is not invoked? Thanks dmm
I have the same problem
I also have the same problem yesterday,but I solve this problem by create a new system account, I do not know the real reason now.