// ExCapUI.h
//

enum EXCAPUIERR {
	EXCAPUIERR_INVALIDHDCAM		= -32767,	// 0xFFFF8001
	EXCAPUIERR_UNKNOWNCMD		= -32766,	// 0xFFFF8002
	EXCAPUIERR_INVALIDLPARAM	= -32765,	// 0xFFFF8003
	EXCAPUIERR_INVALIDPPARAM	= -32764,	// 0xFFFF8004
	EXCAPUIERR_TOOSMALLPPARAM	= -32763,	// 0xFFFF8005
	EXCAPUIERR_NOTSUPPORT		= -32762,	// 0xFFFF8006
	EXCAPUIERR_UNKNOWNCAMERA	= -32761,	// 0xFFFF8007

	EXCAPUIERR_SUCCESS	= 1,
};

enum {
	EXCAPUI_PREPARECAMERA_ONOPEN = 1,
	EXCAPUI_PREPARECAMERA_ONCLOSE = 2,

	EXCAPUI_PREPARECAMERA_NONE = 0,
};

#ifdef __cplusplus
inline BOOL failed( EXCAPUIERR err )	{	return int( err ) <= 0;	}
#endif

enum EXCAPUICMD {
	EXCAPUICMD_QUERYSUPPORTDIALOG	= 1,	// in: HDCAM, lParam = 0 reserved, out: none, 
	EXCAPUICMD_MODALDIALOG			= 2,	// in: HDCAM, lParam = 0 reserved, out: none, 
	EXCAPUICMD_PREPARECAMERA		= 3,	// in: HDCAM, lParam = EXCAPUI_PREPAREACAMERA_*, out: none,
};

extern "C" EXCAPUIERR PASCAL EXPORT excapui_entry( HDCAM hdcam, UINT iCmd, LONG lparam, void* pparam, long pparambytes );
