int Syn_ ReadBaseMsgToFile
(
int iPortID,
char * pcCHMsgFileName,
unsigned int * puiCHMsgFileLen,
char * pcPHMsgFileName,
unsigned int * puiPHMsgFileLen,
int iIfOpen
);
这是一个SDK开发包内的函数
请问如何在C#项目内引用这个函数呀 DLL为SynIDCardAPI.dll
(
int iPortID,
char * pcCHMsgFileName,
unsigned int * puiCHMsgFileLen,
char * pcPHMsgFileName,
unsigned int * puiPHMsgFileLen,
int iIfOpen
);
这是一个SDK开发包内的函数
请问如何在C#项目内引用这个函数呀 DLL为SynIDCardAPI.dll
[DllImport("SynIDCardAPI.dll")]
public static extern int Syn_ ReadBaseMsgToFile(
int iPortID,
StringBuilder pcCHMsgFileName, ////如果实参大于80则声明为byte[]
unsigned int * puiCHMsgFileLen,
StringBuilder pcPHMsgFileName, ////同第二项
unsigned int * puiPHMsgFileLen,
int iIfOpen
);
Syn_ReadBaseMsgToFile 与Syn_ ReadBaseMsg函数类似,读取ID卡内基本信息区域信息,并将读到的基本信息写进输入参数所指定的文件中。
int Syn_ ReadBaseMsgToFile (
int iPortID,
char * pcCHMsgFileName,
unsigned int * puiCHMsgFileLen,
char * pcPHMsgFileName,
unsigned int * puiPHMsgFileLen,
int iIfOpen
);
参数说明:
iPort
[in] 整数,表示端口号。参见Syn_ResetSAM。
pcCHMsgFileName
[in] 读取到的ID卡内文字信息,需要写入文件,此为由用户指定的文件名。
puiCHMsgFileLen
[out] 存储文字信息的文件的长度。
pcCHMsgFileName
[in] 读取到的ID卡内照片信息,需要写入文件,此为由用户指定的文件名。
puiCHMsgFileLen
[out] 存储照片信息的文件的长度。
iIfOpen
[in] 整数,参见Syn_ResetSAM。
返回值:
0 读基本信息成功
其他 读基本信息失败(具体含义参见返回码表)SDK开发包内的函数是这样的
这里的[out]类型的参数是什么意思? 我能接收这个[out]型的参数吗?
out的意思为出参,这个参数会在调用时被修改
试试下面的代码 [DllImport("SynIDCardAPI.dll")]
public static extern int Syn_ ReadBaseMsgToFile(
int iPortID,
StringBuilder pcCHMsgFileName, ////如果实参大于80则声明为byte[]
out uint puiCHMsgFileLen,
StringBuilder pcPHMsgFileName, ////同第二项
oout uint puiPHMsgFileLen,
int iIfOpen
);
[DllImport("SynIDCardAPI.dll", SetLastError = true, CharSet = CharSet.Auto/*如果Auto不行,换其他*/)]
public static extern int Syn_ReadBaseMsgToFile(
int iPortID,
string pcCHMsgFileName,
ref UInt32 puiCHMsgFileLen,
string pcPHMsgFileName,
ref UInt32 puiPHMsgFileLen,
int iIfOpen
); Syn_ReadBaseMsgToFile(n, strFileName1, ref puiChMsgFileLen, strFileName2, ref puiPhMsgfileLen, m);