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

📄 cryptoapi.cpp

📁 使用Windows加密API的例子
💻 CPP
字号:
////////////////////////////////////////////////////////////////////////////////
//
//	Title:		CryptoAPI Implementation
//	File:		CryptoAPI.cpp
//	Author:		Chad Slater
//	Date:		March 2001
//
//	Abstract:	DLL Main for the in-proc server
//
//
//
//
//	Revision History:
//	---------------------------------------------------------------------
//	cslater		3/15/2001 8:26:44 AM	Initial revision
//
//
//
////////////////////////////////////////////////////////////////////////////////



#include "stdafx.h"
#include "resource.h"
#include <initguid.h>
#include "CryptoAPI.h"

#include "CryptoAPI_i.c"
#include "Crypto.h"
#include "CryptoShellExt.h"


CComModule _Module;

BEGIN_OBJECT_MAP(ObjectMap)
	OBJECT_ENTRY( CLSID_Crypto, CCrypto )
	OBJECT_ENTRY(CLSID_CryptoShellExt, CCryptoShellExt)
END_OBJECT_MAP()

/////////////////////////////////////////////////////////////////////////////
// DLL Entry Point

extern "C"
BOOL WINAPI 
DllMain( HINSTANCE	hInstance, 
		 DWORD		dwReason, 
		 LPVOID		lpReserved	)
	{
    if( dwReason == DLL_PROCESS_ATTACH )
		{
        _Module.Init( ObjectMap, hInstance, &LIBID_CRYPTOAPILib );
        DisableThreadLibraryCalls( hInstance );
		}

    else if (dwReason == DLL_PROCESS_DETACH)
        _Module.Term();
    
	return TRUE;    
	}


STDAPI 
DllCanUnloadNow()
	{
    return ( _Module.GetLockCount() == 0 ) ? S_OK : S_FALSE;
	}


STDAPI 
DllGetClassObject(	REFCLSID	rclsid, 
					REFIID		riid, 
					LPVOID*		ppv		)
	{
    return _Module.GetClassObject(	rclsid, riid, ppv	);
	}


STDAPI 
DllRegisterServer()
	{
    return _Module.RegisterServer( TRUE );
	}


STDAPI 
DllUnregisterServer()
	{
    return _Module.UnregisterServer( TRUE );
	}


⌨️ 快捷键说明

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