60{
64
65 do {
67
70 if (!rc)
71 {
73
75 if (!rc)
76 {
78
81 if (!rc)
84 {
87 if (!rc)
88 {
91
92 TRACE(
"Adding cert with hash %s\n",
95 contextType, &addedType);
97 {
100
101 switch (addedType)
102 {
105 break;
108 break;
111 break;
112 default:
113 contextInterface =
NULL;
114 }
115 if (contextInterface)
116 {
120 {
121 WCHAR asciiHash[20 * 2 + 1];
122
124 TRACE(
"comparing %s\n",
127 if (!
wcscmp(asciiHash, subKeyName))
128 {
129 TRACE(
"hash matches, adding\n");
133 }
134 else
135 TRACE(
"hash doesn't match, ignoring\n");
136 }
138 }
139 }
140 }
142 }
144 }
145
147 }
148 } while (!rc);
149}
const void * CRYPT_ReadSerializedElement(const BYTE *pbElement, DWORD cbElement, DWORD dwContextTypeFlags, DWORD *pdwContentType)
static context_t * context_from_ptr(const void *ptr)
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
LONG WINAPI RegEnumKeyExW(_In_ HKEY hKey, _In_ DWORD dwIndex, _Out_ LPWSTR lpName, _Inout_ LPDWORD lpcbName, _Reserved_ LPDWORD lpReserved, _Out_opt_ LPWSTR lpClass, _Inout_opt_ LPDWORD lpcbClass, _Out_opt_ PFILETIME lpftLastWriteTime)
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
void Context_Release(context_t *context)
_ACRTIMP int __cdecl wcscmp(const wchar_t *, const wchar_t *)
GLenum GLuint GLenum GLsizei const GLchar * buf
static void CRYPT_HashToStr(const BYTE *hash, LPWSTR asciiHash)
AddContextToStoreFunc addContextToStore
#define CERT_STORE_CERTIFICATE_CONTEXT
#define CERT_STORE_CTL_CONTEXT
#define CERT_STORE_CRL_CONTEXT