Juan Lang : cryptdlg: Implement CertViewPropertiesA on top of CertViewPropertiesW.
Alexandre Julliard
julliard at winehq.org
Tue Sep 23 09:28:24 CDT 2008
Module: wine
Branch: master
Commit: f422fa83d22635a3ae13a8f34ae62b2581dfcc93
URL: http://source.winehq.org/git/wine.git/?a=commit;h=f422fa83d22635a3ae13a8f34ae62b2581dfcc93
Author: Juan Lang <juan.lang at gmail.com>
Date: Mon Sep 22 11:06:58 2008 -0700
cryptdlg: Implement CertViewPropertiesA on top of CertViewPropertiesW.
---
dlls/cryptdlg/main.c | 30 ++++++++++++++++++++++++++++--
1 files changed, 28 insertions(+), 2 deletions(-)
diff --git a/dlls/cryptdlg/main.c b/dlls/cryptdlg/main.c
index 2447c38..943794a 100644
--- a/dlls/cryptdlg/main.c
+++ b/dlls/cryptdlg/main.c
@@ -22,6 +22,7 @@
#include "windef.h"
#include "winbase.h"
+#include "winnls.h"
#include "wincrypt.h"
#include "wintrust.h"
#include "winuser.h"
@@ -110,8 +111,33 @@ HRESULT WINAPI CertTrustFinalPolicy(CRYPT_PROVIDER_DATA *pProvData)
*/
BOOL WINAPI CertViewPropertiesA(CERT_VIEWPROPERTIES_STRUCT_A *info)
{
- FIXME("(%p): stub\n", info);
- return FALSE;
+ CERT_VIEWPROPERTIES_STRUCT_W infoW;
+ LPWSTR title = NULL;
+ BOOL ret;
+
+ TRACE("(%p)\n", info);
+
+ memcpy(&infoW, info, sizeof(infoW));
+ if (info->szTitle)
+ {
+ int len = MultiByteToWideChar(CP_ACP, 0, info->szTitle, -1, NULL, 0);
+
+ title = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
+ if (title)
+ {
+ MultiByteToWideChar(CP_ACP, 0, info->szTitle, -1, title, len);
+ infoW.szTitle = title;
+ }
+ else
+ {
+ ret = FALSE;
+ goto error;
+ }
+ }
+ ret = CertViewPropertiesW(&infoW);
+ HeapFree(GetProcessHeap(), 0, title);
+error:
+ return ret;
}
/***********************************************************************
More information about the wine-cvs
mailing list