⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sanyoapi.h

📁 使用Java的Jni技术对三洋数码相机驱动程序的封装,封装后的动态库可在Java开发环境中应用,解决了Java中调用Vc中开发的Dll问题
💻 H
📖 第 1 页 / 共 2 页
字号:
/******************************************************************************/
/******************************************************************************/
/*                                                                            */
/*                                                                            */
/*         Communicfation(Host Interface Support) Library                      */
/*                                                                            */
/*         Copyright (C) 1994-2002                                            */
/*         SANYO Electric Co., Ltd.											  */
/*         All Rights Reserved                                                */
/*                                                                            */
/*         File name : SanyoApi.h											  */
/*         Date : 15 Dec.02                                                   */
/*                                                                            */
/******************************************************************************/
/******************************************************************************/
#ifndef __SANYO_API_H
#define	__SANYO_API_H

#include <time.h>
#include <windows.h>

#ifdef	__cplusplus
extern "C" {
#endif

#ifdef	WIN32
#ifdef	DLL_EXPORTS
#define	SANYO_API __declspec(dllexport)
#else
#define	SANYO_API
#endif	//DLL_EXPORTS
#else	//!WIN32
#define	SANYO_API
#endif	//WIN32

#ifndef	_TYPE_ENUM_
#define	_TYPE_ENUM_

typedef enum tagCAM_ERROR {
	CAM_NO_ERROR = 0,				/* 00 No Error					*/
	CAM_INVALID_PARAMETER,			/* 01 Invalid parameter			*/
	CAM_INVALID_PARAM_RANGE,		/* 02 Parameter out of range	*/
	CAM_COMM_PORT_NOT_AVAILABLE,	/* 03 Port not available		*/
	CAM_COMM_FAILURE,				/* 04 Communication failure		*/
	CAM_INSUFF_DISK_SPACE,			/* 05 Insufficient disk space	*/
	CAM_USER_DISCONNECT,			/* 06 User disconnection		*/
	CAM_BAD_CLOSE,					/* 07 Bad close					*/
	CAM_BAD_WRITE,					/* 08 Bad write					*/
	CAM_BAD_EXECUTE,				/* 09 Bad execute				*/
	CAM_BAD_READ,					/* 0A Bad read					*/
	CAM_BAD_OPEN,					/* 0B Bad open					*/
	CAM_CAMERA_NOT_RESPONDING,		/* 0C Camera not responding		*/
	CAM_CAMERA_BAD_RESPONSE,		/* 0D Camera bad responding		*/
	CAM_NAK1_RESPONSE,				/* 0E Camera NAK1 responde		*/
	CAM_DC1_RESPONSE,				/* 0F Camera DC1 response		*/
	CAM_BAD_CHECKSUM,				/* 10 Bad chaecksum				*/
	CAM_BAD_GETLONG,				/* 11 Bad getlong				*/
	CAM_BAD_RCVLEN, 				/* 12 Bad rcvlen				*/
	CAM_USER_BREAK, 				/* 13 User break				*/
	CAM_SESSION_CLOSED, 			/* 14 Session closed			*/
	CAM_USB_NOT_RESPONDING, 		/* 15 USB not responding		*/
	CAM_MEMORY_ERROR,				/* 16 Failed memory create		*/
	CAM_CAN_RESPONSE,				/* 17 Camera CAN response		*/
	CAM_COMM_TIMEOUT,				/* 18 Communication timeout		*/
	CAM_ERROR_OTHER=255 			/* FF Other error				*/
} CAM_ERROR;

typedef enum tagCAM_STATTYPE {
	CAM_PERCENT_COMPL = 0,			/* 00 % COMPLETION MESSAGE								*/
	CAM_COM_TIMEOUT,				/* 01 COMMUNICATIONS TIMEOUT ERROR, RETRYING			*/
	CAM_COM_PARITY_ERROR,			/* 02 COMMUNICATIONS CHECKSUM PARITY ERROR, RETRYING	*/
	CAM_COM_OVERRUN,				/* 03 COMMUNICATIONS OVERRUN ERROR, RETRYING			*/
	CAM_COMM_FATAL, 				/* 04 FATAL COMMUNICATIONS ERROR, - FUNCTION ABORTED	*/
	CAM_COMM_USER_DISCONNECT,		/* 05 USER DISCONNECT - FUNCTION ABORTED				*/
	CAM_COMM_PROTOCOL_ERROR,		/* 06 CAMERA COMM PROTOCOL VIOLATION-FUNCTION ABORTED	*/
	CAM_UNSPEC_ERROR=255			/* 07 FATAL UNSPECIFIED ERROR, - FUNCTION ABORTED		*/
} CAM_STATTYPE ;

typedef enum tagCAM_COMM_PORT {
	COMM_AUTO = 0,					/* 00 Auto detect	*/
	COMM_USB = 0xA0, 				/* A0 USB			*/
} CAM_COMM_PORT;

typedef enum tagCAM_RES {
	RES_640_N = 2,					/* 02 640x480 Normal quality mode		*/
	RES_640_F,						/* 03 640x480 High quality mode			*/
	RES_1600_N = 0x0A,				/* 0A 1600x1200 Normal quality mode		*/
	RES_1600_F,						/* 0B 1600x1200 High quality mode		*/
	RES_2000_N,						/* 0C 2000x1490 Normal quality mode		*/
	RES_2000_F,						/* 0D 2000x1490 High quality mode		*/
	RES_2048_N,						/* 0E 2048x1536 Normal quality mode		*/
	RES_2048_F,						/* 0F 2048x1536 High quality mode		*/
	RES_1600_S = 0x1C,				/* 1C 1600x1200 Super High quality mode	*/
	RES_2048_S,						/* 1D 2048x1536 High quality mode		*/
	RES_1600_TIFF = 0x25,			/* 25 1600x1200 Tiff mode				*/
	RES_2880_N = 0x41,				/* 41 2880x2160 Normal quality mode		*/
	RES_2880_F						/* 42 2880x2160 High quality mode		*/
} CAM_RES;

typedef enum tagCAM_FLASH_MODE {
	CAM_FLASH_AUTO = 0, 			/* 00 Automatic flash mode						*/
	CAM_FLASH_ON,					/* 01 Forced flash mode 						*/
	CAM_FLASH_OFF,					/* 02 Flash disable mode						*/
	CAM_FLASH_RED,					/* 03 Automatic eliminate red eye effect mode	*/
}CAM_FLASH_MODE;

typedef enum tagCAM_LIGHT_SOURCE {
	LS_UNIDENTIFIED = 0,			/* 00  Unidentified (Auto setting)			*/
	LS_DAYLIGHT,					/* 01  Daylight								*/
	LS_FLUORESCENT,					/* 02  Fluorescent light					*/
	LS_TUNGSTENT,					/* 03  Tungsten lamp						*/
	LS_PRESET = 0xE1,				/* E1  Preset Added_saka 1998.06.12 [SR87]	*/
	LS_MANUAL = 0xFE,				/* FE  Manual whitebalance [SX215]			*/
	LS_CLOUDY = 0xFF				/* FF  Cloudy								*/
} CAM_LIGHT_SOURCE;

typedef enum tagSPEED_RATING {
	SR_AUTO = 0,					/* 00  auto		*/
	SR_ISO100,						/* 01  ISO 100	*/
	SR_ISO200,						/* 02  ISO 200	*/
	SR_ISO400,						/* 03  ISO 400	*/
	SR_ISO50						/* 04  ISO 50	*/
} SPEED_RATING;

typedef enum tagCAM_FOCUS_MODE {
	CAM_FOCUS_NOT_AVAILABLE = 0,	/* 00  READ ONLY			*/
	CAM_FOCUS_MACRO_ON,				/* 01  Macro mode			*/
	CAM_FOCUS_AUTO,					/* 02  Auto focus mode		*/
	CAM_FOCUS_MANUAL_ON,			/* 03  Manual focus mode	*/
	CAM_FOCUS_DISTANT_ON			/* 04  Distant focus mode	*/
} CAM_FOCUS_MODE;

typedef enum tagCAM_LCD_MODE {
	LCD_NOT_AVAILABLE = 0,			/* 00								*/
	LCD_POWER_OFF,		  			/* 01  LCD off						*/
	LCD_MONITOR,					/* 02  LCD on for CCD monitor		*/
	LCD_PLAY_NORMAL					/* 03  LCD on for play the media	*/
} CAM_LCD_MODE;

typedef enum tagLCD_OPCODE_ENUM { 
	LCD_OPCODE_POWER_OFF = 1,		/* 01										*/
	LCD_OPCODE_MONITOR, 			/* 02 View mode 							*/
	LCD_OPCODE_PLAY_NORMAL, 		/* 03 Display the picture on LCD monitor	*/
} LCD_OPCODE_ENUM;

typedef enum tagPROGRAM_MODE {
	PROGRAM_MANUAL = 1,				/* 01  manual						*/
	PROGRAM_AUTO,					/* 02  auto							*/
	PROGRAM_APERTURE_PRIORITY,		/* 03  aperture priority			*/
	PROGRAM_SHUTTER_PRIORITY		/* 04  shutter priority				*/
} PROGRAM_MODE;

typedef struct _CAM_FRACTION
{
	ULONG ulcam_numerator;
	ULONG ulcam_denominator;
} CAM_FRACTION, *pCAM_FRACTION;

typedef struct _CAM_SFRACTION
{
	LONG lcam_numerator;
	LONG lcam_denominator;
} CAM_SFRACTION, *pCAM_SFRACTION;

typedef struct _EXPOSURE_MODE
{
	PROGRAM_MODE program_mode;			/* Program Mode					*/
	LONG aperture_number_numerator;		/* Aperture number numerator	*/
	LONG aperture_number_denominator;	/* Aperture number denominator	*/
	LONG exposure_time;					/* Exposure time [midro-sec]	*/		
	LONG em_option_1;					/* Reserved						*/
} EXPOSURE_MODE, *pEXPOSURE_MODE;

typedef struct _CURRENT_SETTING
{
	CAM_RES res_select; 				/* Resolution mode									*/
	CAM_FLASH_MODE flash_ctl;			/* Flash mode										*/
	LONG picture_count; 				/* Number of pictures stored in the internal memory */
	LONG remaining_count;				/* Number of remaining pictures which can be stored */
	SHORT battery_status;				/* Battery status									*/
	LONG extnal_picture_count;			/* Number of pictures stored in the external memory */
	LONG extnal_remaining_count;		/* Number of remaining pictures which can be stored in external memory	*/
	LONG cs_option_3;					/* Not used 										*/
} CURRENT_SETTING, *pCURRENT_SETTING;

typedef struct _DIAG_INFO_2
{
	UCHAR vendor_id_name[8];			/* Vendor ID name		*/
	UCHAR product_id_name[16];			/* Product ID name		*/
	UCHAR product_rev_label[4];			/* Product Rev.Label	*/
	UCHAR serial_number[12];			/* Serial number		*/
} DIAG_INFO_2, *pDIAG_INFO_2;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -