⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pgpkeysx.h

📁 PGP8.0源码 请认真阅读您的文件包然后写出其具体功能
💻 H
字号:
/*____________________________________________________________________________
	Copyright (C) 2002 PGP Corporation
	All rights reserved.

	PGPKeysx.h - internal include file for PGPkeys project

	$Id: PGPkeysx.h,v 1.54 2002/10/31 04:13:36 pbj Exp $
____________________________________________________________________________*/
#ifndef Included_PGPkeysx_h	/* [ */
#define Included_PGPkeysx_h

#define WIN32_LEAN_AND_MEAN
#define _WIN32_WINNT 0x0400

// Win32 header files
#include <windows.h>
#include <commctrl.h>
#include <ole2.h>
#include <shellapi.h>

// PGP build flags
#include "pgpBuild.h"

// PGP SDK header files
#include "pgpPubTypes.h"
#include "pgpErrors.h"
#include "pgpUtilities.h"
#include "pgpMem.h"
#include "pgpKeys.h"
#include "pgpClientPrefs.h"
#include "pgpKeyServerPrefs.h"

// PGP client header files
#include "PGPHelp.h"
#include "pgpWin32Errors.h"
#include "PGPgm.h"
#include "pgpClientLib.h"
#include "pgpLnLib.h"
#include "TreeList.h"
#include "resource.h"

#define MAXSHEETS	16		// maximum number of simultaneous dialogs

#define IDC_STATUSBAR			0x3333
#define IDC_TOOLBAR				0x3334
#define IDM_DOMAINKEYSERVERX	41000
#define IDM_TOOLBARSENDTOSERVER	42000
#define IDM_PDAOPERATION		43000

// macro definitions
#define CKERR			if (IsPGPError (err)) goto done

// constant definitions
#define DEFAULTWINDOWWIDTH		520
#define DEFAULTWINDOWHEIGHT		300
#define DEFAULTWINDOWX			85
#define DEFAULTWINDOWY			90
#define	DEFAULTGROUPSHOW		FALSE
#define DEFAULTGROUPPERCENT		30
#define	DEFAULTTOOLHEIGHT		28
#define TOOLBARXOFFSET			4
#define TOOLBARYOFFSET			4

#define KM_NOACTION				0
#define KM_COPY					1
#define KM_PASTE				2
#define KM_DELETE				3
#define KM_SELECTALL			4
#define KM_COLLAPSEALL			5
#define KM_COLLAPSESEL			6
#define KM_EXPANDALL			7
#define KM_EXPANDSEL			8
#define KM_CERTIFY				9
#define KM_ENABLE				10
#define KM_DISABLE				11
#define KM_ADDUSERID			12
#define KM_REVOKE				13
#define KM_SETASDEFAULT			14
#define KM_SETASPRIMARY			15
#define KM_IMPORT				16
#define KM_EXPORT				17
#define KM_PROPERTIES			18
#define KM_SENDTOSERVER			19
#define KM_GETFROMSERVER		20
#define KM_DELETEFROMSERVER		21
#define KM_DISABLEONSERVER		22
#define KM_RETRIEVECERTIFICATE	23
#define KM_ADDCERTIFICATE		24
#define KM_REVERIFYSIGS			25
#define KM_SPLITKEY				26
#define KM_ADDPHOTOID			27
#define KM_ADDREVOKER			28
#define KM_ADDTOMAIN			29
#define KM_UNSELECTALL			30
#define KM_RECONSTRUCTKEY		31
#define KM_SENDTORECONSERVER	32
#define KM_SENDTOTOKEN			33
#define KM_SENDVIAEMAIL			34

#define PK_M_RELOADKEYRINGS		WM_APP+98
#define PK_M_KEYCREATEDONE		WM_APP+97
#define PK_M_CHANGEPHASE		WM_APP+96
#define PK_M_RESIZE				WM_APP+95
#define PK_M_REFRESHKEYRINGS	WM_APP+94
#define PK_M_NEWKEYRINGS		WM_APP+93
#define PK_M_CLOSEWINDOW		WM_APP+92

#define PK_EXPORTEDKEYFILE		0
#define PK_EXPORTEDGROUPFILE	1

// flags
#define	PK_MAINWINDOW			0x0001
#define PK_FILEWINDOW			0x0002
#define PK_SEARCHWINDOW			0x0004
#define PK_PDAWINDOW			0x0008
#define PK_KEYWINDOW			(PK_MAINWINDOW|PK_FILEWINDOW|PK_PDAWINDOW)

#define PK_IDROP_KEYLIST		0x0001
#define PK_IDROP_GROUPLIST		0x0002
#define PK_IDROP_SPLITLIST		0x0004

#define PK_MOD_INDEX_0			0x0001

#define PK_PDAWINDOWOP			0x0001


// typedefs
typedef struct {
	HWND				hwndMain;
	UINT				uFlags;
	BOOL				bReadOnly;
	BOOL				bLocalKeySet;
	UINT				uKeySelectionFlags;
	UINT				uBackupFlags;
	HKEYLIST			hKL;
	PGPclKeyListConfig	klConfig;
	HWND				hwndTreeList;
	HWND				hwndToolBar;
	HWND				hwndSearchControl;
	LPDROPTARGET		pDropTarget;
	VOID*				pSplitKeyDlgList;
	PGPKeySetRef		keysetDisp;
	PGPKeyDBRef			keydbMain;
	CHAR				szFilePub[MAX_PATH];
	CHAR				szFileSec[MAX_PATH];

	HMENU				hmenuKeyMan;
	HMENU				hmenuKeyserver;
	INT					iToolHeight;
	INT					iKeysHeight;

	PGPclGroupFile*		pGroupFile;
	BOOL				bGroupsVisible;
	BOOL				bGroupsFocused;
	HGROUPMAN			hGM;
	GMCONFIG			gmConfig;
	UINT				uGroupSelectionFlags;
	HWND				hwndTreeListGroups;
	INT					iGroupsHeight;
	INT					iGroupsPercent;
	BOOL				bGrabEnabled;
	BOOL				bGrabbed;
	HCURSOR				hCursorOld;
	LPDROPTARGET		pDropTargetGroups;

	BOOL				bSearchInProgress;
	INT					iStatusValue;
	INT					iStatusPrevValue;
	INT					iStatusDirection;

	INT					iTLSstatus;
	CHAR				szTLSserver[256];
	PGPKeyDBRef			keydbAuth;
	PGPKeyDBObjRef		keyAuth;
	PGPtlsCipherSuiteNum	tlsCipher;
} PGPKEYSSTRUCT, *PPGPKEYSSTRUCT;

typedef struct _SHAREHOLDERSTRUCT {
	BOOL						bPublicKey;
	PGPKeyID					keyid;
	CHAR						szUserID[kPGPMaxUserIDSize];
	LPSTR						pszPassphrase;
	UINT						uShares;
} SHAREHOLDERSTRUCT, *PSHAREHOLDERSTRUCT;

typedef struct _SPLITKEYSTRUCT {
	struct _SPLITKEYSTRUCT*		next;
	struct _SPLITKEYSTRUCT**	pHeadOfList;
	PPGPKEYSSTRUCT				ppks;
	HWND						hwndDlg;
	HWND						hwndList;
	LPDROPTARGET				pDropTarget;
	PGPKeyID					keyidToSplit;
	CHAR						szUserIDToSplit[kPGPMaxUserIDSize];
	UINT						uTotalShares;
	UINT						uThreshold;
	INT							iIndexCurrent;
	PSHAREHOLDERSTRUCT			pshsCurrent;
	HFONT						hUTF8Font;
} SPLITKEYSTRUCT, *PSPLITKEYSTRUCT;

typedef struct {
	HMODULE			hmod;
	BOOL			bKeyring;
	UINT			uOp;
	HWND			hwnd;
	UINT			uPlatform;
	UINT			uVersion;
	UINT			uFlags;
} PGPPDASTRUCT;

// PGPkeys.c
VOID PKAddRemoveWindowList (HWND hwnd, BOOL bAdd, BOOL bDlg, BOOL bProperties);
VOID PKEnableWindowList (BOOL bEnabled);
VOID PKPostMessageWindowList (UINT uMsg, WPARAM wParam, LPARAM lParam);
VOID PKSendMessageWindowList (UINT uMsg, WPARAM wParam, LPARAM lParam);

// PKAddID.c
BOOL PKAddPhotoToKey (PGPKEYSSTRUCT* ppks);
BOOL PKAddUserToKey (PGPKEYSSTRUCT* ppks);

// PKIDataObject.cpp
LPDATAOBJECT PKCreateDataObject (PPGPKEYSSTRUCT ppks, LPSTR szName);
BOOL PKOKToDeleteDataObject (LPDATAOBJECT pDataObject);

// PKIDropSource.cpp
LPDROPSOURCE PKCreateDropSource (PPGPKEYSSTRUCT ppks,
		HWND hwnd, HWND hwndTree, BOOL bRenderAll);

// PKIDropTarget.cpp
LPDROPTARGET PKCreateDropTarget (HWND hwnd,
		UINT uWindowType, VOID* pUserStruct);
VOID PKReleaseDropTarget (LPDROPTARGET pDropTarget);
VOID PKEnableDropTarget (LPDROPTARGET pDropTarget, BOOL bEnable);

// PKKeyIO.c
BOOL PKInputFile (PGPKEYSSTRUCT* ppks, HDROP hDrop);
BOOL PKExportKeys (PGPKEYSSTRUCT* ppks, LPSTR szFile);
BOOL PKCopyKeys (PGPKEYSSTRUCT* ppks, HANDLE* phMem);
BOOL PKDataToPaste (VOID);
BOOL PKPasteKeys (PGPKEYSSTRUCT* ppks);
BOOL PKDragAndDrop (PGPKEYSSTRUCT* ppks);
BOOL PKSendViaEmail (PGPKEYSSTRUCT* ppks);

// PKKeyOps.c
BOOL PKEnableKey (PGPKEYSSTRUCT* ppks);
BOOL PKDisableKey (PGPKEYSSTRUCT* ppks);
BOOL PKReverifySigs (PGPKEYSSTRUCT* ppks);
BOOL PKSetPrimaryUserID (PGPKEYSSTRUCT* ppks);
BOOL PKSetDefaultKey (PGPKEYSSTRUCT* ppks);
BOOL PKCertifyKeyOrUserID (PGPKEYSSTRUCT* ppks);
BOOL PKDeleteObject (PGPKEYSSTRUCT* ppks);
BOOL PKAddSelectedToMain (PGPKEYSSTRUCT* ppks);

// PKMenu.c
VOID PKInitMenuKeyMan (HMENU hmenu, UINT uFlags);
VOID PKSetMainMenu (PGPKEYSSTRUCT*	ppks);
VOID PKContextMenu (PGPKEYSSTRUCT*	ppks, HWND hwnd, INT x, INT y);
VOID PKGetServerActionFromID (
		UINT uID, PGPKeyServerEntry* pkeyserver, UINT* uAction);
VOID PKToolbarKeyserverMenu (PGPKEYSSTRUCT* ppks, HWND hwnd, LPRECT lprect);
BOOL PKIsActionEnabled (PGPKEYSSTRUCT* ppks, ULONG	ulAction);
PGPError PKPerformAction (PGPKEYSSTRUCT* ppks, ULONG ulAction);
BOOL PKIsDeleteEnabled (PGPKEYSSTRUCT* ppks);

// PKMisc.c
VOID* pkAlloc (LONG size);
VOID pkFree (VOID* p);
BOOL PKGetPrivatePrefData (DWORD* show, INT* X, INT* Y,
		INT* Width, INT* Height, BOOL* bShowGroups, INT* iGroupsPercent,
		INT* iToolHeight);
BOOL PKGetColWidthsFromRegistry (WORD * widths, INT nWidths);
BOOL PKGetSortOrderFromRegistry (LONG * field);
VOID PKReloadPGPPreferences (PGPKEYSSTRUCT* ppks);
BOOL PKPGPPreferences (PGPKEYSSTRUCT* ppks, HWND hwnd, INT iPage);
VOID PKSetPrivatePrefData (HWND hWnd, BOOL bGroupShow,
		INT iGroupPercent, INT iToolHeight);
BOOL PKAutoUpdateIntroducers (HWND hwnd, PGPKEYSSTRUCT* ppks, BOOL bForce);
BOOL PKUpdateCARevocations (HWND hwnd, HKEYLIST kKL, PGPKeyDBRef keydb);
BOOL PKScheduleNextCRLUpdate (PGPContextRef context, PGPKeyDBRef keydb);
BOOL PKIsThisTheOnlyUserID (PGPKeyDBObjRef userid);
BOOL PKIsThisThePrimaryUserID (PGPKeyDBObjRef userid);
BOOL PKCheckForNonTokenSecretKeys (PGPKeySetRef keyset);
BOOL PKExistingPhotoID (PGPKeyDBObjRef key);
BOOL PKFileIsForImporting (LPSTR pszFile, 
		PGPUInt32* puType, PGPInputFormat* pformat);

// PKMsgPrc.c
LONG APIENTRY PGPkeysWndProc (HWND hwnd,
		UINT msg, WPARAM wParam, LPARAM lParam);
BOOL PKNewWindowForFile (HWND hwnd,
		PGPKEYSSTRUCT* ppks, BOOL bNew, LPSTR pszPath);

// PKProps.c
BOOL PKObjectProperties (PPGPKEYSSTRUCT ppks);
VOID PKUpdateAllObjectPropertiesWindows (PPGPKEYSSTRUCT ppks);
VOID PKDeletePropertiesWindow (HWND hwnd);
VOID PKDeletePropertiesWindowForObject (PGPKeyDBObjRef obj);
VOID PKDeleteAllObjectPropertiesWindows (PPGPKEYSSTRUCT ppks);
VOID PKEnableAllObjectPropertiesWindows (PPGPKEYSSTRUCT ppks,
		BOOL bEnable);
HWND PKSingleObjectProperties (PPGPKEYSSTRUCT ppks, PGPKeyDBObjRef obj,
		PGPUInt32 uObjectType);
VOID PKRegisterPropertiesWindow (HWND hwndParent, HWND hwndChild);

// PKReconstruct.c
BOOL PKReconstructKey (PGPKEYSSTRUCT* ppks);
BOOL PKSendToReconServer (PGPKEYSSTRUCT* ppks);

// PKRevoke.c
BOOL PKRevokeKey (PGPKEYSSTRUCT* ppks);
BOOL PKRevokeCert (PGPKEYSSTRUCT* ppks);
BOOL PKAddRevoker (PGPKEYSSTRUCT* ppks);

// PKSend.c
INT PKSendShares (PGPContextRef context, HWND hwnd, PGPKeySetRef keyset);

// PKServer.c
BOOL PKSendToServer (PGPKEYSSTRUCT*	ppks, UINT uServerFlags);
BOOL PKGetFromServer (PGPKEYSSTRUCT* ppks);
BOOL PKGetFromServerInternal (PGPKEYSSTRUCT* ppks,
		BOOL bQueryAdd, BOOL bWarn, BOOL bGetSigners);
BOOL PKDeleteFromServer (PGPKEYSSTRUCT*	ppks);
BOOL PKDisableOnServer (PGPKEYSSTRUCT* ppks);
BOOL PKAddCertificate (PGPKEYSSTRUCT* ppks);
BOOL PKRetrieveCertificate (PGPKEYSSTRUCT* ppks);
BOOL PKUpdateConfigurationFromServer (HWND hwnd, PGPKeyDBRef keydb);

// PKSplit.c
BOOL PKSplitKey (PPGPKEYSSTRUCT ppks);
BOOL PKExistSplitKeyDialog (PPGPKEYSSTRUCT ppks);
BOOL PKSplitDropKeys (PSPLITKEYSTRUCT psks, HANDLE hMem);

// PKToken.c
BOOL PKTokenProperties (PGPKEYSSTRUCT* ppks);
BOOL PKSendToToken (PGPKEYSSTRUCT* ppks);
VOID PKReloadTokenProperties (BOOL bLoadKeys);

// PKTools.c
HWND PKCreateToolbar (HWND hwndParent);
VOID PKDestroyToolbar (HWND hwndToolbar);
VOID PKGetToolbarTooltipText (LPTOOLTIPTEXT lpttt);
VOID PKSetToolbarButtonStates (PPGPKEYSSTRUCT ppks);
VOID PKGetSendToServerButtonRect (HWND hwndToolbar, LPRECT lprect);

// PKUser.c
LRESULT PKMessageBox (HWND hwnd, INT iCaption, INT iMessage, ULONG flags);
BOOL PKBackupWarn (HWND hwnd, BOOL bClosingPGPkeys, BOOL* pbBackup);
BOOL PKUserBackup (HWND hwnd, PGPKeyDBRef keydb);
VOID PKAutoBackup (PPGPKEYSSTRUCT ppks);
VOID PKHelpAbout (HWND hwnd);
VOID PKReadOnlyWarning (HWND hwnd);
VOID PKWipeEditBox (HWND hwnd, UINT uID);
BOOL PKSplitKeyWarn (HWND hwnd);
BOOL PKConstructUserID (HWND hwnd,
		UINT uNameIDC, UINT uAddrIDC, LPSTR* pszUserID);
VOID PKCreateKey (HWND hwnd, PGPKeyDBRef keydb);
VOID PKKeyDBOpened (PPGPKEYSSTRUCT ppks);
VOID PKKeyDBModified (PPGPKEYSSTRUCT ppks, UINT uModIndex);

#endif /* ] Included_PGPkeysx_h */


/*__Editor_settings____

	Local Variables:
	tab-width: 4
	End:
	vi: ts=4 sw=4
	vim: si
_____________________*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -