[CRYPTUI] Sync with Wine Staging 3.3. CORE-14434
[reactos.git] / dll / win32 / cryptui / main.c
index 387b6c6..a652239 100644 (file)
@@ -58,10 +58,6 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
             hInstance = hinstDLL;
             DisableThreadLibraryCalls(hinstDLL);
             break;
-        case DLL_PROCESS_DETACH:
-            break;
-        default:
-            break;
     }
     return TRUE;
 }
@@ -295,7 +291,7 @@ static CERT_ENHKEY_USAGE *convert_usages_str_to_usage(LPSTR usageStr)
         {
             if (comma)
                 *comma = 0;
-            add_oid_to_usage(usage, ptr);
+            usage = add_oid_to_usage(usage, ptr);
         }
     }
     return usage;
@@ -323,7 +319,7 @@ static CERT_ENHKEY_USAGE *create_advanced_filter(void)
                 {
                     PCCRYPT_OID_INFO *ptr;
 
-                    for (ptr = usages; *ptr; ptr++)
+                    for (ptr = usages; advancedUsage && *ptr; ptr++)
                     {
                         DWORD i;
                         BOOL disabled = FALSE;
@@ -334,7 +330,7 @@ static CERT_ENHKEY_USAGE *create_advanced_filter(void)
                              (*ptr)->pszOID))
                                 disabled = TRUE;
                         if (!disabled)
-                            add_oid_to_usage(advancedUsage,
+                            advancedUsage = add_oid_to_usage(advancedUsage,
                              (LPSTR)(*ptr)->pszOID);
                     }
                     /* The individual strings are pointers to disabledUsagesStr,
@@ -1796,17 +1792,16 @@ static void add_cert_string_to_control(HWND hwnd, PCCERT_CONTEXT pCertContext,
 static void add_icon_to_control(HWND hwnd, int id)
 {
     HRESULT hr;
-    LPRICHEDITOLE richEditOle = NULL;
-    LPOLEOBJECT object = NULL;
+    IRichEditOle *richEditOle = NULL;
+    IOleObject *object = NULL;
     CLSID clsid;
     LPOLECACHE oleCache = NULL;
     FORMATETC formatEtc;
     DWORD conn;
-    LPDATAOBJECT dataObject = NULL;
+    IDataObject *dataObject = NULL;
     HBITMAP bitmap = NULL;
-    RECT rect;
     STGMEDIUM stgm;
-    LPOLECLIENTSITE clientSite = NULL;
+    IOleClientSite *clientSite = NULL;
     REOBJECT reObject;
 
     TRACE("(%p, %d)\n", hwnd, id);
@@ -1843,9 +1838,6 @@ static void add_icon_to_control(HWND hwnd, int id)
      LR_DEFAULTSIZE | LR_LOADTRANSPARENT);
     if (!bitmap)
         goto end;
-    rect.left = rect.top = 0;
-    rect.right = GetSystemMetrics(SM_CXICON);
-    rect.bottom = GetSystemMetrics(SM_CYICON);
     stgm.tymed = TYMED_GDI;
     stgm.u.hBitmap = bitmap;
     stgm.pUnkForRelease = NULL;
@@ -2840,7 +2832,7 @@ static const struct v1_field v1_fields[] = {
 
 static void add_v1_fields(HWND hwnd, struct detail_data *data)
 {
-    int i;
+    unsigned int i;
     PCCERT_CONTEXT cert = data->pCertViewInfo->pCertContext;
 
     /* The last item in v1_fields is the public key, which is not in the loop
@@ -3772,7 +3764,7 @@ static void show_edit_cert_properties_dialog(HWND parent,
 
 static void free_detail_fields(struct detail_data *data)
 {
-    DWORD i;
+    int i;
 
     for (i = 0; i < data->cFields; i++)
         HeapFree(GetProcessHeap(), 0, data->fields[i].detailed_value);
@@ -7057,3 +7049,18 @@ PCCERT_CONTEXT WINAPI CryptUIDlgSelectCertificateA(PCCRYPTUI_SELECTCERTIFICATE_S
     FIXME("%p: stub\n", pcsc);
     return NULL;
 }
+
+PCCERT_CONTEXT WINAPI CryptUIDlgSelectCertificateFromStore(HCERTSTORE hCertStore, HWND hwnd, LPCWSTR pwszTitle,
+                                                           LPCWSTR pwszDisplayString, DWORD dwDontUseColumn,
+                                                           DWORD dwFlags, void *pvReserved)
+{
+    FIXME("%p %p %s %s %d %d %p: stub\n", hCertStore, hwnd, debugstr_w(pwszTitle), debugstr_w(pwszDisplayString), dwDontUseColumn, dwFlags, pvReserved);
+    return NULL;
+}
+
+BOOL WINAPI CryptUIWizDigitalSign(DWORD flags, HWND parent, LPCWSTR title, PCCRYPTUI_WIZ_DIGITAL_SIGN_INFO info,
+                                  PCCRYPTUI_WIZ_DIGITAL_SIGN_CONTEXT *context)
+{
+    FIXME("%d %p %s %p %p: stub\n", flags, parent, debugstr_w(title), info, context);
+    return FALSE;
+}