DLL文件怎么调用,请大家帮忙一下,谢谢!

lutao050306 lutao050306 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
gprsdll.h 文件:

// gprsdll.h : main header file for the GPRSDLL DLL
//

#if !defined(AFX_GPRSDLL_H__BED4558D_76A5_4E59_8469_939BB4F52841__INCLUDED_)
#define AFX_GPRSDLL_H__BED4558D_76A5_4E59_8469_939BB4F52841__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#ifndef __AFXWIN_H__
#error include 'stdafx.h' before including this file for PCH
#endif

#include "resource.h" // main symbols

/////////////////////////////////////////////////////////////////////////////
// CGprsdllApp
// See gprsdll.cpp for the implementation of this class
//

class CGprsdllApp : public CWinApp
{
public:
CGprsdllApp();

// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CGprsdllApp)
//}}AFX_VIRTUAL

//{{AFX_MSG(CGprsdllApp)
// NOTE - the ClassWizard will add and remove member functions here.
// DO NOT EDIT what you see in these blocks of generated code !
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};


//数据结构:
//1.用以区分标识各台DTU的数据结构:
typedef UINT u32t;
typedef UCHAR u8t;
typedef USHORT u16t;
typedef ULONG u64t;

typedef struct _modem_info_t_
{
u32t m_modemId; //DTU模块的ID号
u8t m_phoneno[12]; //DTU的11位电话号码,必须以'\0'字符结尾
u8t m_dynip[4]; //DTU的4位动态ip地址
u64t m_conn_time; //DTU模块最后一次建立TCP连接的时间
u64t m_refresh_time; //DTU模块最后一次收发数据的时间
} ModemInfoStruct;

#define MAX_RECEIVE_BUF 1450
typedef struct _modem_data_t {
u32t m_modemId; // DTU模块的ID号
u64t m_recv_time; //接收到数据包的时间
u8t m_data_buf[MAX_RECEIVE_BUF+1];//存储接收到的数据
u16t m_data_len; //接收到的数据包长度
u8t m_data_type; //接收到的数据包类型,
// 0x01:用户数据包
// 0x02:对控制命令帧的回应
}ModemDataStruct;

//2.Api说明:
extern "C" {
//1).
BOOL _stdcall DSStartService(u16t uiListenPort);
//功能:启动服务器的数据服务
//参数: u16ListenPort:服务的侦听端口
//说明:启动服务器的数据服务。启动数据服务后,服务器侦听在指定端口。
//如果失败了,可以调用DSGetLastError()函数查看错误原因。

//2).
BOOL _stdcall DSStopService(void);
//功能:停止服务器的数据服务
//参数:无
//说明:停止服务器的数据服务。所有的DTU都将下线。
// 如果失败了,可以调用DSGetLastError()函数查看错误原因。

//3).
BOOL _stdcall DSGetNextData(ModemDataStruct* pDataStruct,u16t waitseconds);
//功能:读取下一条Modem送上来的信息
//参数:pDataStruct: 存放Modem所送上来的信息和数据的结构,读函数执行成功后,返回的数据存放到该参数指向的结构中
// waitseconds:本函数读到数据后立即返回;如果没有数据到达,则等待最长waitseconds(时间单位:秒)的时间,直到有数据到达,取值范围从0~65535,如果取值为0表明本函数将立即返回。
//返回:如果返回为非零值,表明收到了一条Modem信息。如果返回为0,则表明没有收到数据。

//4).
BOOL _stdcall DSSendData(u32t modemId,u16t len,u8t * buf);
//功能:向指定ID号的的Modem发送数据
//参数:modemId:modem的ID号,用以标识一个Modem
// len:待发送的数据长度(字节数),数据长度必须小于或等于1450个字节
// buf:待发送的数据
//如果失败了,可以调用DSGetLastError()函数查看错误原因。

//5).
u32t _stdcall DSGetModemCount(void);
//功能:取得当前在线的所有的Modem的总数;

// 6).
BOOL _stdcall DSGetModemByPosition(u32t pos, ModemInfoStruct *pModemInfo);
// 功能:取得指定位置的Modem的数据;
// 参数:pos:Modem列表中的位置信息,0代表第一个Modem位置;
// pModemInfo:指向用以保存Modem信息的数据结构;

// 7).
BOOL _stdcall DSSendControl(u32t modemId,u16t len,u8t * buf);
//功能:向指定ID号的的Modem发送控制命令
//参数:modemId:modem的ID号,用以标识一个Modem
// len:待发送的控制命令长度(字节数),数据长度必须小于或等于1000个字节
// buf:待发送的控制命令帧
//如果失败了,可以调用DSGetLastError()函数查看错误原因。

void _stdcall DSGetLastError(char *str,int nMaxBufSize);
//功能:获得先前API执行时发生的错误;
// 参数: str:用来存放错误信息的缓冲区;
// nMaxStrSize:缓冲区的最大长度,如果错误信息的大小超过了这个值,则此函数将把错误信息的尾部截除。


}
/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_GPRSDLL_H__BED4558D_76A5_4E59_8469_939BB4F52841__INCLUDED_)



另外有两个文件:

gprsdll.lib gprsdll.dll



请问这个DLL怎么引用到项目中呢。。。这是一个DTU的数据中心DEMO中的dll
...全文

相关推荐

dll文件及Python调用方法(实例)addTest.dll

dll文件及Python调用方法(实例)利用Python对addTest.dll示例dll进行调用测试。

ljremanlei

Unity与 DLL文件 ☀️| 怎样使用VC++生成一个DLL文件并调用!(包括 在VS 中调用 和 在Unity中调用)

前一篇博客讲了一下DLL的基本概念,链接在这:Unity与 DLL文件 ☀️| 什么是DLL✨?还讲了怎样通过 C# 类库 生成一个DLL文件并调用! 在上一篇文章中也说了,生成DLL文件的方式有很多种,还有一个是通过VC C++来生成那本篇文章就对怎样通过VC C++ 生成一个DLL文件做一个概述生成之后有两种调用方式,分别是在VS中调用和在Unity中调用,本篇文章都会提到! 一起来看一下怎样生成一个简单的DLL并进行调用吧! 本篇文章使用的是VS2017!不同版本可能会有差异,敬请理解!

呆呆敲代码的小Y

Unity与 DLL文件 ☀️| 怎样使用 C# 类库 生成一个DLL文件 并 调用!

前一篇博客讲了一下DLL的基本概念,那这篇文章就对怎样生成一个DLL文件做一个概述.一起来看一下怎样生成一个简单的DLL吧!

呆呆敲代码的小Y

C# 调用dll文件

一、DLL与应用程序 动态链接库(也称为DLL,即为“Dynamic Link Library”的缩写)是Microsoft Windows最重要的组成要素之一,打开Windows系统文件夹,你会发现文件夹中有很多DLL文件,Windows就是将一些主要的系统功能以DLL模块的形式实现。 动态链接库是不能直接执行的,也不能接收消息,它只是一个独立的文件,其中包含能被程序或其它DLL...

未来无限

PB调用C#写的dll文件

C#写的dll文件,直接可以被PB调用,很爽的!声明下,不是源创哦,是在网上找的资料,经过自己的调试,成功!

斜杠青年小Q
评论 5
收藏 已收藏
分享
返回顶部
lutao050306
进程/线程/DLL 15,466 成员 49,169 内容