• 大小: 12.98MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-07-30
  • 语言: C/C++
  • 标签: C#  

资源简介

硬件提供C++的DLL,实际应用是用C#开发的,可以是winform可以是webapi等,通过新建C++项目对DLL进行再次封装,并提供接口给C#程序使用。

资源截图

代码片段和文件信息

// CSharpInvokeCPP.CPPDemo.cpp : 定义 DLL 应用程序的导出函数。
//

#include “stdafx.h“
#include “malloc.h“
#include “userinfo.h“
#include “OpenDeviceInfo.h“
#include “ReadCert.h“
#include “Identify.h“
#include “Autograph.h“
#include “CertData.h“

#include 
#include 
#include 
#include    // std::cout  

#include “./include/isccryptapi.h“
#include “./include/decodecert.h“
//#include “../include/CertDecoder.h“

#include 
#include 
#include 
#include 
#include 
#include 

//#include “D:\固定端口\AuthProject\sourcecode\share\ckwdebuglog.h“
char g_LogPath[_MAX_PATH];
UINT g_nDbgDispLvl g_bDbgToFile;

#include 

using namespace std;

typedef unsigned char byte;
typedef unsigned char BYTE;

//const BOOL bGBSM2=TRUE;
const BOOL bGBSM2 = FALSE;

#define MAX_BUF 4096
#define ERR_LEN 200
#define BUF_LENGTH 200000


#pragma comment(lib“./lib/cryp_api“)
#pragma comment(lib“./lib/decodecert“)
//#pragma comment(lib“../lib/CertDecoder“)

typedef struct {
char name[32];
int age;
} User;
UserInfo* userInfo;

// 打开USBKey设备
typedef struct {
char Pwd[20];
char Result[32];
char ErrorInfo[32];
int ErrorCode;
} OpenUSBKey;
OpenDeviceInfo* opendeviceinfo;

// 读取用户证书
typedef struct {
char Pwd[32];
int  CertNum;
int  CertVer; // 证书版本号
char CertSID[32]; // 证书序列号
char CertSender[32]; // 证书签发者通用名  中国税务认证中心
char CertStartTime[32]; // 证书起始时间
char CertEndTime[32]; // 证书无效时间
char CertApplyer[32]; // 证书申请者通用名
char Result[128];
int  ErrorCode;
} ReadCertType;
ReadCert* readcert;

// 读取证书数据
typedef struct {
char Pwd[32];
int  CertNum;
char CertCode[4096]; // 证书数据
char Result[128];
int  ErrorCode;
} CertDataType;
CertData* certdataInfo;

// 身份认证
typedef struct {
char Pwd[32];
//char pbClientInfo[4096];
//int dwClientInfo;
char Result[4096];
int ErrorCode;
} IdentifyType;
Identify* IdentifyInfo;

// 签名、验签 P1、P7
typedef struct {
char Pwd[32];
char pbData[4096];
char pbSignedData[4096];
char Result[4096];
int ErrorCode;
} AutographType;
Autograph* AutographInfo;

extern “C“ __declspec(dllexport) int Add(int x int y)
{
return x + y;
}
extern “C“ __declspec(dllexport) int Sub(int x int y)
{
return x - y;
}
extern “C“ __declspec(dllexport) int Multiply(int x int y)
{
return x * y;
}
extern “C“ __declspec(dllexport) int Divide(int x int y)
{
return x / y;
}

extern “C“ __declspec(dllexport) User* Create(char* name int age)
{
User* user = (User*)malloc(sizeof(User));

userInfo = new UserInfo(name age);
strcpy(user->name userInfo->GetName());
user->age = userInfo->GetAge();

//strcpy(user->name name);
//user->age = age;
return user;
}

// 读取用户证书信息
extern “C“ __declspec(dllexport) ReadCertType* ReadCertInfo(char* pwd int CertN

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        655  2018-11-13 10:50  CSharpInvokeCPP\CSharpInvokeCPP.CPPDemo\Autograph.h

     文件        617  2018-11-19 15:24  CSharpInvokeCPP\CSharpInvokeCPP.CPPDemo\CertData.h

     文件      28421  2018-11-30 14:48  CSharpInvokeCPP\CSharpInvokeCPP.CPPDemo\CSharpInvokeCPP.CPPDemo - Nolog.cpp

     文件      46664  2018-11-30 14:41  CSharpInvokeCPP\CSharpInvokeCPP.CPPDemo\CSharpInvokeCPP.CPPDemo.cpp

     文件       5707  2018-11-29 14:50  CSharpInvokeCPP\CSharpInvokeCPP.CPPDemo\CSharpInvokeCPP.CPPDemo.vcxproj

     文件       1880  2018-11-29 09:23  CSharpInvokeCPP\CSharpInvokeCPP.CPPDemo\CSharpInvokeCPP.CPPDemo.vcxproj.filters

     文件       3274  2018-11-30 14:48  CSharpInvokeCPP\CSharpInvokeCPP.CPPDemo\Debug\CSharpIn.1CC9806B.tlog\cl.command.1.tlog

     文件      42942  2018-11-30 14:48  CSharpInvokeCPP\CSharpInvokeCPP.CPPDemo\Debug\CSharpIn.1CC9806B.tlog\CL.read.1.tlog

     文件       2926  2018-11-30 14:48  CSharpInvokeCPP\CSharpInvokeCPP.CPPDemo\Debug\CSharpIn.1CC9806B.tlog\CL.write.1.tlog

     文件        201  2018-11-30 14:48  CSharpInvokeCPP\CSharpInvokeCPP.CPPDemo\Debug\CSharpIn.1CC9806B.tlog\CSharpInvokeCPP.CPPDemo.lastbuildstate

     文件        666  2018-11-30 14:48  CSharpInvokeCPP\CSharpInvokeCPP.CPPDemo\Debug\CSharpIn.1CC9806B.tlog\CSharpInvokeCPP.CPPDemo.write.1u.tlog

     文件       2146  2018-11-30 14:48  CSharpInvokeCPP\CSharpInvokeCPP.CPPDemo\Debug\CSharpIn.1CC9806B.tlog\link.command.1.tlog

     文件       4648  2018-11-30 14:48  CSharpInvokeCPP\CSharpInvokeCPP.CPPDemo\Debug\CSharpIn.1CC9806B.tlog\link.read.1.tlog

     文件       1314  2018-11-30 14:48  CSharpInvokeCPP\CSharpInvokeCPP.CPPDemo\Debug\CSharpIn.1CC9806B.tlog\link.write.1.tlog

     文件       2204  2018-11-30 14:48  CSharpInvokeCPP\CSharpInvokeCPP.CPPDemo\Debug\CSharpInvokeCPP.CPPDemo.Build.CppClean.log

     文件       3408  2018-11-30 14:48  CSharpInvokeCPP\CSharpInvokeCPP.CPPDemo\Debug\CSharpInvokeCPP.CPPDemo.log

     文件     213583  2018-11-30 14:48  CSharpInvokeCPP\CSharpInvokeCPP.CPPDemo\Debug\CSharpInvokeCPP.CPPDemo.obj

     文件    5570560  2018-11-30 14:48  CSharpInvokeCPP\CSharpInvokeCPP.CPPDemo\Debug\CSharpInvokeCPP.CPPDemo.pch

     文件      14948  2018-11-30 14:48  CSharpInvokeCPP\CSharpInvokeCPP.CPPDemo\Debug\dllmain.obj

     文件     147586  2018-11-30 14:48  CSharpInvokeCPP\CSharpInvokeCPP.CPPDemo\Debug\stdafx.obj

     文件     764928  2018-11-30 14:48  CSharpInvokeCPP\CSharpInvokeCPP.CPPDemo\Debug\vc120.idb

     文件     888832  2018-11-30 14:48  CSharpInvokeCPP\CSharpInvokeCPP.CPPDemo\Debug\vc120.pdb

     文件        389  2018-11-09 09:49  CSharpInvokeCPP\CSharpInvokeCPP.CPPDemo\dllmain.cpp

     文件        651  2018-11-15 14:01  CSharpInvokeCPP\CSharpInvokeCPP.CPPDemo\Identify.h

     文件       4452  2016-05-13 11:24  CSharpInvokeCPP\CSharpInvokeCPP.CPPDemo\include\basetype.h

     文件        561  2016-05-13 11:24  CSharpInvokeCPP\CSharpInvokeCPP.CPPDemo\include\CertDecoder.h

     文件      21361  2016-05-13 11:24  CSharpInvokeCPP\CSharpInvokeCPP.CPPDemo\include\crypt_err.h

     文件       7645  2016-05-13 11:24  CSharpInvokeCPP\CSharpInvokeCPP.CPPDemo\include\decodecert.h

     文件      18165  2016-05-13 11:24  CSharpInvokeCPP\CSharpInvokeCPP.CPPDemo\include\isccryptapi.h

     文件       2650  2016-05-13 11:24  CSharpInvokeCPP\CSharpInvokeCPP.CPPDemo\lib\CertDecoder.lib

............此处省略66个文件信息

评论

共有 条评论