For example the compiler do not recognise declarations as HWND or WORD or FAR* in the following part of the .h file. How can I fix this problem?
typedef struct tag_ooi_param
{
short ssize; // size of this structure in bytes
short dev; // reserved, must be 0
short cmd; // command, use CMD_ constants
short msg; // message, use MSG_ constants
short res; // reserved, DO NOT ALTER
short fdc; // flash delay in msec
WORD dsf; // sampling frequency (kHz - S1000, msec - S2000)
short boxcar; // boxcar smoothing width
short average; // samples to average
short cur_sampl; // number of samples collected
short chan_ena[MAX_BUF]; // spectrometer channel enabled array
short chan_stat[MAX_BUF]; // spectrometerchannel buffer status
BOOL changed; // flag indicating parameters have changed
BOOL ovrr_ok; // do not halt on scan overrun
BOOL cont; // single or continuous scan
BOOL flash_cont; // continuous flash control
BOOL scan_dark; // scan dark
BOOL correct_dark; // correct for electrical dark signal
int extrig; // external trigger mode
HWND hWnd; // window to receive Windows messages
HINSTANCE host; // application instance handle
float FAR* chdat[MAX_BUF]; // spectral data array pointers
BOOL UseUSecIntegrationTime;
DWORD USecIntegrationTime;
int AutonullingStatus;
int AutonullingDark;
} OOI_PARAM;