C定义的函数,求DELPHI中如何定义(100分)

  • 主题发起人 主题发起人 snowtop
  • 开始时间 开始时间
S

snowtop

Unregistered / Unconfirmed
GUEST, unregistred user!
请各位TX帮帮忙
小弟最近收到一个DLL,是用C写的其中一个函数如次定义
int ISGF_GetNetworkParam(const char* pszMachineID, BYTE* pbBuf, int* pnBufLen)
【功能】请求某设备的网络参数。
【参数】
[in] pszMachineID - 设备识别号。
[out] pbBuf - 接收网络参数数据的内存块。
[out] pnBufLen - 接收到网络参数内存块的长度指针。

typedef struct
{
Uint32 uServerIP
//PC端IP地址
Uint16 uServerPort; //PC端通讯端口
Uint16 uGuardPort
//通讯端口
Uint32 uGuardIP
//设备IP地址
Uint32 uGuardSubnetMask; //设备子网掩码
Uint32 uGuardGateway; //设备默认网关
Uint32 uGuardDNSServer; //设备DNS服务器
char szGuardName[GUARD_NAME_LEN]; //设备名称
}NETWORK_PARAM,*PNETWORK_PARAM;
【返回值】
ISGC_ERROR_NONE表示成功。

请问我要在DELPHI中调用这个函数,代码要怎么写呢,急啊,谢谢了
 
function ISGF_GetNetworkParam(const pszMachineID: PChar
pbBuf: PByte
var pnBufLen: Integer): Integer
stdcall;
【功能】请求某设备的网络参数。
【参数】
[in] pszMachineID - 设备识别号。
[out] pbBuf - 接收网络参数数据的内存块。
[out] pnBufLen - 接收到网络参数内存块的长度指针。

type
PNETWORK_PARAM = ^TNETWORK_PARAM;
TNETWORK_PARAM = packed record
uServerIP: DWORD
//PC端IP地址
uServerPort: WORD; //PC端通讯端口
uGuardPort: WORD; //通讯端口
uGuardIP: DWORD
//设备IP地址
uGuardSubnetMask: DWORD; //设备子网掩码
uGuardGateway: DWORD; //设备默认网关
uGuardDNSServer: DWORD; //设备DNS服务器
szGuardName: array[0..GUARD_NAME_LEN-1] of Char; //设备名称
end;

【返回值】
ISGC_ERROR_NONE表示成功。
 
tseug
再烦劳您能帮忙写一下,如果执行这个函数,我怎么读取内存块的数据
比如怎么读出PC端IP地址、PC端通讯端口等资料呢,谢谢
 
你在d 中 如何定义一般函数的 就如何定义,而且dll 中调用的话,可能只需要申明下就可以用了~
 
不好意思,能否举个例子
最好是代码参考一下,谢谢了
 
多人接受答案了。
 
后退
顶部