ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

mscat.h
Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 2004 Francois Gouget
00003  *
00004  * This library is free software; you can redistribute it and/or
00005  * modify it under the terms of the GNU Lesser General Public
00006  * License as published by the Free Software Foundation; either
00007  * version 2.1 of the License, or (at your option) any later version.
00008  *
00009  * This library is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012  * Lesser General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU Lesser General Public
00015  * License along with this library; if not, write to the Free Software
00016  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00017  */
00018 
00019 #ifndef __WINE_MSCAT_H
00020 #define __WINE_MSCAT_H
00021 
00022 #include <mssip.h>
00023 
00024 typedef HANDLE HCATADMIN;
00025 typedef HANDLE HCATINFO;
00026 
00027 #ifdef __cplusplus
00028 extern "C" {
00029 #endif
00030 
00031 #define CRYPTCAT_OPEN_CREATENEW             0x00000001
00032 #define CRYPTCAT_OPEN_ALWAYS                0x00000002
00033 #define CRYPTCAT_OPEN_EXISTING              0x00000004
00034 #define CRYPTCAT_OPEN_EXCLUDE_PAGE_HASHES   0x00010000
00035 #define CRYPTCAT_OPEN_INCLUDE_PAGE_HASHES   0x00020000
00036 #define CRYPTCAT_OPEN_VERIFYSIGHASH         0x10000000
00037 #define CRYPTCAT_OPEN_NO_CONTENT_HCRYPTMSG  0x20000000
00038 #define CRYPTCAT_OPEN_SORTED                0x40000000
00039 #define CRYPTCAT_OPEN_FLAGS_MASK            0xffff0000
00040 
00041 #define CRYPTCAT_E_AREA_HEADER              0x00000000
00042 #define CRYPTCAT_E_AREA_MEMBER              0x00010000
00043 #define CRYPTCAT_E_AREA_ATTRIBUTE           0x00020000
00044 
00045 #define CRYPTCAT_E_CDF_UNSUPPORTED          0x00000001
00046 #define CRYPTCAT_E_CDF_DUPLICATE            0x00000002
00047 #define CRYPTCAT_E_CDF_TAGNOTFOUND          0x00000004
00048 
00049 #define CRYPTCAT_E_CDF_MEMBER_FILE_PATH     0x00010001
00050 #define CRYPTCAT_E_CDF_MEMBER_INDIRECTDATA  0x00010002
00051 #define CRYPTCAT_E_CDF_MEMBER_FILENOTFOUND  0x00010004
00052 
00053 #define CRYPTCAT_E_CDF_BAD_GUID_CONV        0x00020001
00054 #define CRYPTCAT_E_CDF_ATTR_TOOFEWVALUES    0x00020002
00055 #define CRYPTCAT_E_CDF_ATTR_TYPECOMBO       0x00020004
00056 
00057 #include <pshpack8.h>
00058 
00059 typedef struct CRYPTCATATTRIBUTE_
00060 {
00061     DWORD cbStruct;
00062     LPWSTR pwszReferenceTag;
00063     DWORD dwAttrTypeAndAction;
00064     DWORD cbValue;
00065     BYTE *pbValue;
00066     DWORD dwReserved;
00067 } CRYPTCATATTRIBUTE;
00068 
00069 typedef struct CRYPTCATMEMBER_
00070 {
00071     DWORD cbStruct;
00072     LPWSTR pwszReferenceTag;
00073     LPWSTR pwszFileName;
00074     GUID gSubjectType;
00075     DWORD fdwMemberFlags;
00076     struct SIP_INDIRECT_DATA_* pIndirectData;
00077     DWORD dwCertVersion;
00078     DWORD dwReserved;
00079     HANDLE hReserved;
00080     CRYPT_ATTR_BLOB sEncodedIndirectData;
00081     CRYPT_ATTR_BLOB sEncodedMemberInfo;
00082 } CRYPTCATMEMBER;
00083 
00084 typedef struct CATALOG_INFO_
00085 {
00086     DWORD cbStruct;
00087     WCHAR wszCatalogFile[MAX_PATH];
00088 } CATALOG_INFO;
00089 
00090 typedef struct CRYPTCATCDF_
00091 {
00092     DWORD cbStruct;
00093     HANDLE hFile;
00094     DWORD dwCurFilePos;
00095     DWORD dwLastMemberOffset;
00096     BOOL fEOF;
00097     LPWSTR pwszResultDir;
00098     HANDLE hCATStore;
00099 } CRYPTCATCDF;
00100 
00101 #include <poppack.h>
00102 
00103 typedef void (WINAPI *PFN_CDF_PARSE_ERROR_CALLBACK)(DWORD, DWORD, WCHAR *);
00104 
00105 BOOL      WINAPI CryptCATAdminAcquireContext(HCATADMIN*,const GUID*,DWORD);
00106 HCATINFO  WINAPI CryptCATAdminAddCatalog(HCATADMIN,PWSTR,PWSTR,DWORD);
00107 BOOL      WINAPI CryptCATAdminCalcHashFromFileHandle(HANDLE,DWORD*,BYTE*,DWORD);
00108 HCATINFO  WINAPI CryptCATAdminEnumCatalogFromHash(HCATADMIN,BYTE*,DWORD,DWORD,HCATINFO*);
00109 BOOL      WINAPI CryptCATAdminReleaseCatalogContext(HCATADMIN,HCATINFO,DWORD);
00110 BOOL      WINAPI CryptCATAdminReleaseContext(HCATADMIN,DWORD);
00111 BOOL      WINAPI CryptCATAdminRemoveCatalog(HCATADMIN,LPCWSTR,DWORD);
00112 BOOL      WINAPI CryptCATAdminResolveCatalogPath(HCATADMIN, WCHAR *, CATALOG_INFO *, DWORD);
00113 BOOL      WINAPI CryptCATCatalogInfoFromContext(HCATINFO, CATALOG_INFO *, DWORD);
00114 BOOL      WINAPI CryptCATCDFClose(CRYPTCATCDF *);
00115 CRYPTCATATTRIBUTE * WINAPI CryptCATCDFEnumCatAttributes(CRYPTCATCDF *, CRYPTCATATTRIBUTE *,
00116                                                         PFN_CDF_PARSE_ERROR_CALLBACK);
00117 LPWSTR              WINAPI CryptCATCDFEnumMembersByCDFTagEx(CRYPTCATCDF *, LPWSTR,
00118                                                             PFN_CDF_PARSE_ERROR_CALLBACK,
00119                                                             CRYPTCATMEMBER **, BOOL, LPVOID);
00120 CRYPTCATCDF       * WINAPI CryptCATCDFOpen(LPWSTR, PFN_CDF_PARSE_ERROR_CALLBACK);
00121 BOOL                WINAPI CryptCATClose(HANDLE);
00122 CRYPTCATATTRIBUTE * WINAPI CryptCATEnumerateAttr(HANDLE, CRYPTCATMEMBER *, CRYPTCATATTRIBUTE *);
00123 CRYPTCATATTRIBUTE * WINAPI CryptCATEnumerateCatAttr(HANDLE, CRYPTCATATTRIBUTE *);
00124 CRYPTCATMEMBER    * WINAPI CryptCATEnumerateMember(HANDLE,CRYPTCATMEMBER *);
00125 CRYPTCATATTRIBUTE * WINAPI CryptCATGetAttrInfo(HANDLE, CRYPTCATMEMBER *, LPWSTR);
00126 CRYPTCATATTRIBUTE * WINAPI CryptCATGetCatAttrInfo(HANDLE, LPWSTR);
00127 CRYPTCATMEMBER    * WINAPI CryptCATGetMemberInfo(HANDLE, LPWSTR);
00128 HANDLE    WINAPI CryptCATOpen(LPWSTR,DWORD,HCRYPTPROV,DWORD,DWORD);
00129 
00130 #ifdef __cplusplus
00131 }
00132 #endif
00133 
00134 #endif

Generated on Fri May 25 2012 04:30:15 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.