コード例 #1
0
ファイル: pgpSDKUILib.c プロジェクト: ysangkok/pgp-unix-6.5.8
	PGPError
PGPsdkUILibCleanup(void)
{
	PGPError	err	= kPGPError_NoErr;
	
	pgpAssert( sInitedCount != 0 );
	
	if( sInitedCount != 0 )
	{
		--sInitedCount;
		
		if( sInitedCount == 0 )
		{
			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 );
}
コード例 #2
0
ファイル: sdk8.cpp プロジェクト: 0xmono/miranda-ng
int __cdecl _pgp_done()
{
	pgpVer = 0;
	#if defined(_WIN64)
		return 0;
	#else
		__try {
			if(pgpErrMsg) LocalFree(pgpErrMsg);
			if (pszPassphrase) PGPFreeData(pszPassphrase);
			if (pgpKeyDB) PGPFreeKeyDB(pgpKeyDB);
			PGPFreeContext(pgpContext);
			PGPsdkUILibCleanup();
			PGPsdkCleanup();
			pszPassphrase = pgpErrMsg = 0;
			pgpKeyDB = 0;
			pgpContext = 0;
		}
		__except ( EXCEPTION_EXECUTE_HANDLER ) {
			return 0;
		}
		return 1;
	#endif
}