- Tema Autor
- #1
Tengo un codigo en C++ que necesito traducir a C#, hasta ahora he podido entender la mayoria, sin experiencia en C++. Pero me encontre con esto:
#if FT_DLL_EXPORTS
#else /* Not BUILDING_DLL */
# define FT_DLL __declspec (dllimport)
#endif /* Not BUILDING_DLL */
typedef FT_DLL int ( *TProceImage) (void *param,int nWidth,int nHeight,int DPI, unsigned char *Image); <-- No entiendo que se hace aqui
FT_DLL HANDLE FT_OpenReader(int DeviceId);
FT_DLL int FT_CloseReader(HANDLE handle);
FT_DLL int FT_BeginCapture(HANDLE handle, void *pParam,TProceImage proc); <-- Aqui hace referencia al tipo de dato
....
y por ultimo lo utilizan de esta manera:
int __cdecl Proc(void *p,int w,int h,int dp,byte *buff)
{
static int proc_count=0;
sprintf(buf,"width: %d height: %d,proc_count:%d",mw,mh,proc_count++);
mw=w;
mh=h;
mybuff=buff;
SendMessage(ghwnd,WM_PAINT,0,0);
}
......
int begin = FT_BeginCapture(handle,NULL,Proc);
No entiendo bien si TProceImage es un puntero a una estructura que se encuentra ya definida dentro de la dll, y por que la funcion Pro devuelve un entero cuando en la declaracion del metodo FT_BeginCapture el tercer parametro se define que el dato es tipo TProceImage.
Agradecere su ayuda.
#if FT_DLL_EXPORTS
#else /* Not BUILDING_DLL */
# define FT_DLL __declspec (dllimport)
#endif /* Not BUILDING_DLL */
typedef FT_DLL int ( *TProceImage) (void *param,int nWidth,int nHeight,int DPI, unsigned char *Image); <-- No entiendo que se hace aqui
FT_DLL HANDLE FT_OpenReader(int DeviceId);
FT_DLL int FT_CloseReader(HANDLE handle);
FT_DLL int FT_BeginCapture(HANDLE handle, void *pParam,TProceImage proc); <-- Aqui hace referencia al tipo de dato
....
y por ultimo lo utilizan de esta manera:
int __cdecl Proc(void *p,int w,int h,int dp,byte *buff)
{
static int proc_count=0;
sprintf(buf,"width: %d height: %d,proc_count:%d",mw,mh,proc_count++);
mw=w;
mh=h;
mybuff=buff;
SendMessage(ghwnd,WM_PAINT,0,0);
}
......
int begin = FT_BeginCapture(handle,NULL,Proc);
No entiendo bien si TProceImage es un puntero a una estructura que se encuentra ya definida dentro de la dll, y por que la funcion Pro devuelve un entero cuando en la declaracion del metodo FT_BeginCapture el tercer parametro se define que el dato es tipo TProceImage.
Agradecere su ayuda.