我在vc中开发的动态库函数声明如下:
DWORD _stdcall HK_WriteFile
(
IN HANDLE hCard,
IN unsigned long ulOffset,
IN unsigned char *pucBuffer,
IN unsigned long ulBytesToWrite,
OUT unsigned long *pulBytesWritten
);
在Delphi中的对应申明如下:
function HK_WriteFile
(
hCard:Integer;
lOffset:LongWord;
var ptrData:PChar;
Len:LongWord;
var lWrittenLen:LongWord
):Longword;stdcall;external 'MyAPI.dll';
在Delphi中的调用如下:
var
lRet:LongWord;
hCard:Integer;
lOffset:LongWord;
pstrInData:PChar;
lLen:LongWord;
lWrittenLen:LongWord;
Begin
pstrInData:='Test for write file function';
lLen:=Length(pstrInData);
lWrittenLen:=lLen;
lOffset:=0;
lRet:= HK_WriteFile(hCard, lOffset, pstrInData, lLen, lWritten);
end;
结果我跟踪这个函数到vc的动态库中调试,结果发现,本来我在Delphi中传进来的是"Test for write file function",传入到vc函数中的参数中却变成了乱码,这是怎么回事呀?请问各位大虾!
DWORD _stdcall HK_WriteFile
(
IN HANDLE hCard,
IN unsigned long ulOffset,
IN unsigned char *pucBuffer,
IN unsigned long ulBytesToWrite,
OUT unsigned long *pulBytesWritten
);
在Delphi中的对应申明如下:
function HK_WriteFile
(
hCard:Integer;
lOffset:LongWord;
var ptrData:PChar;
Len:LongWord;
var lWrittenLen:LongWord
):Longword;stdcall;external 'MyAPI.dll';
在Delphi中的调用如下:
var
lRet:LongWord;
hCard:Integer;
lOffset:LongWord;
pstrInData:PChar;
lLen:LongWord;
lWrittenLen:LongWord;
Begin
pstrInData:='Test for write file function';
lLen:=Length(pstrInData);
lWrittenLen:=lLen;
lOffset:=0;
lRet:= HK_WriteFile(hCard, lOffset, pstrInData, lLen, lWritten);
end;
结果我跟踪这个函数到vc的动态库中调试,结果发现,本来我在Delphi中传进来的是"Test for write file function",传入到vc函数中的参数中却变成了乱码,这是怎么回事呀?请问各位大虾!
解决方案 »
- 急:怎样让Button透明
- 菜鸟求助~~~~~~~~~~~~~跪求高手~~
- 多条件复合统计报表--》请进
- 万分火急:如何把图片存储到access中,并且如何根据记录正确显示access中的图片?
- 高分:求一个存储过程的写法
- 哪位知c++请进,可以马上给分!!!
- 请问如何获取网卡的序列号?急!
- 有沒有給table排序的方法﹐table好象找不到order 方法
- 请教一个关于文本读写的疑难问题
- 求教:如何往IE和NC中嵌入我自己的工具条?
- 在win98下与函数SetProcessWorkingSetSize(GetCurrentProcess,$FFFFFFFF,$FFFFFFFF);功能相同的是什么?
- 在vc中怎样实现Delphi中的Application.ProcessMessages功能
function HK_WriteFile
(
hCard:Integer;
lOffset:LongWord;
ptrData:PChar;
Len:LongWord;
var lWrittenLen:LongWord
):Longword;stdcall;external 'MyAPI.dll';