📄 pgpsdkuilib.c
字号:
/*____________________________________________________________________________
Copyright (C) 2002 PGP Corporation
All rights reserved.
$Id: pgpSDKUILib.c,v 1.7 2002/08/06 20:11:13 dallen Exp $
____________________________________________________________________________*/
#include "pgpErrors.h"
#include "pgpMem.h"
#include "pgpSDKPriv.h"
#include "pgpSDKUILibPriv.h"
#include "pgpUtilities.h"
#if PGP_WIN32
#include <windows.h>
HINSTANCE gPGPsdkUILibInst;
#endif
static PGPUInt32 sInitedCount = 0;
static PGPBoolean sInitializedSDK = FALSE;
static PGPBoolean sInitializedNetworkLib = FALSE;
#if PGP_WIN32
static PGPBoolean sResourceDLL = FALSE;
#endif
PGPError
PGPsdkUILibInit(PGPFlags options)
{
PGPError err = kPGPError_NoErr;
(void) options;
if( sInitedCount == 0 )
{
/* Initialize the SDK in case the caller has not */
err = PGPsdkInit( 0 );
if( IsntPGPError( err ) )
{
sInitializedSDK = TRUE;
err = PGPsdkNetworkLibInit( 0 );
if( IsntPGPError( err ) )
{
sInitializedNetworkLib = TRUE;
pgpLeaksBeginSession( "PGPsdkUILib" );
#if PGP_WIN32
LoadLibrary ("RichEd20.dll");
if( IsNull( gPGPsdkUILibInst ) )
{
/*
** If this is a DLL, DLLMain() will set gPGPsdkUILibInst before
** calling this function so loading the resource-only DLL
** will not be necessary. If gPGPsdkUILibInst is NULL, this is
** a static library and we must get our resources from an external
** DLL.
*/
sResourceDLL=TRUE;
gPGPsdkUILibInst = LoadLibrary("PGPuiRes.DLL");
if (gPGPsdkUILibInst == 0)
{
err = -1;
}
}
#endif
#if PGP_UNIX_DARWIN
err = PGPsdkUILibInitPlatform();
#endif
}
}
}
if( IsntPGPError( err ) )
{
++sInitedCount;
}
return( err );
}
PGPError
PGPsdkUILibCleanup(void)
{
PGPError err = kPGPError_NoErr;
pgpAssert( sInitedCount != 0 );
if( sInitedCount != 0 )
{
--sInitedCount;
if( sInitedCount == 0 )
{
#if PGP_UNIX_DARWIN
PGPsdkUILibCleanupPlatform();
#endif
if( sInitializedNetworkLib )
{
pgpLeaksEndSession();
(void) PGPsdkNetworkLibCleanup();
sInitializedNetworkLib = FALSE;
}
if( sInitializedSDK )
{
(void) PGPsdkCleanup();
sInitializedSDK = FALSE;
}
#if PGP_WIN32
// If we are using resource DLL, unload it
if((gPGPsdkUILibInst)&&(sResourceDLL))
{
FreeLibrary(gPGPsdkUILibInst);
gPGPsdkUILibInst=NULL;
sResourceDLL=FALSE;
}
#endif
}
}
else
{
err = kPGPError_BadParams;
}
return( err );
}
PGPError
pgpForceSDKUILibCleanup(void)
{
PGPError err = kPGPError_NoErr;
if( sInitedCount != 0 )
{
sInitedCount = 1;
}
err = PGPsdkUILibCleanup();
return( err );
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -