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

cryptuiapi.h
Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 2008 Juan Lang
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 #ifndef __CRYPTUIAPI_H__
00019 #define __CRYPTUIAPI_H__
00020 
00021 #include <wintrust.h>
00022 #include <wincrypt.h>
00023 #include <prsht.h>
00024 
00025 #ifdef __cplusplus
00026 extern "C" {
00027 #endif
00028 
00029 #include <pshpack8.h>
00030 
00031 BOOL WINAPI CryptUIDlgViewContext(DWORD dwContextType, LPVOID pvContext,
00032  HWND hwnd, LPCWSTR pwszTitle, DWORD dwFlags, LPVOID pvReserved);
00033 
00034 /* Values for dwDontUseColumn */
00035 #define CRYPTUI_SELECT_ISSUEDTO_COLUMN     0x00000001
00036 #define CRYPTUI_SELECT_ISSUEDBY_COLUMN     0x00000002
00037 #define CRYPTUI_SELECT_INTENDEDUSE_COLUMN  0x00000004
00038 #define CRYPTUI_SELECT_FRIENDLYNAME_COLUMN 0x00000008
00039 #define CRYPTUI_SELECT_LOCATION_COLUMN     0x00000010
00040 #define CRYPTUI_SELECT_EXPIRATION_COLUMN   0x00000020
00041 
00042 PCCERT_CONTEXT WINAPI CryptUIDlgSelectCertificateFromStore(
00043  HCERTSTORE hCertStore, HWND hwnd, LPCWSTR pwszTitle, LPCWSTR pwszDisplayString,
00044  DWORD dwDontUseColumn, DWORD dwFlags, LPVOID pvReserved);
00045 
00046 /* Values for CRYPTUI_CERT_MGR_STRUCT's dwFlags */
00047 #define CRYPTUI_CERT_MGR_PUBLISHER_TAB   0x00000004
00048 #define CRYPTUI_CERT_MGR_TAB_MASK        0x0000000f
00049 #define CRYPTUI_CERT_MGR_SINGLE_TAB_FLAG 0x00008000
00050 
00051 typedef struct _CRYPTUI_CERT_MGR_STRUCT
00052 {
00053     DWORD   dwSize;
00054     HWND    hwndParent;
00055     DWORD   dwFlags;
00056     LPCWSTR pwszTitle;
00057     LPCSTR  pszInitUsageOID;
00058 } CRYPTUI_CERT_MGR_STRUCT, *PCRYPTUI_CERT_MGR_STRUCT;
00059 typedef const struct _CRYPTUI_CERT_MGR_STRUCT *PCCRYPTUI_CERT_MGR_STRUCT;
00060 
00061 BOOL WINAPI CryptUIDlgCertMgr(PCCRYPTUI_CERT_MGR_STRUCT pCryptUICertMgr);
00062 
00063 typedef BOOL (WINAPI *PFNCFILTERPROC)(PCCERT_CONTEXT pCertContext,
00064  BOOL *pfInitialSelectedCert, void *pvCallbackData);
00065 
00066 typedef struct tagCRYPTUI_INITDIALOG_STRUCT
00067 {
00068     LPARAM         lParam;
00069     PCCERT_CONTEXT pCertContext;
00070 } CRYPTUI_INITDIALOG_STRUCT, *PCRYPTUI_INITDIALOG_STRUCT;
00071 
00072 /* Values for CRYPTUI_VIEWCERTIFICATE_STRUCT's dwFlags */
00073 #define CRYPTUI_HIDE_HIERARCHYPAGE               0x00000001
00074 #define CRYPTUI_HIDE_DETAILPAGE                  0x00000002
00075 #define CRYPTUI_DISABLE_EDITPROPERTIES           0x00000004
00076 #define CRYPTUI_ENABLE_EDITPROPERTIES            0x00000008
00077 #define CRYPTUI_DISABLE_ADDTOSTORE               0x00000010
00078 #define CRYPTUI_ENABLE_ADDTOSTORE                0x00000020
00079 #define CRYPTUI_ACCEPT_DECLINE_STYLE             0x00000040
00080 #define CRYPTUI_IGNORE_UNTRUSTED_ROOT            0x00000080
00081 #define CRYPTUI_DONT_OPEN_STORES                 0x00000100
00082 #define CRYPTUI_ONLY_OPEN_ROOT_STORE             0x00000200
00083 #define CRYPTUI_WARN_UNTRUSTED_ROOT              0x00000400
00084 #define CRYPTUI_ENABLE_REVOCATION_CHECKING       0x00000800
00085 #define CRYPTUI_WARN_REMOTE_TRUST                0x00001000
00086 #define CRYPTUI_DISABLE_EXPORT                   0x00002000
00087 #define CRYPTUI_ENABLE_REVOCATION_CHECK_END_CERT 0x00004000
00088 #define CRYPTUI_ENABLE_REVOCATION_CHECK_CHAIN    0x00008000
00089 #define CRYPTUI_ENABLE_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT CRYPTUI_ENABLE_REVOCATION_CHECKING
00090 #define CRYPTUI_DISABLE_HTMLLINK                 0x00010000
00091 #define CRYPTUI_DISABLE_ISSUERSTATEMENT          0x00020000
00092 
00093 typedef struct tagCRYPTUI_VIEWCERTIFICATE_STRUCTA
00094 {
00095     DWORD             dwSize;
00096     HWND              hwndParent;
00097     DWORD             dwFlags;
00098     LPCSTR            szTitle;
00099     PCCERT_CONTEXT    pCertContext;
00100     LPCSTR           *rgszPurposes;
00101     DWORD             cPurposes;
00102     union {
00103         CRYPT_PROVIDER_DATA const *pCryptProviderData;
00104         HANDLE                     hWVTStateData;
00105     } DUMMYUNIONNAME;
00106     BOOL              fpCryptProviderDataTrustedUsage;
00107     DWORD             idxSigner;
00108     DWORD             idxCert;
00109     BOOL              fCounterSigner;
00110     DWORD             idxCounterSigner;
00111     DWORD             cStores;
00112     HCERTSTORE       *rghStores;
00113     DWORD             cPropSheetPages;
00114     LPCPROPSHEETPAGEA rgPropSheetPages;
00115     DWORD             nStartPage;
00116 } CRYPTUI_VIEWCERTIFICATE_STRUCTA, *PCRYPTUI_VIEWCERTIFICATE_STRUCTA;
00117 typedef const CRYPTUI_VIEWCERTIFICATE_STRUCTA *PCCRYPTUI_VIEWCERTIFICATE_STRUCTA;
00118 
00119 typedef struct tagCRYPTUI_VIEWCERTIFICATE_STRUCTW
00120 {
00121     DWORD             dwSize;
00122     HWND              hwndParent;
00123     DWORD             dwFlags;
00124     LPCWSTR           szTitle;
00125     PCCERT_CONTEXT    pCertContext;
00126     LPCSTR           *rgszPurposes;
00127     DWORD             cPurposes;
00128     union {
00129         CRYPT_PROVIDER_DATA const *pCryptProviderData;
00130         HANDLE                     hWVTStateData;
00131     } DUMMYUNIONNAME;
00132     BOOL              fpCryptProviderDataTrustedUsage;
00133     DWORD             idxSigner;
00134     DWORD             idxCert;
00135     BOOL              fCounterSigner;
00136     DWORD             idxCounterSigner;
00137     DWORD             cStores;
00138     HCERTSTORE       *rghStores;
00139     DWORD             cPropSheetPages;
00140     LPCPROPSHEETPAGEW rgPropSheetPages;
00141     DWORD             nStartPage;
00142 } CRYPTUI_VIEWCERTIFICATE_STRUCTW, *PCRYPTUI_VIEWCERTIFICATE_STRUCTW;
00143 typedef const CRYPTUI_VIEWCERTIFICATE_STRUCTW *PCCRYPTUI_VIEWCERTIFICATE_STRUCTW;
00144 
00145 #define CRYPTUI_VIEWCERTIFICATE_STRUCT   WINELIB_NAME_AW(CRYPTUI_VIEWCERTIFICATE_STRUCT)
00146 #define PCCRYPTUI_VIEWCERTIFICATE_STRUCT WINELIB_NAME_AW(PCCRYPTUI_VIEWCERTIFICATE_STRUCT)
00147 
00148 BOOL WINAPI CryptUIDlgViewCertificateA(
00149  PCCRYPTUI_VIEWCERTIFICATE_STRUCTA pCertViewInfo, BOOL *pfPropertiesChanged);
00150 BOOL WINAPI CryptUIDlgViewCertificateW(
00151  PCCRYPTUI_VIEWCERTIFICATE_STRUCTW pCertViewInfo, BOOL *pfPropertiesChanged);
00152 #define CryptUIDlgViewCertificate WINELIB_NAME_AW(CryptUIDlgViewCertificate)
00153 
00154 typedef struct _CRYPTUI_WIZ_DIGITAL_SIGN_BLOB_INFO
00155 {
00156     DWORD   dwSize;
00157     GUID   *pGuidSubject;
00158     DWORD   cbBlob;
00159     BYTE   *pbBlob;
00160     LPCWSTR pwszDisplayName;
00161 } CRYPTUI_WIZ_DIGITAL_SIGN_BLOB_INFO, *PCRYPTUI_WIZ_DIGITAL_SIGN_BLOB_INFO;
00162 typedef const CRYPTUI_WIZ_DIGITAL_SIGN_BLOB_INFO *
00163  PCCRYPTUI_WIZ_DIGITAL_SIGN_BLOB_INFO;
00164 
00165 typedef struct _CRYPTUI_WIZ_DIGITAL_SIGN_STORE_INFO
00166 {
00167     DWORD          dwSize;
00168     DWORD          cCertStore;
00169     HCERTSTORE    *rghCertStore;
00170     PFNCFILTERPROC pFilterCallback;
00171     void          *pvCallbackData;
00172 } CRYPTUI_WIZ_DIGITAL_SIGN_STORE_INFO, *PCRYPTUI_WIZ_DIGITAL_SIGN_STORE_INFO;
00173 typedef const CRYPTUI_WIZ_DIGITAL_SIGN_STORE_INFO *
00174  PCCRYPTUI_WIZ_DIGITAL_SIGN_STORE_INFO;
00175 
00176 typedef struct _CRYPTUI_WIZ_DIGITAL_SIGN_PVK_FILE_INFO
00177 {
00178     DWORD  dwSize;
00179     LPWSTR pwszPvkFileName;
00180     LPWSTR pwszProvName;
00181     DWORD  dwProvType;
00182 } CRYPTUI_WIZ_DIGITAL_SIGN_PVK_FILE_INFO,
00183  *PCRYPTUI_WIZ_DIGITAL_SIGN_PVK_FILE_INFO;
00184 typedef const CRYPTUI_WIZ_DIGITAL_SIGN_PVK_FILE_INFO *
00185  PCCRYPTUI_WIZ_DIGITAL_SIGN_PVK_FILE_INFO;
00186 
00187 typedef struct _CRYPTUI_WIZ_DIGITAL_SIGN_CERT_PVK_INFO
00188 {
00189     DWORD  dwSize;
00190     LPWSTR pwszSigningCertFileName;
00191     DWORD  dwPvkChoice;
00192     union {
00193         PCCRYPTUI_WIZ_DIGITAL_SIGN_PVK_FILE_INFO pPvkFileInfo;
00194         PCRYPT_KEY_PROV_INFO                    pPvkProvInfo;
00195     } DUMMYUNIONNAME;
00196 } CRYPTUI_WIZ_DIGITAL_SIGN_CERT_PVK_INFO,
00197  *PCRYPTUI_WIZ_DIGITAL_SIGN_CERT_PVK_INFO;
00198 typedef const CRYPTUI_WIZ_DIGITAL_SIGN_CERT_PVK_INFO *
00199  PCCRYPTUI_WIZ_DIGITAL_SIGN_CERT_PVK_INFO;
00200 
00201 typedef struct _CRYPTUI_WIZ_DIGITAL_SIGN_EXTENDED_INFO
00202 {
00203     DWORD             dwSize;
00204     DWORD             dwAttrFlags;
00205     LPCWSTR           pwszDescription;
00206     LPCWSTR           pwszMoreInfoLocation;
00207     LPCSTR            pszHashAlg;
00208     LPCWSTR           pwszSigningCertDisplayString;
00209     HCERTSTORE        hAdditionalCertStore;
00210     PCRYPT_ATTRIBUTES psAuthenticated;
00211     PCRYPT_ATTRIBUTES psUnauthenticated;
00212 } CRYPTUI_WIZ_DIGITAL_SIGN_EXTENDED_INFO,
00213  *PCRYPTUI_WIZ_DIGITAL_SIGN_EXTENDED_INFO;
00214 typedef const CRYPTUI_WIZ_DIGITAL_SIGN_EXTENDED_INFO *
00215  PCCRYPTUI_WIZ_DIGITAL_SIGN_EXTENDED_INFO;
00216 
00217 typedef struct _CRYPTUI_WIZ_DIGITAL_SIGN_INFO
00218 {
00219     DWORD   dwSize;
00220     DWORD   dwSubjectChoice;
00221     union {
00222         LPCWSTR                              pwszFileName;
00223         PCCRYPTUI_WIZ_DIGITAL_SIGN_BLOB_INFO pSignBlobInfo;
00224     } DUMMYUNIONNAME1;
00225     DWORD   dwSigningCertChoice;
00226     union {
00227         PCCERT_CONTEXT                           pSigningCertContext;
00228         PCCRYPTUI_WIZ_DIGITAL_SIGN_STORE_INFO    pSigningCertStore;
00229         PCCRYPTUI_WIZ_DIGITAL_SIGN_CERT_PVK_INFO pSigningCertPvkInfo;
00230     } DUMMYUNIONNAME2;
00231     LPCWSTR pwszTimestampURL;
00232     DWORD   dwAdditionalCertChoice;
00233     PCCRYPTUI_WIZ_DIGITAL_SIGN_EXTENDED_INFO pSignExtInfo;
00234 } CRYPTUI_WIZ_DIGITAL_SIGN_INFO, *PCRYPTUI_WIZ_DIGITAL_SIGN_INFO;
00235 typedef const CRYPTUI_WIZ_DIGITAL_SIGN_INFO *PCCRYPTUI_WIZ_DIGITAL_SIGN_INFO;
00236 
00237 typedef struct _CRYPTUI_WIZ_DIGITAL_SIGN_CONTEXT
00238 {
00239     DWORD dwSize;
00240     DWORD cbBlob;
00241     BYTE *pbBlob;
00242 } CRYPTUI_WIZ_DIGITAL_SIGN_CONTEXT, *PCRYPTUI_WIZ_DIGITAL_SIGN_CONTEXT;
00243 
00244 /* Values for CryptUIWizDigitalSign's dwFlags */
00245 #define CRYPTUI_WIZ_NO_UI                            0x00000001
00246 #define CRYPTUI_WIZ_DIGITAL_SIGN_EXCLUDE_PAGE_HASHES 0x00000002
00247 #define CRYPTUI_WIZ_DIGITAL_SIGN_INCLUDE_PAGE_HASHES 0x00000004
00248 
00249 BOOL WINAPI CryptUIWizDigitalSign(DWORD dwFlags, HWND hwndParent,
00250  LPCWSTR pwszWizardTitle, PCCRYPTUI_WIZ_DIGITAL_SIGN_INFO pDigitalSignInfo,
00251  PCRYPTUI_WIZ_DIGITAL_SIGN_CONTEXT *ppSignContext);
00252 
00253 BOOL WINAPI CryptUIWizFreeDigitalSignContext(
00254  PCRYPTUI_WIZ_DIGITAL_SIGN_CONTEXT pSignContext);
00255 
00256 /* Values for CRYPTUI_WIZ_EXPORT_INFO's dwSubjectChoice */
00257 #define CRYPTUI_WIZ_EXPORT_CERT_CONTEXT                 1
00258 #define CRYPTUI_WIZ_EXPORT_CTL_CONTEXT                  2
00259 #define CRYPTUI_WIZ_EXPORT_CRL_CONTEXT                  3
00260 #define CRYPTUI_WIZ_EXPORT_CERT_STORE                   4
00261 #define CRYPTUI_WIZ_EXPORT_CERT_STORE_CERTIFICATES_ONLY 5
00262 #define CRYPTUI_WIZ_EXPORT_FORMAT_CRL                   6
00263 #define CRYPTUI_WIZ_EXPORT_FORMAT_CTL                   7
00264 
00265 typedef struct _CRYPTUI_WIZ_EXPORT_INFO
00266 {
00267     DWORD       dwSize;
00268     LPCWSTR     pwszExportFileName;
00269     DWORD       dwSubjectChoice;
00270     union {
00271         PCCERT_CONTEXT pCertContext;
00272         PCCTL_CONTEXT  pCTLContext;
00273         PCCRL_CONTEXT  pCRLContext;
00274         HCERTSTORE     hCertStore;
00275     } DUMMYUNIONNAME;
00276     DWORD       cStores;
00277     HCERTSTORE *rghStores;
00278 } CRYPTUI_WIZ_EXPORT_INFO, *PCRYPTUI_WIZ_EXPORT_INFO;
00279 typedef const CRYPTUI_WIZ_EXPORT_INFO *PCCRYPTUI_WIZ_EXPORT_INFO;
00280 
00281 /* Values for CRYPTUI_WIZ_EXPORT_CERTCONTEXT_INFO's dwExportFormat */
00282 #define CRYPTUI_WIZ_EXPORT_FORMAT_DER                   1
00283 #define CRYPTUI_WIZ_EXPORT_FORMAT_PFX                   2
00284 #define CRYPTUI_WIZ_EXPORT_FORMAT_PKCS7                 3
00285 #define CRYPTUI_WIZ_EXPORT_FORMAT_BASE64                4
00286 #define CRYPTUI_WIZ_EXPORT_FORMAT_SERIALIZED_CERT_STORE 5
00287 
00288 typedef struct _CRYPTUI_WIZ_EXPORT_CERTCONTEXT_INFO
00289 {
00290     DWORD   dwSize;
00291     DWORD   dwExportFormat;
00292     BOOL    fExportChain;
00293     BOOL    fExportPrivateKeys;
00294     LPCWSTR pwszPassword;
00295     BOOL    fStrongEncryption;
00296 } CRYPTUI_WIZ_EXPORT_CERTCONTEXT_INFO, *PCRYPTUI_WIZ_EXPORT_CERTCONTEXT_INFO;
00297 typedef const CRYPTUI_WIZ_EXPORT_CERTCONTEXT_INFO *
00298  PCCRYPTUI_WIZ_EXPORT_CERTCONTEXT_INFO;
00299 
00300 BOOL WINAPI CryptUIWizExport(DWORD dwFlags, HWND hwndParent,
00301  LPCWSTR pwszWizardTitle, PCCRYPTUI_WIZ_EXPORT_INFO pExportInfo, void *pvoid);
00302 
00303 /* Values for CRYPTUI_WIZ_IMPORT_SRC_INFO's dwSubjectChoice */
00304 #define CRYPTUI_WIZ_IMPORT_SUBJECT_FILE         1
00305 #define CRYPTUI_WIZ_IMPORT_SUBJECT_CERT_CONTEXT 2
00306 #define CRYPTUI_WIZ_IMPORT_SUBJECT_CTL_CONTEXT  3
00307 #define CRYPTUI_WIZ_IMPORT_SUBJECT_CRL_CONTEXT  4
00308 #define CRYPTUI_WIZ_IMPORT_SUBJECT_CERT_STORE   5
00309 
00310 typedef struct _CRYPTUI_WIZ_IMPORT_SUBJECT_INFO
00311 {
00312     DWORD   dwSize;
00313     DWORD   dwSubjectChoice;
00314     union {
00315         LPCWSTR        pwszFileName;
00316         PCCERT_CONTEXT pCertContext;
00317         PCCTL_CONTEXT  pCTLContext;
00318         PCCRL_CONTEXT  pCRLContext;
00319         HCERTSTORE     hCertStore;
00320     } DUMMYUNIONNAME;
00321     DWORD   dwFlags;
00322     LPCWSTR pwszPassword;
00323 } CRYPTUI_WIZ_IMPORT_SRC_INFO, *PCRYPTUI_WIZ_IMPORT_SRC_INFO;
00324 typedef const CRYPTUI_WIZ_IMPORT_SRC_INFO *PCCRYPTUI_WIZ_IMPORT_SRC_INFO;
00325 
00326 /* Values for CryptUIWizImport's dwFlags */
00327 #define CRYPTUI_WIZ_IMPORT_NO_CHANGE_DEST_STORE 0x00010000
00328 #define CRYPTUI_WIZ_IMPORT_ALLOW_CERT           0x00020000
00329 #define CRYPTUI_WIZ_IMPORT_ALLOW_CRL            0x00040000
00330 #define CRYPTUI_WIZ_IMPORT_ALLOW_CTL            0x00080000
00331 #define CRYPTUI_WIZ_IMPORT_TO_LOCALMACHINE      0x00100000
00332 #define CRYPTUI_WIZ_IMPORT_TO_CURRENTUSER       0x00200000
00333 #define CRYPTUI_WIZ_IMPORT_REMOTE_DEST_STORE    0x00400000
00334 
00335 BOOL WINAPI CryptUIWizImport(DWORD dwFlags, HWND hwndParent,
00336  LPCWSTR pwszWizardTitle, PCCRYPTUI_WIZ_IMPORT_SRC_INFO pImportSrc,
00337  HCERTSTORE hDestCertStore);
00338 
00339 /* Definitions missing from PSDK's cryptuiapi.h, but documented on MSDN. */
00340 typedef BOOL (WINAPI *PFNCCERTDISPLAYPROC)(PCCERT_CONTEXT pCertContext,
00341  HWND hWndSelCertDlg, void *pvCallbackData);
00342 
00343 /* Values for CRYPTUI_SELECTCERTIFICATE_STRUCT's dwFlags */
00344 #define CRYPTUI_SELECTCERT_MULTISELECT 0x00000001
00345 
00346 typedef struct _CRYPTUI_SELECTCERTIFICATE_STRUCTA
00347 {
00348     DWORD               dwSize;
00349     HWND                hwndParent;
00350     DWORD               dwFlags;
00351     LPCSTR              szTitle;
00352     DWORD               dwDontUseColumn;
00353     LPCSTR              szDisplayString;
00354     PFNCFILTERPROC      pFilterCallback;
00355     PFNCCERTDISPLAYPROC pDisplayCallback;
00356     void               *pvCallbackData;
00357     DWORD               cDisplayStores;
00358     HCERTSTORE         *rghDisplayStores;
00359     DWORD               cStores;
00360     HCERTSTORE         *rghStores;
00361     DWORD               cPropSheetPages;
00362     LPCPROPSHEETPAGEA   rgPropSheetPages;
00363     HCERTSTORE          hSelectedCertStore;
00364 } CRYPTUI_SELECTCERTIFICATE_STRUCTA, *PCRYPTUI_SELECTCERTIFICATE_STRUCTA;
00365 typedef const CRYPTUI_SELECTCERTIFICATE_STRUCTA *
00366  PCCRYPTUI_SELECTCERTIFICATE_STRUCTA;
00367 
00368 typedef struct _CRYPTUI_SELECTCERTIFICATE_STRUCTW
00369 {
00370     DWORD               dwSize;
00371     HWND                hwndParent;
00372     DWORD               dwFlags;
00373     LPCWSTR             szTitle;
00374     DWORD               dwDontUseColumn;
00375     LPCWSTR             szDisplayString;
00376     PFNCFILTERPROC      pFilterCallback;
00377     PFNCCERTDISPLAYPROC pDisplayCallback;
00378     void               *pvCallbackData;
00379     DWORD               cDisplayStores;
00380     HCERTSTORE         *rghDisplayStores;
00381     DWORD               cStores;
00382     HCERTSTORE         *rghStores;
00383     DWORD               cPropSheetPages;
00384     LPCPROPSHEETPAGEW   rgPropSheetPages;
00385     HCERTSTORE          hSelectedCertStore;
00386 } CRYPTUI_SELECTCERTIFICATE_STRUCTW, *PCRYPTUI_SELECTCERTIFICATE_STRUCTW;
00387 typedef const CRYPTUI_SELECTCERTIFICATE_STRUCTW *
00388  PCCRYPTUI_SELECTCERTIFICATE_STRUCTW;
00389 
00390 PCCERT_CONTEXT WINAPI CryptUIDlgSelectCertificateA(
00391  PCCRYPTUI_SELECTCERTIFICATE_STRUCTA pcsc);
00392 PCCERT_CONTEXT WINAPI CryptUIDlgSelectCertificateW(
00393  PCCRYPTUI_SELECTCERTIFICATE_STRUCTW pcsc);
00394 
00395 typedef struct tagCRYPTUI_VIEWSIGNERINFO_STRUCTA
00396 {
00397     DWORD             dwSize;
00398     HWND              hwndParent;
00399     DWORD             dwFlags;
00400     LPCSTR            szTitle;
00401     CMSG_SIGNER_INFO *pSignerInfo;
00402     HCRYPTMSG         hMsg;
00403     LPCSTR            pszOID;
00404     DWORD_PTR         dwReserved;
00405     DWORD             cStores;
00406     HCERTSTORE       *rghStores;
00407     DWORD             cPropSheetPages;
00408     LPCPROPSHEETPAGEA rgPropSheetPages;
00409 } CRYPTUI_VIEWSIGNERINFO_STRUCTA, *PCRYPTUI_VIEWSIGNERINFO_STRUCTA;
00410 
00411 typedef struct tagCRYPTUI_VIEWSIGNERINFO_STRUCTW
00412 {
00413     DWORD             dwSize;
00414     HWND              hwndParent;
00415     DWORD             dwFlags;
00416     LPCWSTR           szTitle;
00417     CMSG_SIGNER_INFO *pSignerInfo;
00418     HCRYPTMSG         hMsg;
00419     LPCSTR            pszOID;
00420     DWORD_PTR         dwReserved;
00421     DWORD             cStores;
00422     HCERTSTORE       *rghStores;
00423     DWORD             cPropSheetPages;
00424     LPCPROPSHEETPAGEW rgPropSheetPages;
00425 } CRYPTUI_VIEWSIGNERINFO_STRUCTW, *PCRYPTUI_VIEWSIGNERINFO_STRUCTW;
00426 
00427 BOOL WINAPI CryptUIDlgViewSignerInfoA(CRYPTUI_VIEWSIGNERINFO_STRUCTA *pcvsi);
00428 BOOL WINAPI CryptUIDlgViewSignerInfoW(CRYPTUI_VIEWSIGNERINFO_STRUCTW *pcvsi);
00429 
00430 #include <poppack.h>
00431 
00432 #ifdef __cplusplus
00433 }
00434 #endif
00435 
00436 #endif

Generated on Sun May 27 2012 04:31:13 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.