James Hawkins truiken@gmail.com writes:
Changelog
- Call provider.dll's DllRegisterServer from CryptSetProviderEx to
update the Name and TypeName values in the registry properly when setting the default provider
It doesn't seem right to call DllRegisterServer from there, IMO it should only be called when the dll is installed. Do you have evidence that Windows does it this way?
I'm working on a test app that I hope wil shine some light on how windows gets the Name and TypeName values back in the registry after they've been deleted. The problem is that the only instance of the Name and TypeName data is in the DllRegisterServer function of the provider dll. I couldn't think of any other way to get to that data to get it in the registry, but I will be testing this in windows. What im thinking is that windows might not even delete the key at all. If you have any suggestions it would help a lot.
On Fri, 20 Aug 2004 12:48:07 -0700, Alexandre Julliard julliard@winehq.org wrote:
James Hawkins truiken@gmail.com writes:
Changelog
- Call provider.dll's DllRegisterServer from CryptSetProviderEx to
update the Name and TypeName values in the registry properly when setting the default provider
It doesn't seem right to call DllRegisterServer from there, IMO it should only be called when the dll is installed. Do you have evidence that Windows does it this way?
-- Alexandre Julliard julliard@winehq.org
I just ran a test programming in windows to see how the registry is changed by called CryptSetProviderEx with the CRYPT_DELETE_DEFAULT flag. When the CRYPT_DELETE_DEFAULT flag is used, the Name value of the Type XXX key is removed, but not the TypeName, which solves the problem of not being able to get to the TypeName. I will rewrite this patch with the new behavior and send it shortly.
On Fri, 20 Aug 2004 13:11:12 -0700, James Hawkins truiken@gmail.com wrote:
I'm working on a test app that I hope wil shine some light on how windows gets the Name and TypeName values back in the registry after they've been deleted. The problem is that the only instance of the Name and TypeName data is in the DllRegisterServer function of the provider dll. I couldn't think of any other way to get to that data to get it in the registry, but I will be testing this in windows. What im thinking is that windows might not even delete the key at all. If you have any suggestions it would help a lot.
On Fri, 20 Aug 2004 12:48:07 -0700, Alexandre Julliard julliard@winehq.org wrote:
James Hawkins truiken@gmail.com writes:
Changelog
- Call provider.dll's DllRegisterServer from CryptSetProviderEx to
update the Name and TypeName values in the registry properly when setting the default provider
It doesn't seem right to call DllRegisterServer from there, IMO it should only be called when the dll is installed. Do you have evidence that Windows does it this way?
-- Alexandre Julliard julliard@winehq.org
-- James Hawkins