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