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