123 lines
3.5 KiB
C
123 lines
3.5 KiB
C
//--------------------------------------------------------------
|
|
// Copyright (C) Microsoft Corporation, 1996 - 1999
|
|
//
|
|
// File: mgrcert.h
|
|
//
|
|
// Contents: The private include file for the dialogue of managing
|
|
// certificates
|
|
//
|
|
// History: Feb-26-98 xiaohs created
|
|
//
|
|
//--------------------------------------------------------------
|
|
#ifndef MGRCERT_H
|
|
#define MGRCERT_H
|
|
|
|
#include "dragdrop.h"
|
|
|
|
//used for the context sensitive help
|
|
#include "secauth.h"
|
|
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
|
|
//**************************************************************************
|
|
//
|
|
// The private data used for the cert management dialogue
|
|
//
|
|
//**************************************************************************
|
|
|
|
//constatns
|
|
|
|
#define DIALOGUE_OK 1
|
|
#define DIALOGUE_CANCEL 0
|
|
|
|
#define ALL_SELECTED_CAN_DELETE 1
|
|
#define ALL_SELECTED_DELETE 2
|
|
#define ALL_SELECTED_COPY 3
|
|
|
|
|
|
#define CERTMGR_MAX_FILE_NAME 88
|
|
|
|
//the registry keys to persist the advanced options
|
|
#define WSZCertMgrExportRegLocation L"Software\\Microsoft\\Cryptography\\UI\\Certmgr\\ExportFormat"
|
|
#define WSZCertMgrPurposeRegLocation L"Software\\Microsoft\\Cryptography\\UI\\Certmgr\\Purpose"
|
|
|
|
#define WSZCertMgrExportName L"Export"
|
|
#define SZCertMgrPurposeName "Purpose"
|
|
|
|
//-----------------------------------------------------------------------
|
|
// PURPOSE_OID_INFO
|
|
//
|
|
//------------------------------------------------------------------------
|
|
typedef struct _PURPOSE_OID_INFO
|
|
{
|
|
LPWSTR pwszName;
|
|
BOOL fSelected;
|
|
LPSTR pszOID;
|
|
}PURPOSE_OID_INFO;
|
|
|
|
|
|
//-----------------------------------------------------------------------
|
|
// PURPOSE_OID_CALL_BACK
|
|
//
|
|
//------------------------------------------------------------------------
|
|
typedef struct _PURPOSE_OID_CALL_BACK
|
|
{
|
|
DWORD *pdwOIDCount;
|
|
PURPOSE_OID_INFO **pprgOIDInfo;
|
|
}PURPOSE_OID_CALL_BACK;
|
|
|
|
|
|
//-----------------------------------------------------------------------
|
|
// CERT_MGR_INFO
|
|
//
|
|
//
|
|
// This struct contains everything you will ever need to call
|
|
// the cert mgr dialogue. This struct is private to the dll
|
|
//------------------------------------------------------------------------
|
|
typedef struct _CERT_MGR_INFO
|
|
{
|
|
PCCRYPTUI_CERT_MGR_STRUCT pCertMgrStruct;
|
|
DWORD dwCertCount;
|
|
PCCERT_CONTEXT *prgCertContext;
|
|
DWORD dwOIDInfo;
|
|
PURPOSE_OID_INFO *rgOIDInfo;
|
|
DWORD dwExportFormat;
|
|
BOOL fExportChain;
|
|
BOOL fAdvOIDChanged;
|
|
DWORD rgdwSortParam[5];
|
|
int iColumn;
|
|
IDropTarget *pIDropTarget;
|
|
}CERT_MGR_INFO;
|
|
|
|
|
|
|
|
//function prototypes
|
|
BOOL FreeUsageOID(DWORD dwOIDInfo,
|
|
PURPOSE_OID_INFO *pOIDInfo);
|
|
|
|
void FreeCerts(CERT_MGR_INFO *pCertMgrInfo);
|
|
|
|
HRESULT CCertMgrDropTarget_CreateInstance(HWND hwndDlg,
|
|
CERT_MGR_INFO *pCertMgrInfo,
|
|
IDropTarget **ppIDropTarget);
|
|
|
|
void RefreshCertListView(HWND hwndDlg,
|
|
CERT_MGR_INFO *pCertMgrInfo);
|
|
|
|
|
|
void SaveAdvValueToReg(CERT_MGR_INFO *pCertMgrInfo);
|
|
|
|
|
|
#ifdef __cplusplus
|
|
} // Balance extern "C" above
|
|
#endif
|
|
|
|
|
|
#endif //MGRCERT_H
|
|
|
|
|