winapi_check: Some wintrust updates
Francois Gouget
fgouget at free.fr
Thu Oct 21 09:23:27 CDT 2004
Changelog:
* dlls/wintrust/wintrust_main.c
include/wincrypt.h
tools/winapi/win32.api
include/mscat.h
include/wintrust.h
Fix some issues reported by winapi_check:
Add mscat.h and wintrust.h; update wincrypt.h.
Fix the CryptCATAdminAcquireContext() and WinVerifyTrust() prototypes
so they use the proper types.
Update the wintrust section of win32.api.
--
Francois Gouget fgouget at free.fr http://fgouget.free.fr/
Broadcast message : fin du monde dans cinq minutes, repentez vous !
-------------- next part --------------
Index: dlls/wintrust/wintrust_main.c
===================================================================
RCS file: /var/cvs/wine/dlls/wintrust/wintrust_main.c,v
retrieving revision 1.7
diff -u -r1.7 wintrust_main.c
--- dlls/wintrust/wintrust_main.c 18 Oct 2004 21:19:46 -0000 1.7
+++ dlls/wintrust/wintrust_main.c 19 Oct 2004 18:03:43 -0000
@@ -24,6 +24,8 @@
#include "winbase.h"
#include "winerror.h"
#include "guiddef.h"
+#include "wintrust.h"
+#include "mscat.h"
#include "wine/debug.h"
@@ -32,8 +34,8 @@
/***********************************************************************
* CryptCATAdminAcquireContext (WINTRUST.@)
*/
-BOOL WINAPI CryptCATAdminAcquireContext(/* HCATADMIN */ void *catAdmin,
- GUID *sysSystem, DWORD dwFlags )
+BOOL WINAPI CryptCATAdminAcquireContext(HCATADMIN* catAdmin,
+ const GUID *sysSystem, DWORD dwFlags )
{
FIXME("%p %s %lx\n", catAdmin, debugstr_guid(sysSystem), dwFlags);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
@@ -43,7 +45,7 @@
/***********************************************************************
* WinVerifyTrust (WINTRUST.@)
*/
-LONG WINAPI WinVerifyTrust( HWND hwnd, GUID *ActionID, LPVOID ActionData )
+LONG WINAPI WinVerifyTrust( HWND hwnd, GUID *ActionID, WINTRUST_DATA* ActionData )
{
FIXME("(hwnd %p ActionId %p ActionData %p): stub (nothing will be verified)\n",
hwnd, ActionID, ActionData);
Index: include/wincrypt.h
===================================================================
RCS file: /var/cvs/wine/include/wincrypt.h,v
retrieving revision 1.24
diff -u -r1.24 wincrypt.h
--- include/wincrypt.h 11 Oct 2004 20:07:46 -0000 1.24
+++ include/wincrypt.h 19 Oct 2004 18:03:43 -0000
@@ -234,6 +234,17 @@
} CTL_CONTEXT, *PCTL_CONTEXT;
typedef const CTL_CONTEXT *PCCTL_CONTEXT;
+typedef struct _CMSG_SIGNER_INFO {
+ DWORD dwVersion;
+ CERT_NAME_BLOB Issuer;
+ CRYPT_INTEGER_BLOB SerialNumber;
+ CRYPT_ALGORITHM_IDENTIFIER HashAlgorithm;
+ CRYPT_ALGORITHM_IDENTIFIER HashEncryptionAlgorithm;
+ CRYPT_DATA_BLOB EncryptedHash;
+ CRYPT_ATTRIBUTES AuthAttrs;
+ CRYPT_ATTRIBUTES UnauthAttrs;
+} CMSG_SIGNER_INFO, *PCMSG_SIGNER_INFO;
+
typedef struct _CERT_REVOCATION_CRL_INFO {
DWORD cbSize;
PCCRL_CONTEXT pBaseCrlContext;
Index: tools/winapi/win32.api
===================================================================
RCS file: /var/cvs/wine/tools/winapi/win32.api,v
retrieving revision 1.20
diff -u -r1.20 win32.api
--- tools/winapi/win32.api 8 Oct 2004 21:02:09 -0000 1.20
+++ tools/winapi/win32.api 21 Oct 2004 09:26:12 -0000
@@ -4507,13 +4530,16 @@
%long
+BOOL
+DWORD
HWND
LONG
%ptr
GUID *
-LPVOID
+HCATADMIN *
+WINTRUST_DATA *
%%wnaspi32.dll
--- /dev/null 2004-09-16 12:47:05.000000000 +0200
+++ include/mscat.h 2004-10-19 12:16:57.000000000 +0200
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) the Wine project
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef __WINE_MSCAT_H
+#define __WINE_MSCAT_H
+
+typedef HANDLE HCATADMIN;
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+BOOL WINAPI CryptCATAdminAcquireContext(HCATADMIN*,const GUID*,DWORD);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
--- /dev/null 2004-09-16 12:47:05.000000000 +0200
+++ include/wintrust.h 2004-10-19 12:31:34.000000000 +0200
@@ -0,0 +1,116 @@
+/*
+ * Copyright (C) the Wine project
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef __WINE_WINTRUST_H
+#define __WINE_WINTRUST_H
+
+#include <wincrypt.h>
+
+
+#include <pshpack8.h>
+
+typedef struct WINTRUST_FILE_INFO_
+{
+ DWORD cbStruct;
+ LPCWSTR pcwszFilePath;
+ HANDLE hFile;
+ GUID* pgKnownSubject;
+} WINTRUST_FILE_INFO, *PWINTRUST_FILE_INFO;
+
+typedef struct WINTRUST_CATALOG_INFO_
+{
+ DWORD cbStruct;
+ DWORD dwCatalogVersion;
+ LPCWSTR pcwszCatalogFilePath;
+ LPCWSTR pcwszMemberTag;
+ LPCWSTR pcwszMemberFilePath;
+ HANDLE hMemberFile;
+ BYTE* pbCalculatedFileHash;
+ DWORD cbCalculatedFileHash;
+ PCCTL_CONTEXT pcCatalogContext;
+} WINTRUST_CATALOG_INFO, *PWINTRUST_CATALOG_INFO;
+
+typedef struct WINTRUST_BLOB_INFO_
+{
+ DWORD cbStruct;
+ GUID gSubject;
+ LPCWSTR pcwszDisplayName;
+ DWORD cbMemObject;
+ BYTE* pbMemObject;
+ DWORD cbMemSignedMsg;
+ BYTE* pbMemSignedMsg;
+} WINTRUST_BLOB_INFO, *PWINTRUST_BLOB_INFO;
+
+typedef struct WINTRUST_SGNR_INFO_
+{
+ DWORD cbStruct;
+ LPCWSTR pcwszDisplayName;
+ CMSG_SIGNER_INFO* psSignerInfo;
+ DWORD chStores;
+ HCERTSTORE* pahStores;
+} WINTRUST_SGNR_INFO, *PWINTRUST_SGNR_INFO;
+
+typedef struct WINTRUST_CERT_INFO_
+{
+ DWORD cbStruct;
+ LPCWSTR pcwszDisplayName;
+ CERT_CONTEXT* psCertContext;
+ DWORD chStores;
+ HCERTSTORE* pahStores;
+ DWORD dwFlags;
+ FILETIME* psftVerifyAsOf;
+} WINTRUST_CERT_INFO, *PWINTRUST_CERT_INFO;
+
+
+typedef struct _WINTRUST_DATA
+{
+ DWORD cbStruct;
+ LPVOID pPolicyCallbackData;
+ LPVOID pSIPClientData;
+ DWORD dwUIChoice;
+ DWORD fdwRevocationChecks;
+ DWORD dwUnionChoice;
+ union
+ {
+ struct WINTRUST_FILE_INFO_* pFile;
+ struct WINTRUST_CATALOG_INFO_* pCatalog;
+ struct WINTRUST_BLOB_INFO_* pBlob;
+ struct WINTRUST_SGNR_INFO_* pSgnr;
+ struct WINTRUST_CERT_INFO_* pCert;
+ } DUMMYSTRUCTNAME;
+
+ DWORD dwStateAction;
+ HANDLE hWVTStateData;
+ WCHAR* pwszURLReference;
+ DWORD dwProvFlags;
+} WINTRUST_DATA, *PWINTRUST_DATA;
+
+#include <poppack.h>
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+LONG WINAPI WinVerifyTrust(HWND,GUID*,WINTRUST_DATA*);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
More information about the wine-patches
mailing list