亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? okapi32.h

?? OK系列PCI圖象卡編程程序,MFC方式,壓縮形式
?? H
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
	LPBITMAPINFOHEADER	lpbi; //bitmap info
	BYTE			*lpdib; //dib data
	HWND			hwndPlayBox; //1 replaying, 0 quit
	short			iCurrFrame; //current frame in buffer
	short			iReserved; //
} DIBINFO, *LPDIBINFO;



//------ okapi32 functions list -----------

#ifdef __cplusplus
extern "C" {            /* Assume C declarations for C++ */
#endif /* __cplusplus */


//--1. basic routines--------------

//prolog and epilog
HANDLE	WINAPI okOpenBoard(long *iIndex); //okLockBoard
		//open a Ok series board in specified index(0 based), return 0 if not found any
		//if success, return a handle to control specified board
		//if set index=-1, mean takes default index no. (default is 0 
		//if user not specified by 'Ok Device Manager' in Control Pannel)
		//this index can be also a specified board type code
		//this function will change iIndex to the true used index, 
		//if index input is -1 or type code 

BOOL	WINAPI okCloseBoard(HANDLE hBoard); //okCloseBoard
		//Unlock and close Ok board specified handle
long	WINAPI okGetLastError();
		//Get last error msg

long	WINAPI okGetBufferSize(HANDLE hBoard, void **lpLinear, DWORD *dwSize);
		//get base address and size of pre-allocated buffer,
		//if success return the max. frame num in which can be store according to current set
		//else return false;
LPVOID  WINAPI okGetBufferAddr(HANDLE hBoard, long lNoFrame);
		//get base address of specified frame No. in BUFFER
		//if success return the linear base address 
		//else return false;

LPVOID  WINAPI okGetTargetInfo(HANDLE hBoard, TARGET tgt, long lNoFrame, short * wid, short * ht, long *stride);
		//get target info include base address, width, height and stride specified frame No. 
		//if success return the linear base address and other infos, else return false;

short	WINAPI okGetTypeCode(HANDLE hBoard, LPSTR lpBoardName);
		//return type code and name of specified handle 


//set rect and capture 
long	WINAPI okSetTargetRect(HANDLE hBoard, TARGET target, LPRECT lpTgtRect);
		//set target (VIDEO, SCREEN, BUFFER, FRAME)capture to or from
		//if Rect.right or .bottom) are -1 , they will be filled current value
		//special note for target=BUFFER:
		//if never set CAPTURE_BUFBLOCKSIZE, the block size(W,H) of buffer will be changed 
		//according to size of right x bottom of lpRect, else the size will not changed 
		//if success return max frames this target can support, else return <=0

BOOL	WINAPI okSetToWndRect(HANDLE hBoard, HWND hWnd);
		//set client rect of hwnd as screen rect


BOOL	WINAPI okCaptureTo(HANDLE hBoard, TARGET Dest, WORD wParam, LPARAM lParam);
		//capture video source to target which can be BUFFER, SCREEN, FRAME, MONITOR 
		//wParam=start(o based), lParam>0: number of frame to capture to, =0: cont. mode,
 		//if lParam > total frames in BUFER, it will loop in rewind mode(i%total)
		//if lParam=-1 mean it loop infinitely until call okStopCapture
		//return max num frame can be stored in the target if success,
		// return 0 if failed(eg. format not matched). -1 not support target
		//this call will return immediately not wait to finish.
		//
BOOL	WINAPI okCaptureToScreen(HANDLE hBoard);
		//Start to capture to screen (video real-time display on screen) and return immediately
		//this is just a special routine of okCaptureTo(hBoard,SCREEN,0,0)

BOOL	WINAPI okPlaybackFrom(HANDLE hBoard, TARGET src, WORD wParam, LPARAM lParam);
		//playback on monitor from target which can be BUFFER, FRAME
		//wParam=start(o based), lParam>0: number of frame to capture to, =0: cont. mode 
		//if lParam > total frames in BUFER, it will loop in rewind mode (i%total)
		//if lParam=-1 mean it loop infinitely until call okStopCapture
		//return max num frame be stored in the target if success, 
		//return 0 if wrong. -1 not support target
		//this call will return immediately not wait to finish.
		//

//get status and stop capture
long	WINAPI okGetCaptureStatus(HANDLE hBoard, BOOL bWait);
		//query capturing status, if bWait then wait to finish capturing, else return immediately.
		//return 0 if finished, if cont. mode capturing return target capture to
		//(which include SCREEN -1, FRAME -2, MONITOR -3)
		//if capturing to/from BUFFER or file, return the frame No.(1 based) being capturing 

BOOL	WINAPI okStopCapture(HANDLE hBoard);
		//Stop capturing to or playback from SCREEN, BUFFER or other targets 
		//return target just captured to or from. 
		//if capturing to/from BUFFER or file, return the frame No.(1 based) being capturing 


//capture by to /from 
BOOL	WINAPI okCaptureByBuffer(HANDLE hBoard, TARGET dest, short start, long num);
		//capture sequence images to dest by way of two frame buffers (in BUFFER), 
		//the frame size and format is taken as same as current config of BUFFER
		//if dest is file name which can be .seq or .bmp (will generate multi bmp files)
		//dest can be also a user memory pointer or a BLOCKINFO pointer (with user memory pointer)
		//retrun true immediately if success. num should be great than 0

		
BOOL	WINAPI okPlaybackByBuffer(HANDLE hBoard, TARGET src, short start, long num);
		//playback sequence images on monitor from src by way of two frame buffers (in BUFFER)
		//the size and format of BUFFER will be changed to same as src
		//src can be a file name which may be .seq or .bmp (first orderd bmp files) 
		////src can be also a BLOCKINFO pointer (with infos of user memory pointer,size and format)
		//if src is just user memory pointer, this function will think its block size and format 
		//are same as current config of BUFFER (in this case can not support loop function).
		//retrun true immediately if success 
		//if num is great than the true frame number in src, it will loop back
		//if num=-1 mean it will loop infinitely until call okStopCapture

//set and get params
long	WINAPI okSetVideoParam(HANDLE hBoard, WORD wParam, long lParam);
		//----set video param sub-function defines
		//set video param and return previous param; 
		//if input lParam=-1, just return previous param 			
		//if not support return -1, if error return -2 

long	WINAPI okSetCaptureParam(HANDLE hBoard, WORD wParam, long lParam);
		//set capture param and return previous param; 
		//if input lParam=-1, just return previous param 			
		//if not support return -1, if error return -2 


//transfer and convert rect
long	WINAPI okSetConvertParam(HANDLE hBoard, WORD wParam, long lParam);
		//set convert param for for function okConvertRect 
		//if not support return -1, if error return -2 

long	WINAPI okReadRect(HANDLE hBoard, TARGET src, short start, LPBYTE lpBuf);
		//read data into lpBuf from rect(set previous) in frame start of dst (SCREEN, BUFFER, FRAME)
		//the data in lpBuf stored in way row by row
		//if src not supported return -1, if failed return 0, 
		//return -1 if not support, return 0 failed, 
		//if success return data length read in byte
		//if lpBuf=NULL, just return data length to read

long	WINAPI okWriteRect(HANDLE hBoard, TARGET dst, short start, LPBYTE lpBuf);
		//write data in lpBuf to rect(set previous) of dst (SCREEN, BUFFER, FRAME)
		//the data in lpBuf stored in way row by row
		//return -1 if not support, return 0 failed, 
		//if success return data length written in byte

long	WINAPI okReadRectEx(HANDLE hBoard, TARGET src, short start, LPBYTE lpBuf, LPARAM lParam);
		//read data into lpBuf from rect(set previous) in frame start of dst (SCREEN, BUFFER, FRAME)
		//the data in lpBuf stored in way row by row
		//if src not supported return -1, if failed return 0, 
		//return -1 if not support, return 0 failed, 
		//if success return data length read in byte
		//if lpBuf=NULL, just return data length to read
		//LOWORD(lParam)is form code for bits of lpBuf (e.g.:FORM_GRAY8),if it is 0 mean: as same as src
        //HIWORD(LParam) is the mode of taking channels. mode=0 take all, =1 red, =2 green, =3 blue;

long	WINAPI okWriteRectEx(HANDLE hBoard, TARGET dst, short start, LPBYTE lpBuf, LPARAM lParam);
		//write data in lpBuf to rect(set previous) of dst (SCREEN, BUFFER, FRAME)
		//the data in lpBuf stored in way row by row
		//return -1 if not support, return 0 failed, 
		//if success return data length written in byte
		//LOWORD(lParam)is form code for bits of lpBuf (e.g.:FORM_GRAY8),if it is 0 mean: as same as dst
        //HIWORD(LParam) is the mode of taking channels. mode=0 take all, =1 red, =2 green, =3 blue;

long	WINAPI okTransferRect(HANDLE hBoard, TARGET dest, short iFirst, TARGET src, short iStart, long lNum);
		//transfer source rect to dest rect (here target can be SCREEN, BUFFER, FRAME, also BLOCKINFO point to user memory) 
		//if total in dest or src less than lNum, it will rewind to begin then continue
		//this function transfer in format of src, that means it don't convert pixel bits if dst and src are not same 
		//if src or dst not supported return -1, if failed return 0, 
		//if success return data length of one block image in byte

long	WINAPI okConvertRect(HANDLE hBoard, TARGET dst, short first, TARGET src, short start, LPARAM lParam);
		//transfer source rect to dest rect (here target can be SCREEN, BUFFER, FRAME, also BLOCKINFO point to user memory) 
		//LOWORD(lParam)=lNum, total num, HIWORD(lParam)=mode, channels to convert
		//mode=0 take all, =1 red, =2 green, =3 blue;
		//if total in dest or src < lNum, it will rewind to begin then continue
		//this function convert to pixel foramt of dst if dst has not same bits format as src 
		//if src or dst not supported return -1, if failed return 0, 
		//if success return image size of one block in pixel

long	WINAPI okConvertRectEx(HANDLE hDstBoard, TARGET dst, short first, HANDLE hSrcBoard, TARGET src, short start, LPARAM no);
		//same as the above function okConvertRect except with src handle

	
long	WINAPI okGetSignalParam(HANDLE hBoard, WPARAM wParam);
		//Get specified param of video signal source
		//if not support return -1, if error return -2, else return param

long	WINAPI okWaitSignalEvent(HANDLE hBoard, WPARAM wParam, LPARAM lMilliSecond);
		//Wait specified signal come
		//lMilliSecond is time-out time in milliseconds for to wait
		//if lMilliSecond is zero, the function returns current state immediately
		//if lMilliSecond is INFINITE(-1) wait forever until event come
		//return -1 not support, 0 speicfied signal not come, 1 come


BOOL	WINAPI okSetSeqProcWnd(HANDLE hBoard, HWND hwndMain);
		//set proc hwnd for receive message about sequence capture

BOOL	WINAPI okSetSeqCallback(HANDLE hBoard, 
								BOOL CALLBACK BeginProc(HANDLE hBoard), 
								BOOL CALLBACK SeqProc(HANDLE hBoard, long No), 
								BOOL CALLBACK EndProc(HANDLE hBoard));
		//set callback function for multi-frame capturing function 
		//(which are okCaptureTo, okCaptureFrom,okCaptureToFile, okCaptureFromFile)
		//see follow 

BOOL	CALLBACK BeginProc(HANDLE hBoard); //user defined callback function
		//callback this function before to capture
BOOL	CALLBACK SeqProc(HANDLE hBoard, long No); //user defined callback function
		// callback this function after finish capturing one frame
		// No is the number(0 based) frame just finished or being playbacked. 
BOOL	CALLBACK EndProc(HANDLE hBoard); //user defined callback function
		// callback this function after end capturing

//---overlay mask:
long	WINAPI okEnableMask(HANDLE hBoard, BOOL bMask);
		//0: disable mask; 1: positive mask, 2: negative mask
		//positive: 0 for win clients visible, 1 video visible
		//negative: 0 for video visible,  1 for win client (graph) visible
		//if bMask=-1 actually not set just get status previous set
		//return last mask status,
 
long	WINAPI okSetMaskRect(HANDLE hBoard, LPRECT lpRect, LPSTR lpMask);
		//Set mask rect(lpRect is relative to lpDstRect in SetScreenRect or
		//SetBufferRect, lpMask is mask code (in byte 0 or 1). one byte for one pixel
		//if lpMask==1, set all rect region in lpRect video visible
		//if lpMask==0, set all rect region in lpRect video unvisible
		//return base linear address of inner mask bit 

//---set out LUT:
long	WINAPI okFillOutLUT(HANDLE hBoard,  LPBYTE bLUT, short start, short num);
		//fill specified playback out LUT. 
		//bLut stored values to fill, (r0,g0,b0, r1,g1,b1 ...)
		//start: offset pos in LUT(based 0), num: num items to fill


//---multi cards access--------
short	WINAPI okGetSlotBoard(BOARDTYPE **lpOkInfo);
		//Query all Ok boards available in PCI bus, return total number
short	WINAPI okGetBoardIndex(char *szBoardName, short iNo);
		//Get index (start 0) of specified board name string (it can also be typcode string)
		// and order in same name (start 0), 
		//return -1 if no this specified ok board
short	WINAPI okGetBoardName(long lIndex, LPSTR szBoardName);
		//get the board code and name of the specified index 
		//return the type code if success else return 0 if no card

BOOL	WINAPI okLoadInitParam(HANDLE hBoard, short iChannNo);
		//load specified chann (and as current chann.)of initial params
BOOL	WINAPI okSaveInitParam(HANDLE hBoard, short iChannNo);
		//save current init param to specified chann (and as current chann.)


long	WINAPI okGetAvailBuffer(void **lpLinear, DWORD *dwSize);
		//Get free meomery buffers pre-allocated . 
		//call it when user hope to access buffer directly or lock for some one board 
long	WINAPI okLockBuffer(HANDLE hBoard, DWORD dwSizeByte, void **lpBasLinear);
		//Lock speicfiled size meomery buffers, then other handle can not use them
		//return the size of locked buffer in fact
BOOL	WINAPI okUnlockAllBuffer(void);
		//Unlock all buffer for all handle

BOOL	WINAPI 	okMulCaptureTo(HANDLE *lphBaord,TARGET Dest, WORD wParam, LPARAM lParam);
		//control multi boards to capture to target simultaneously, lphBaord are pointer of hBoard of multi board  
		//other functions are same as okCaptureByBuffer

BOOL	WINAPI 	okMulCaptureByBuffer(HANDLE *lphBaord,TARGET tgt, short start, long num);
		//control multi boards to capture by buffer simultaneously, lphBaord are pointer of hBoard of multi board  
		//other functions are same as okCaptureByBuffer


//-- set pre-allocate buffer size in k byte
long	WINAPI okSetAllocBuffer(long lSize);
		//set the new size to preallocate in k bytes, 
		//if new size is not same as current, 
		//then the functuion will restart the window system

BOOL	WINAPI okSetStaticVxD(long lMode);
		//lMode=0: check if static vxd registered.
		//=1: create static vxd register
		//=2: delete static vxd register

//---apps utilities-----------------

//save and load files
long WINAPI okSaveImageFile(HANDLE hBoard, LPSTR szFileName, long first, TARGET target, long start, long num);
	//here target can be BUFFER, SCREEN, FRAME or user buffer pointor
	//1.if ext name=".bmp":
	//create new file and than save one frame in start position of target as bmp file 
	//
	//2.if ext name=".seq":
	//save no frame from (start) in target into (first) frame pos in seq(sequence) file in sequencely.
	//if the file already exist the function will not delete it, that mean old contents in the file will be kept.
	//So if you want create a new seq file with a existed file name you must delete before this call .
	//

long WINAPI okLoadImageFile(HANDLE hBoard, LPSTR szFileName, long first, TARGET target, long start, long num);
	//here target can be BUFFER, SCREEN, FRAME or user buffer pointor
	//1.if ext name=".bmp":
	//load one frame into start position of target from bmp file 
	//
	//2.if ext name=".seq":
	//load no frame into (start) in target from (first) frame pos in seq(sequence) file in sequencely.



//apps setup dialog 
BOOL WINAPI okOpenSetParamDlg( HANDLE hBoard, HWND hParentWnd);
	//dialog to setup video param 
BOOL WINAPI okOpenSeqCaptureDlg( HANDLE hBoard, HWND hParentWnd);
	//dialog to capture sequence image

LPDIBINFO WINAPI okOpenReplayDlg( HANDLE hBoard, HWND hWnd, TARGET src, long total);
	//open modeless dialog to replay sequence images(in BUFFER, USERBUF or seq file) on SCREEN or MONITOR

#ifdef __cplusplus
}
#endif    /* __cplusplus */




//-------------------end--------------------------

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆国产91在线播放| 欧美乱妇15p| 蜜桃免费网站一区二区三区| 亚洲精品午夜久久久| 国产日韩三级在线| 久久久九九九九| 日本一区二区久久| 中文字幕一区二区不卡| 亚洲欧美偷拍另类a∨色屁股| 中文字幕第一区综合| 国产精品传媒入口麻豆| 亚洲精品国产一区二区精华液 | 国产一二三精品| 国产一区二区三区久久悠悠色av| 国产精品系列在线观看| 成人黄色免费短视频| 91视频一区二区| 欧美综合色免费| 欧美一区二区三区免费视频| 久久综合久久99| 综合久久综合久久| 午夜伊人狠狠久久| 精品一区二区久久| 不卡视频在线看| 欧美精品99久久久**| 久久婷婷国产综合国色天香| 亚洲视频一区在线| 日本午夜一区二区| 成人激情免费视频| 欧美年轻男男videosbes| 日韩一区二区在线看| 中文字幕+乱码+中文字幕一区| 国产精品久久久久久久久免费相片| 一区二区三区四区蜜桃| 蜜臀av国产精品久久久久| 国产精品1024久久| 精品视频999| 欧美激情资源网| 午夜久久久久久电影| 成人综合在线视频| 欧美一区二区三区四区在线观看| 国产精品久久久久久一区二区三区| 午夜精品福利在线| eeuss鲁一区二区三区| 欧美日韩亚洲综合一区二区三区| 久久久www免费人成精品| 性做久久久久久免费观看| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 福利视频网站一区二区三区| 欧美剧情电影在线观看完整版免费励志电影 | 国产精品中文字幕一区二区三区| 欧美性色aⅴ视频一区日韩精品| 久久婷婷一区二区三区| 秋霞电影一区二区| 欧美在线短视频| 亚洲三级在线看| 高清日韩电视剧大全免费| 欧美变态tickling挠脚心| 亚洲午夜久久久久久久久电影网| 成人免费视频app| 欧美电影免费观看完整版| 亚洲国产精品精华液网站| 成人久久久精品乱码一区二区三区| 日韩欧美在线观看一区二区三区| 一级特黄大欧美久久久| 一本久道久久综合中文字幕| 国产精品色呦呦| 国产成人在线视频网站| 精品国产一区二区在线观看| 免费成人深夜小野草| 91精品国产乱| 免费成人你懂的| 日韩免费在线观看| 精品一区二区影视| 精品日韩一区二区| 国内不卡的二区三区中文字幕| 日韩一区二区三区av| 午夜一区二区三区视频| 青青草97国产精品免费观看| 51精品秘密在线观看| 蜜桃久久av一区| 精品伦理精品一区| 男女男精品视频网| 久久久久久久久久久电影| 精品夜夜嗨av一区二区三区| 欧美日韩免费电影| 无吗不卡中文字幕| 91精品久久久久久久久99蜜臂| 首页国产欧美日韩丝袜| 日韩欧美你懂的| 国产美女一区二区三区| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 国产精品影视在线观看| 精品久久五月天| 久久精品99国产国产精| 久久精品一级爱片| 99re6这里只有精品视频在线观看| 亚洲免费伊人电影| 777xxx欧美| 国产aⅴ综合色| 亚洲特级片在线| 欧美精品v国产精品v日韩精品 | 天堂av在线一区| 精品久久免费看| 国产成人精品一区二| 亚洲精品日韩专区silk| 91麻豆精品国产综合久久久久久 | 国产成人综合在线| 国产精品视频免费| 色综合久久九月婷婷色综合| 国产精品国产三级国产aⅴ无密码| 欧美性极品少妇| 蜜臀av国产精品久久久久| 亚洲丝袜另类动漫二区| 99久久精品一区二区| 日韩激情视频在线观看| 日韩免费观看2025年上映的电影| 国产成人自拍网| 天天操天天干天天综合网| 国产日韩欧美综合在线| 日韩欧美中文一区二区| 成人中文字幕合集| 青青草成人在线观看| 一区二区三区美女视频| 中文字幕av资源一区| 7777精品伊人久久久大香线蕉经典版下载| 国产真实乱偷精品视频免| 三级在线观看一区二区| 亚洲天堂2014| 亚洲欧美综合另类在线卡通| 精品国产一区二区三区久久影院| 欧美久久久久久久久中文字幕| 成+人+亚洲+综合天堂| 国内成人自拍视频| 日本成人在线看| 日韩精品一级中文字幕精品视频免费观看 | 欧美一区二区美女| 在线国产亚洲欧美| 91在线视频网址| 成人av手机在线观看| 国产一区在线视频| 日本欧美久久久久免费播放网| 亚洲尤物视频在线| 玉足女爽爽91| 亚洲蜜臀av乱码久久精品| 国产精品欧美一级免费| 国产性色一区二区| 久久久91精品国产一区二区精品| 久久综合成人精品亚洲另类欧美 | 另类小说视频一区二区| 青青草伊人久久| 日本中文一区二区三区| 石原莉奈在线亚洲二区| 亚洲免费av网站| 色婷婷久久99综合精品jk白丝 | 亚洲日本乱码在线观看| 日韩美女一区二区三区| 精品国产乱码久久久久久影片| 欧美日韩高清一区二区不卡| 欧洲另类一二三四区| 欧美精品在线一区二区三区| 777精品伊人久久久久大香线蕉| 欧美一区二区三区视频在线观看| 欧美一区二区三区日韩视频| 2023国产精品| 国产农村妇女精品| 亚洲综合一区二区| 亚洲成a人片在线不卡一二三区| 香蕉久久一区二区不卡无毒影院 | 精品久久久久久无| 久久久久久97三级| 最新不卡av在线| 亚洲成av人片| 国产九九视频一区二区三区| 成人美女视频在线观看| 欧美怡红院视频| 欧美不卡一区二区| 亚洲日本免费电影| 青娱乐精品在线视频| 丁香啪啪综合成人亚洲小说 | 国产福利精品导航| 色哟哟欧美精品| 精品少妇一区二区三区免费观看| 国产精品视频一区二区三区不卡| 亚洲精品久久久蜜桃| 久久国产精品第一页| 色综合天天做天天爱| 日韩午夜激情视频| 亚洲欧美日本在线| 精彩视频一区二区三区| 99久免费精品视频在线观看| 欧美性生活久久| 2017欧美狠狠色| 欧美精彩视频一区二区三区| 夜夜爽夜夜爽精品视频| 韩国女主播成人在线观看| 国产精品主播直播| 日韩精品一区二| 肉丝袜脚交视频一区二区| 91在线视频18|