* On Mon, 14 May 2007, Juan Lang wrote:
+static const WCHAR Software_Publishing[] = {
- 'S','o','f','t','w','a','r','e','\',
- 'M','i','c','r','o','s','o','f','t','\',
- 'W','i','n','d','o','w','s','\',
- 'C','u','r','r','e','n','t','V','e','r','s','i','o','n','\',
- 'W','i','n','t','r','u','s','t','\',
- 'T','r','u','s','t',' ','P','r','o','v','i','d','e','r','s','\',
- 'S','o','f','t','w','a','r','e',' ',
- 'P','u','b','l','i','s','h','i','n','g',0 };
+static const WCHAR State[] = { 'S','t','a','t','e',0 };
/***********************************************************************
WintrustGetRegPolicyFlags (WINTRUST.@)
*/ void WINAPI WintrustGetRegPolicyFlags( DWORD* pdwPolicyFlags ) {
- FIXME("%p\n", pdwPolicyFlags);
- HKEY key;
- LONG r;
- TRACE("%p\n", pdwPolicyFlags);
- *pdwPolicyFlags = 0;
- r = RegCreateKeyExW(HKEY_CURRENT_USER, Software_Publishing, 0, NULL, 0,
KEY_READ, NULL, &key, NULL);
- if (!r)
- {
DWORD size = sizeof(DWORD);
r = RegQueryValueExW(key, State, NULL, NULL, (LPBYTE)pdwPolicyFlags,
&size);
RegCloseKey(key);
This function tries to open Software_Publishing key. And creates it, if the key didn't exist, I suppose. It is absent in a clean $WINEPREFIX. Hence 4 test failures:
$ wine dlls/wintrust/tests/wintrust_test.exe.so register register.c:327: Test failed: RegOpenKeyEx failed: 2 register.c:331: Test failed: RegQueryValueEx failed: 6 register.c:334: Test failed: Didn't get expected flags register.c:341: Test failed: Didn't get expected flags register: 43 tests executed (0 marked as todo, 4 failures), 0 skipped.
During next run failures are gone, and I get this difference between two registry dumps:
+[HKEY_USERS\S-1-5-4\Software\Microsoft\Windows\CurrentVersion\Wintrust] + +[HKEY_USERS\S-1-5-4\Software\Microsoft\Windows\CurrentVersion\Wintrust\Trust Providers] + +[HKEY_USERS\S-1-5-4\Software\Microsoft\Windows\CurrentVersion\Wintrust\Trust Providers\Software Publishing] +"State"=dword:00023c00
So this key should be registered during wineprefix run at some point, right?