[wintrust] Implement SoftpubDllRegisterServer

Paul Vriens Paul.Vriens at xs4all.nl
Sat Sep 23 07:09:49 CDT 2006


Hi,

SoftpubDllRegisterServer is basically a subset of DllRegisterServer.
I didn't put that in a separate function as things tend to change a lot with
respect to wintrust and friends.

Changelog
  Implement SoftpubDllRegisterServer.

Cheers,

Paul.

---
 dlls/wintrust/register.c |   45 +++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 43 insertions(+), 2 deletions(-)

diff --git a/dlls/wintrust/register.c b/dlls/wintrust/register.c
index 6fb1f58..cc9b9b7 100644
--- a/dlls/wintrust/register.c
+++ b/dlls/wintrust/register.c
@@ -991,11 +991,52 @@ HRESULT WINAPI DllUnregisterServer(void)
 
 /***********************************************************************
  *              SoftpubDllRegisterServer (WINTRUST.@)
+ *
+ * Registers softpub.dll
+ *
+ * PARAMS
+ *
+ * RETURNS
+ *  Success: S_OK.
+ *  Failure: S_FALSE. (See also GetLastError()).
+ *
+ * NOTES
+ *  DllRegisterServer in softpub.dll will call this function.
+ *  See comments in DllRegisterServer.
  */
 HRESULT WINAPI SoftpubDllRegisterServer(void)
 {
-     FIXME("stub\n");
-     return S_OK;
+    HRESULT TrustProviderRes = S_OK;
+
+    TRACE("\n");
+
+    /* Create the necessary action registry structures */
+    WINTRUST_InitRegStructs();
+
+    /* Register several Trust Provider actions */
+    if (!WINTRUST_RegisterGenVerifyV2())
+        TrustProviderRes = S_FALSE;
+    if (!WINTRUST_RegisterPublishedSoftware())
+        TrustProviderRes = S_FALSE;
+    if (!WINTRUST_RegisterPublishedSoftwareNoBadUi())
+        TrustProviderRes = S_FALSE;
+    if (!WINTRUST_RegisterGenCertVerify())
+        TrustProviderRes = S_FALSE;
+    if (!WINTRUST_RegisterTrustProviderTest())
+        TrustProviderRes = S_FALSE;
+    if (!WINTRUST_RegisterHttpsProv())
+        TrustProviderRes = S_FALSE;
+    if (!WINTRUST_RegisterOfficeSignVerify())
+        TrustProviderRes = S_FALSE;
+    if (!WINTRUST_RegisterDriverVerify())
+        TrustProviderRes = S_FALSE;
+    if (!WINTRUST_RegisterGenChainVerify())
+        TrustProviderRes = S_FALSE;
+
+    /* Free the registry structures */
+    WINTRUST_FreeRegStructs();
+
+    return TrustProviderRes;
 }
 
 /***********************************************************************
-- 
1.4.2.1




More information about the wine-patches mailing list