PDA

View Full Version : حرفه ای: تبدیل تابع ی نوشته شده به زبان++c در #c



ali15462002
پنج شنبه 26 فروردین 1389, 14:16 عصر
سلام
من یه dll دارم که یک سری توابع به زبان ++c در آن هست من می خواستم از این توابع در C#‎ استفاده کنم یکی از این توابع پارامتر هایی داره که نمی دونم معادل اون تون C#‎ چی میشه یکی از این پارامتر هاد از نوع *Char هستش که داخلش ادرس یک فایل رو نگه میداره میخواستم بدونم معادلش تو C#‎ چی میشه؟

mohammad diba
پنج شنبه 26 فروردین 1389, 14:26 عصر
سلام ما اشاره گرها رو تویه سی شارپ هم داریم من فکر نمی کنم مشکل از اون باشه!!!!!!!!!!!!!

ali15462002
جمعه 27 فروردین 1389, 00:31 صبح
این تابع توی ++c هستش :
[ BOOL NET_DVR_CaptureJPEGPicture
LONG lUserID,
LONG lChannel,
LPNET_DVR_JPEGPARA lpJpegPara,
char *sPicFileName
(
typedef struct{
WORD wPicSize;
WORD wPicQuality;
}NET_DVR_JPEGPARA

Parameters:
lUserID: NET_DVR_Login() return value
lChannel: cahnnel NO.
lpJpegPara: the pointer that point to NET_DVR_JPEGPARA
sPicFileName: the file name to save JPEG
Return value: TRUE means successful, FALSE means failed
[/ltr]


اینم کدی هست که من نوشتم :
[[StructLayout(LayoutKind.Sequential)]
public struct NET_DVR_JPEGPARA
{
public UInt16 wPicSize;
public UInt16 wPicQuality;
};
[DllImport("HCNetSDK.dll")]

public static extern bool NET_DVR_CaptureJPEGPicture(long lUserID, long lChannel, NET_DVR_JPEGPARA lpJpegPara,IntPtr sPicFileName); string path ;
string path =@"E:\jjj.jpg";
IntPtr p = Marshal.StringToCoTaskMemAuto(path);
NET_DVR_CaptureJPEGPicture(LoginResult, 1,LPNET_DVR_JPEGPARA,p);