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