summaryrefslogtreecommitdiffstats
path: root/src/VBox/Devices/Graphics/shaderlib/wine/include/cryptuiapi.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/VBox/Devices/Graphics/shaderlib/wine/include/cryptuiapi.h')
-rw-r--r--src/VBox/Devices/Graphics/shaderlib/wine/include/cryptuiapi.h447
1 files changed, 447 insertions, 0 deletions
diff --git a/src/VBox/Devices/Graphics/shaderlib/wine/include/cryptuiapi.h b/src/VBox/Devices/Graphics/shaderlib/wine/include/cryptuiapi.h
new file mode 100644
index 00000000..9426dc04
--- /dev/null
+++ b/src/VBox/Devices/Graphics/shaderlib/wine/include/cryptuiapi.h
@@ -0,0 +1,447 @@
+/*
+ * Copyright (C) 2008 Juan Lang
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+/*
+ * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
+ * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
+ * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
+ * a choice of LGPL license versions is made available with the language indicating
+ * that LGPLv2 or any later version may be used, or where a choice of which version
+ * of the LGPL is applied is otherwise unspecified.
+ */
+
+#ifndef __CRYPTUIAPI_H__
+#define __CRYPTUIAPI_H__
+
+#include <wintrust.h>
+#include <wincrypt.h>
+#include <prsht.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <pshpack8.h>
+
+BOOL WINAPI CryptUIDlgViewContext(DWORD dwContextType, LPVOID pvContext,
+ HWND hwnd, LPCWSTR pwszTitle, DWORD dwFlags, LPVOID pvReserved);
+
+/* Values for dwDontUseColumn */
+#define CRYPTUI_SELECT_ISSUEDTO_COLUMN 0x00000001
+#define CRYPTUI_SELECT_ISSUEDBY_COLUMN 0x00000002
+#define CRYPTUI_SELECT_INTENDEDUSE_COLUMN 0x00000004
+#define CRYPTUI_SELECT_FRIENDLYNAME_COLUMN 0x00000008
+#define CRYPTUI_SELECT_LOCATION_COLUMN 0x00000010
+#define CRYPTUI_SELECT_EXPIRATION_COLUMN 0x00000020
+
+PCCERT_CONTEXT WINAPI CryptUIDlgSelectCertificateFromStore(
+ HCERTSTORE hCertStore, HWND hwnd, LPCWSTR pwszTitle, LPCWSTR pwszDisplayString,
+ DWORD dwDontUseColumn, DWORD dwFlags, LPVOID pvReserved);
+
+/* Values for CRYPTUI_CERT_MGR_STRUCT's dwFlags */
+#define CRYPTUI_CERT_MGR_PUBLISHER_TAB 0x00000004
+#define CRYPTUI_CERT_MGR_TAB_MASK 0x0000000f
+#define CRYPTUI_CERT_MGR_SINGLE_TAB_FLAG 0x00008000
+
+typedef struct _CRYPTUI_CERT_MGR_STRUCT
+{
+ DWORD dwSize;
+ HWND hwndParent;
+ DWORD dwFlags;
+ LPCWSTR pwszTitle;
+ LPCSTR pszInitUsageOID;
+} CRYPTUI_CERT_MGR_STRUCT, *PCRYPTUI_CERT_MGR_STRUCT;
+typedef const struct _CRYPTUI_CERT_MGR_STRUCT *PCCRYPTUI_CERT_MGR_STRUCT;
+
+BOOL WINAPI CryptUIDlgCertMgr(PCCRYPTUI_CERT_MGR_STRUCT pCryptUICertMgr);
+
+typedef BOOL (WINAPI *PFNCFILTERPROC)(PCCERT_CONTEXT pCertContext,
+ BOOL *pfInitialSelectedCert, void *pvCallbackData);
+
+typedef struct tagCRYPTUI_INITDIALOG_STRUCT
+{
+ LPARAM lParam;
+ PCCERT_CONTEXT pCertContext;
+} CRYPTUI_INITDIALOG_STRUCT, *PCRYPTUI_INITDIALOG_STRUCT;
+
+/* Values for CRYPTUI_VIEWCERTIFICATE_STRUCT's dwFlags */
+#define CRYPTUI_HIDE_HIERARCHYPAGE 0x00000001
+#define CRYPTUI_HIDE_DETAILPAGE 0x00000002
+#define CRYPTUI_DISABLE_EDITPROPERTIES 0x00000004
+#define CRYPTUI_ENABLE_EDITPROPERTIES 0x00000008
+#define CRYPTUI_DISABLE_ADDTOSTORE 0x00000010
+#define CRYPTUI_ENABLE_ADDTOSTORE 0x00000020
+#define CRYPTUI_ACCEPT_DECLINE_STYLE 0x00000040
+#define CRYPTUI_IGNORE_UNTRUSTED_ROOT 0x00000080
+#define CRYPTUI_DONT_OPEN_STORES 0x00000100
+#define CRYPTUI_ONLY_OPEN_ROOT_STORE 0x00000200
+#define CRYPTUI_WARN_UNTRUSTED_ROOT 0x00000400
+#define CRYPTUI_ENABLE_REVOCATION_CHECKING 0x00000800
+#define CRYPTUI_WARN_REMOTE_TRUST 0x00001000
+#define CRYPTUI_DISABLE_EXPORT 0x00002000
+#define CRYPTUI_ENABLE_REVOCATION_CHECK_END_CERT 0x00004000
+#define CRYPTUI_ENABLE_REVOCATION_CHECK_CHAIN 0x00008000
+#define CRYPTUI_ENABLE_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT CRYPTUI_ENABLE_REVOCATION_CHECKING
+#define CRYPTUI_DISABLE_HTMLLINK 0x00010000
+#define CRYPTUI_DISABLE_ISSUERSTATEMENT 0x00020000
+
+typedef struct tagCRYPTUI_VIEWCERTIFICATE_STRUCTA
+{
+ DWORD dwSize;
+ HWND hwndParent;
+ DWORD dwFlags;
+ LPCSTR szTitle;
+ PCCERT_CONTEXT pCertContext;
+ LPCSTR *rgszPurposes;
+ DWORD cPurposes;
+ union {
+ CRYPT_PROVIDER_DATA const *pCryptProviderData;
+ HANDLE hWVTStateData;
+ } DUMMYUNIONNAME;
+ BOOL fpCryptProviderDataTrustedUsage;
+ DWORD idxSigner;
+ DWORD idxCert;
+ BOOL fCounterSigner;
+ DWORD idxCounterSigner;
+ DWORD cStores;
+ HCERTSTORE *rghStores;
+ DWORD cPropSheetPages;
+ LPCPROPSHEETPAGEA rgPropSheetPages;
+ DWORD nStartPage;
+} CRYPTUI_VIEWCERTIFICATE_STRUCTA, *PCRYPTUI_VIEWCERTIFICATE_STRUCTA;
+typedef const CRYPTUI_VIEWCERTIFICATE_STRUCTA *PCCRYPTUI_VIEWCERTIFICATE_STRUCTA;
+
+typedef struct tagCRYPTUI_VIEWCERTIFICATE_STRUCTW
+{
+ DWORD dwSize;
+ HWND hwndParent;
+ DWORD dwFlags;
+ LPCWSTR szTitle;
+ PCCERT_CONTEXT pCertContext;
+ LPCSTR *rgszPurposes;
+ DWORD cPurposes;
+ union {
+ CRYPT_PROVIDER_DATA const *pCryptProviderData;
+ HANDLE hWVTStateData;
+ } DUMMYUNIONNAME;
+ BOOL fpCryptProviderDataTrustedUsage;
+ DWORD idxSigner;
+ DWORD idxCert;
+ BOOL fCounterSigner;
+ DWORD idxCounterSigner;
+ DWORD cStores;
+ HCERTSTORE *rghStores;
+ DWORD cPropSheetPages;
+ LPCPROPSHEETPAGEW rgPropSheetPages;
+ DWORD nStartPage;
+} CRYPTUI_VIEWCERTIFICATE_STRUCTW, *PCRYPTUI_VIEWCERTIFICATE_STRUCTW;
+typedef const CRYPTUI_VIEWCERTIFICATE_STRUCTW *PCCRYPTUI_VIEWCERTIFICATE_STRUCTW;
+
+#define CRYPTUI_VIEWCERTIFICATE_STRUCT WINELIB_NAME_AW(CRYPTUI_VIEWCERTIFICATE_STRUCT)
+#define PCCRYPTUI_VIEWCERTIFICATE_STRUCT WINELIB_NAME_AW(PCCRYPTUI_VIEWCERTIFICATE_STRUCT)
+
+BOOL WINAPI CryptUIDlgViewCertificateA(
+ PCCRYPTUI_VIEWCERTIFICATE_STRUCTA pCertViewInfo, BOOL *pfPropertiesChanged);
+BOOL WINAPI CryptUIDlgViewCertificateW(
+ PCCRYPTUI_VIEWCERTIFICATE_STRUCTW pCertViewInfo, BOOL *pfPropertiesChanged);
+#define CryptUIDlgViewCertificate WINELIB_NAME_AW(CryptUIDlgViewCertificate)
+
+typedef struct _CRYPTUI_WIZ_DIGITAL_SIGN_BLOB_INFO
+{
+ DWORD dwSize;
+ GUID *pGuidSubject;
+ DWORD cbBlob;
+ BYTE *pbBlob;
+ LPCWSTR pwszDisplayName;
+} CRYPTUI_WIZ_DIGITAL_SIGN_BLOB_INFO, *PCRYPTUI_WIZ_DIGITAL_SIGN_BLOB_INFO;
+typedef const CRYPTUI_WIZ_DIGITAL_SIGN_BLOB_INFO *
+ PCCRYPTUI_WIZ_DIGITAL_SIGN_BLOB_INFO;
+
+typedef struct _CRYPTUI_WIZ_DIGITAL_SIGN_STORE_INFO
+{
+ DWORD dwSize;
+ DWORD cCertStore;
+ HCERTSTORE *rghCertStore;
+ PFNCFILTERPROC pFilterCallback;
+ void *pvCallbackData;
+} CRYPTUI_WIZ_DIGITAL_SIGN_STORE_INFO, *PCRYPTUI_WIZ_DIGITAL_SIGN_STORE_INFO;
+typedef const CRYPTUI_WIZ_DIGITAL_SIGN_STORE_INFO *
+ PCCRYPTUI_WIZ_DIGITAL_SIGN_STORE_INFO;
+
+typedef struct _CRYPTUI_WIZ_DIGITAL_SIGN_PVK_FILE_INFO
+{
+ DWORD dwSize;
+ LPWSTR pwszPvkFileName;
+ LPWSTR pwszProvName;
+ DWORD dwProvType;
+} CRYPTUI_WIZ_DIGITAL_SIGN_PVK_FILE_INFO,
+ *PCRYPTUI_WIZ_DIGITAL_SIGN_PVK_FILE_INFO;
+typedef const CRYPTUI_WIZ_DIGITAL_SIGN_PVK_FILE_INFO *
+ PCCRYPTUI_WIZ_DIGITAL_SIGN_PVK_FILE_INFO;
+
+typedef struct _CRYPTUI_WIZ_DIGITAL_SIGN_CERT_PVK_INFO
+{
+ DWORD dwSize;
+ LPWSTR pwszSigningCertFileName;
+ DWORD dwPvkChoice;
+ union {
+ PCCRYPTUI_WIZ_DIGITAL_SIGN_PVK_FILE_INFO pPvkFileInfo;
+ PCRYPT_KEY_PROV_INFO pPvkProvInfo;
+ } DUMMYUNIONNAME;
+} CRYPTUI_WIZ_DIGITAL_SIGN_CERT_PVK_INFO,
+ *PCRYPTUI_WIZ_DIGITAL_SIGN_CERT_PVK_INFO;
+typedef const CRYPTUI_WIZ_DIGITAL_SIGN_CERT_PVK_INFO *
+ PCCRYPTUI_WIZ_DIGITAL_SIGN_CERT_PVK_INFO;
+
+typedef struct _CRYPTUI_WIZ_DIGITAL_SIGN_EXTENDED_INFO
+{
+ DWORD dwSize;
+ DWORD dwAttrFlags;
+ LPCWSTR pwszDescription;
+ LPCWSTR pwszMoreInfoLocation;
+ LPCSTR pszHashAlg;
+ LPCWSTR pwszSigningCertDisplayString;
+ HCERTSTORE hAdditionalCertStore;
+ PCRYPT_ATTRIBUTES psAuthenticated;
+ PCRYPT_ATTRIBUTES psUnauthenticated;
+} CRYPTUI_WIZ_DIGITAL_SIGN_EXTENDED_INFO,
+ *PCRYPTUI_WIZ_DIGITAL_SIGN_EXTENDED_INFO;
+typedef const CRYPTUI_WIZ_DIGITAL_SIGN_EXTENDED_INFO *
+ PCCRYPTUI_WIZ_DIGITAL_SIGN_EXTENDED_INFO;
+
+typedef struct _CRYPTUI_WIZ_DIGITAL_SIGN_INFO
+{
+ DWORD dwSize;
+ DWORD dwSubjectChoice;
+ union {
+ LPCWSTR pwszFileName;
+ PCCRYPTUI_WIZ_DIGITAL_SIGN_BLOB_INFO pSignBlobInfo;
+ } DUMMYUNIONNAME1;
+ DWORD dwSigningCertChoice;
+ union {
+ PCCERT_CONTEXT pSigningCertContext;
+ PCCRYPTUI_WIZ_DIGITAL_SIGN_STORE_INFO pSigningCertStore;
+ PCCRYPTUI_WIZ_DIGITAL_SIGN_CERT_PVK_INFO pSigningCertPvkInfo;
+ } DUMMYUNIONNAME2;
+ LPCWSTR pwszTimestampURL;
+ DWORD dwAdditionalCertChoice;
+ PCCRYPTUI_WIZ_DIGITAL_SIGN_EXTENDED_INFO pSignExtInfo;
+} CRYPTUI_WIZ_DIGITAL_SIGN_INFO, *PCRYPTUI_WIZ_DIGITAL_SIGN_INFO;
+typedef const CRYPTUI_WIZ_DIGITAL_SIGN_INFO *PCCRYPTUI_WIZ_DIGITAL_SIGN_INFO;
+
+typedef struct _CRYPTUI_WIZ_DIGITAL_SIGN_CONTEXT
+{
+ DWORD dwSize;
+ DWORD cbBlob;
+ BYTE *pbBlob;
+} CRYPTUI_WIZ_DIGITAL_SIGN_CONTEXT, *PCRYPTUI_WIZ_DIGITAL_SIGN_CONTEXT;
+typedef const CRYPTUI_WIZ_DIGITAL_SIGN_CONTEXT *PCCRYPTUI_WIZ_DIGITAL_SIGN_CONTEXT;
+
+/* Values for CryptUIWizDigitalSign's dwFlags */
+#define CRYPTUI_WIZ_NO_UI 0x00000001
+#define CRYPTUI_WIZ_DIGITAL_SIGN_EXCLUDE_PAGE_HASHES 0x00000002
+#define CRYPTUI_WIZ_DIGITAL_SIGN_INCLUDE_PAGE_HASHES 0x00000004
+
+BOOL WINAPI CryptUIWizDigitalSign(DWORD dwFlags, HWND hwndParent,
+ LPCWSTR pwszWizardTitle, PCCRYPTUI_WIZ_DIGITAL_SIGN_INFO pDigitalSignInfo,
+ PCCRYPTUI_WIZ_DIGITAL_SIGN_CONTEXT *ppSignContext);
+
+BOOL WINAPI CryptUIWizFreeDigitalSignContext(
+ PCRYPTUI_WIZ_DIGITAL_SIGN_CONTEXT pSignContext);
+
+/* Values for CRYPTUI_WIZ_EXPORT_INFO's dwSubjectChoice */
+#define CRYPTUI_WIZ_EXPORT_CERT_CONTEXT 1
+#define CRYPTUI_WIZ_EXPORT_CTL_CONTEXT 2
+#define CRYPTUI_WIZ_EXPORT_CRL_CONTEXT 3
+#define CRYPTUI_WIZ_EXPORT_CERT_STORE 4
+#define CRYPTUI_WIZ_EXPORT_CERT_STORE_CERTIFICATES_ONLY 5
+#define CRYPTUI_WIZ_EXPORT_FORMAT_CRL 6
+#define CRYPTUI_WIZ_EXPORT_FORMAT_CTL 7
+
+typedef struct _CRYPTUI_WIZ_EXPORT_INFO
+{
+ DWORD dwSize;
+ LPCWSTR pwszExportFileName;
+ DWORD dwSubjectChoice;
+ union {
+ PCCERT_CONTEXT pCertContext;
+ PCCTL_CONTEXT pCTLContext;
+ PCCRL_CONTEXT pCRLContext;
+ HCERTSTORE hCertStore;
+ } DUMMYUNIONNAME;
+ DWORD cStores;
+ HCERTSTORE *rghStores;
+} CRYPTUI_WIZ_EXPORT_INFO, *PCRYPTUI_WIZ_EXPORT_INFO;
+typedef const CRYPTUI_WIZ_EXPORT_INFO *PCCRYPTUI_WIZ_EXPORT_INFO;
+
+/* Values for CRYPTUI_WIZ_EXPORT_CERTCONTEXT_INFO's dwExportFormat */
+#define CRYPTUI_WIZ_EXPORT_FORMAT_DER 1
+#define CRYPTUI_WIZ_EXPORT_FORMAT_PFX 2
+#define CRYPTUI_WIZ_EXPORT_FORMAT_PKCS7 3
+#define CRYPTUI_WIZ_EXPORT_FORMAT_BASE64 4
+#define CRYPTUI_WIZ_EXPORT_FORMAT_SERIALIZED_CERT_STORE 5
+
+typedef struct _CRYPTUI_WIZ_EXPORT_CERTCONTEXT_INFO
+{
+ DWORD dwSize;
+ DWORD dwExportFormat;
+ BOOL fExportChain;
+ BOOL fExportPrivateKeys;
+ LPCWSTR pwszPassword;
+ BOOL fStrongEncryption;
+} CRYPTUI_WIZ_EXPORT_CERTCONTEXT_INFO, *PCRYPTUI_WIZ_EXPORT_CERTCONTEXT_INFO;
+typedef const CRYPTUI_WIZ_EXPORT_CERTCONTEXT_INFO *
+ PCCRYPTUI_WIZ_EXPORT_CERTCONTEXT_INFO;
+
+BOOL WINAPI CryptUIWizExport(DWORD dwFlags, HWND hwndParent,
+ LPCWSTR pwszWizardTitle, PCCRYPTUI_WIZ_EXPORT_INFO pExportInfo, void *pvoid);
+
+/* Values for CRYPTUI_WIZ_IMPORT_SRC_INFO's dwSubjectChoice */
+#define CRYPTUI_WIZ_IMPORT_SUBJECT_FILE 1
+#define CRYPTUI_WIZ_IMPORT_SUBJECT_CERT_CONTEXT 2
+#define CRYPTUI_WIZ_IMPORT_SUBJECT_CTL_CONTEXT 3
+#define CRYPTUI_WIZ_IMPORT_SUBJECT_CRL_CONTEXT 4
+#define CRYPTUI_WIZ_IMPORT_SUBJECT_CERT_STORE 5
+
+typedef struct _CRYPTUI_WIZ_IMPORT_SUBJECT_INFO
+{
+ DWORD dwSize;
+ DWORD dwSubjectChoice;
+ union {
+ LPCWSTR pwszFileName;
+ PCCERT_CONTEXT pCertContext;
+ PCCTL_CONTEXT pCTLContext;
+ PCCRL_CONTEXT pCRLContext;
+ HCERTSTORE hCertStore;
+ } DUMMYUNIONNAME;
+ DWORD dwFlags;
+ LPCWSTR pwszPassword;
+} CRYPTUI_WIZ_IMPORT_SRC_INFO, *PCRYPTUI_WIZ_IMPORT_SRC_INFO;
+typedef const CRYPTUI_WIZ_IMPORT_SRC_INFO *PCCRYPTUI_WIZ_IMPORT_SRC_INFO;
+
+/* Values for CryptUIWizImport's dwFlags */
+#define CRYPTUI_WIZ_IMPORT_NO_CHANGE_DEST_STORE 0x00010000
+#define CRYPTUI_WIZ_IMPORT_ALLOW_CERT 0x00020000
+#define CRYPTUI_WIZ_IMPORT_ALLOW_CRL 0x00040000
+#define CRYPTUI_WIZ_IMPORT_ALLOW_CTL 0x00080000
+#define CRYPTUI_WIZ_IMPORT_TO_LOCALMACHINE 0x00100000
+#define CRYPTUI_WIZ_IMPORT_TO_CURRENTUSER 0x00200000
+#define CRYPTUI_WIZ_IMPORT_REMOTE_DEST_STORE 0x00400000
+
+BOOL WINAPI CryptUIWizImport(DWORD dwFlags, HWND hwndParent,
+ LPCWSTR pwszWizardTitle, PCCRYPTUI_WIZ_IMPORT_SRC_INFO pImportSrc,
+ HCERTSTORE hDestCertStore);
+
+/* Definitions missing from PSDK's cryptuiapi.h, but documented on MSDN. */
+typedef BOOL (WINAPI *PFNCCERTDISPLAYPROC)(PCCERT_CONTEXT pCertContext,
+ HWND hWndSelCertDlg, void *pvCallbackData);
+
+/* Values for CRYPTUI_SELECTCERTIFICATE_STRUCT's dwFlags */
+#define CRYPTUI_SELECTCERT_MULTISELECT 0x00000001
+
+typedef struct _CRYPTUI_SELECTCERTIFICATE_STRUCTA
+{
+ DWORD dwSize;
+ HWND hwndParent;
+ DWORD dwFlags;
+ LPCSTR szTitle;
+ DWORD dwDontUseColumn;
+ LPCSTR szDisplayString;
+ PFNCFILTERPROC pFilterCallback;
+ PFNCCERTDISPLAYPROC pDisplayCallback;
+ void *pvCallbackData;
+ DWORD cDisplayStores;
+ HCERTSTORE *rghDisplayStores;
+ DWORD cStores;
+ HCERTSTORE *rghStores;
+ DWORD cPropSheetPages;
+ LPCPROPSHEETPAGEA rgPropSheetPages;
+ HCERTSTORE hSelectedCertStore;
+} CRYPTUI_SELECTCERTIFICATE_STRUCTA, *PCRYPTUI_SELECTCERTIFICATE_STRUCTA;
+typedef const CRYPTUI_SELECTCERTIFICATE_STRUCTA *
+ PCCRYPTUI_SELECTCERTIFICATE_STRUCTA;
+
+typedef struct _CRYPTUI_SELECTCERTIFICATE_STRUCTW
+{
+ DWORD dwSize;
+ HWND hwndParent;
+ DWORD dwFlags;
+ LPCWSTR szTitle;
+ DWORD dwDontUseColumn;
+ LPCWSTR szDisplayString;
+ PFNCFILTERPROC pFilterCallback;
+ PFNCCERTDISPLAYPROC pDisplayCallback;
+ void *pvCallbackData;
+ DWORD cDisplayStores;
+ HCERTSTORE *rghDisplayStores;
+ DWORD cStores;
+ HCERTSTORE *rghStores;
+ DWORD cPropSheetPages;
+ LPCPROPSHEETPAGEW rgPropSheetPages;
+ HCERTSTORE hSelectedCertStore;
+} CRYPTUI_SELECTCERTIFICATE_STRUCTW, *PCRYPTUI_SELECTCERTIFICATE_STRUCTW;
+typedef const CRYPTUI_SELECTCERTIFICATE_STRUCTW *
+ PCCRYPTUI_SELECTCERTIFICATE_STRUCTW;
+
+PCCERT_CONTEXT WINAPI CryptUIDlgSelectCertificateA(
+ PCCRYPTUI_SELECTCERTIFICATE_STRUCTA pcsc);
+PCCERT_CONTEXT WINAPI CryptUIDlgSelectCertificateW(
+ PCCRYPTUI_SELECTCERTIFICATE_STRUCTW pcsc);
+
+typedef struct tagCRYPTUI_VIEWSIGNERINFO_STRUCTA
+{
+ DWORD dwSize;
+ HWND hwndParent;
+ DWORD dwFlags;
+ LPCSTR szTitle;
+ CMSG_SIGNER_INFO *pSignerInfo;
+ HCRYPTMSG hMsg;
+ LPCSTR pszOID;
+ DWORD_PTR dwReserved;
+ DWORD cStores;
+ HCERTSTORE *rghStores;
+ DWORD cPropSheetPages;
+ LPCPROPSHEETPAGEA rgPropSheetPages;
+} CRYPTUI_VIEWSIGNERINFO_STRUCTA, *PCRYPTUI_VIEWSIGNERINFO_STRUCTA;
+
+typedef struct tagCRYPTUI_VIEWSIGNERINFO_STRUCTW
+{
+ DWORD dwSize;
+ HWND hwndParent;
+ DWORD dwFlags;
+ LPCWSTR szTitle;
+ CMSG_SIGNER_INFO *pSignerInfo;
+ HCRYPTMSG hMsg;
+ LPCSTR pszOID;
+ DWORD_PTR dwReserved;
+ DWORD cStores;
+ HCERTSTORE *rghStores;
+ DWORD cPropSheetPages;
+ LPCPROPSHEETPAGEW rgPropSheetPages;
+} CRYPTUI_VIEWSIGNERINFO_STRUCTW, *PCRYPTUI_VIEWSIGNERINFO_STRUCTW;
+
+BOOL WINAPI CryptUIDlgViewSignerInfoA(CRYPTUI_VIEWSIGNERINFO_STRUCTA *pcvsi);
+BOOL WINAPI CryptUIDlgViewSignerInfoW(CRYPTUI_VIEWSIGNERINFO_STRUCTW *pcvsi);
+
+#include <poppack.h>
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif