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

📄 dllentry.c

📁 OK视频采集卡VC源代码
💻 C
📖 第 1 页 / 共 3 页
字号:
		(FARPROC )lpfnGetBoardIndex=GetProcAddress(hDLLDrv,"okGetBoardName");

		(FARPROC )lpfnGetAvailBuffer=GetProcAddress(hDLLDrv,"okGetAvailBuffer");
		(FARPROC )lpfnLockBuffer=GetProcAddress(hDLLDrv,"okLockBuffer");
		(FARPROC )lpfnUnlockAllBuffer=GetProcAddress(hDLLDrv,"okUnlockAllBuffer");

		(FARPROC )lpfnApplyMemBlock=GetProcAddress(hDLLDrv,"okApplyMemBlock");
		(FARPROC )lpfnFreeMemBlock=GetProcAddress(hDLLDrv,"okFreeMemBlock");
		(FARPROC )lpfnGetMemBlock=GetProcAddress(hDLLDrv,"okGetMemBlock");
		(FARPROC )lpfnLockMemBlock=GetProcAddress(hDLLDrv,"okLockMemBlock");
		(FARPROC )lpfnUnlockMemBlock=GetProcAddress(hDLLDrv,"UnlockMemBlock");

		(FARPROC )lpfnMulCaptureTo=GetProcAddress(hDLLDrv,"okMulCaptureTo");
		(FARPROC )lpfnMulCaptureByBuffer=GetProcAddress(hDLLDrv,"okMulCaptureByBuffer");

		(FARPROC )lpfnSaveInitParam=GetProcAddress(hDLLDrv,"okSaveInitParam");
		(FARPROC )lpfnLoadInitParam=GetProcAddress(hDLLDrv,"okLoadInitParam");

		(FARPROC )lpfnSetAllocBuffer=GetProcAddress(hDLLDrv,"okSetAllocBuffer");
		(FARPROC )lpfnSetStaticVxD=GetProcAddress(hDLLDrv,"okSetStaticVxD");
		(FARPROC )lpfnSetNTDriver=GetProcAddress(hDLLDrv,"okSetNTDriver");
		(FARPROC )lpfnSetNTDriver=GetProcAddress(hDLLDrv,"okSetLangResource");


		(FARPROC )lpfnUnRegister=GetProcAddress(hDLLDrv,"okUnRegister");
		(FARPROC )lpfnGetProgramInfo=GetProcAddress(hDLLDrv,"okGetProgramInfo");

		(FARPROC )lpfnReadProtCode=GetProcAddress(hDLLDrv,"okReadProtCode");
		(FARPROC )lpfnWriteProtCode=GetProcAddress(hDLLDrv,"okWriteProtCode");

		(FARPROC )lpfnSaveImageFile=GetProcAddress(hDLLDrv,"okSaveImageFile");
		(FARPROC )lpfnLoadImageFile=GetProcAddress(hDLLDrv,"okLoadImageFile");

		(FARPROC )lpfnLoadConfigFile=GetProcAddress(hDLLDrv,"okLoadConfigFile");
		(FARPROC )lpfnSaveConfigFile=GetProcAddress(hDLLDrv,"okSaveConfigFile");

		(FARPROC )lpfnOpenSetParamDlg=GetProcAddress(hDLLDrv,"okOpenSetParamDlg");
		(FARPROC )lpfnOpenSeqCaptureDlg=GetProcAddress(hDLLDrv,"okOpenSeqCaptureDlg");
		(FARPROC )lpfnOpenReplayDlg=GetProcAddress(hDLLDrv,"okOpenReplayDlg");
		(FARPROC )lpfnOpenReplayDlgEx=GetProcAddress(hDLLDrv,"okOpenReplayDlgEx");

		(FARPROC )lpfnBeginEncode=GetProcAddress(hDLLDrv,"okBeginEncode");
		(FARPROC )lpfnEncodeImage=GetProcAddress(hDLLDrv,"okEncodeImage");
		(FARPROC )lpfnEndEncode=GetProcAddress(hDLLDrv,"okEndEncode");
		(FARPROC )lpfnBeginDecode=GetProcAddress(hDLLDrv,"okBeginDecode");
		(FARPROC )lpfnDecodeImage=GetProcAddress(hDLLDrv,"okDecodeImage");
		(FARPROC )lpfnEndEncode=GetProcAddress(hDLLDrv,"okEndEncode");


		(FARPROC )lpfnOutputByte=GetProcAddress(hDLLDrv,"okOutputByte");
		(FARPROC )lpfnInputByte=GetProcAddress(hDLLDrv,"okInputByte");
		(FARPROC )lpfnOutputShort=GetProcAddress(hDLLDrv,"okOutputShort");
		(FARPROC )lpfnInputShort=GetProcAddress(hDLLDrv,"okInputShort");
		(FARPROC )lpfnOutputLong=GetProcAddress(hDLLDrv,"okOutputLong");
		(FARPROC )lpfnInputLong=GetProcAddress(hDLLDrv,"okInputLong");

		(FARPROC )lpfnSetPortBase=GetProcAddress(hDLLDrv,"okSetPortBase");
		(FARPROC )lpfnGetGPIOPort=GetProcAddress(hDLLDrv,"okGetGPIOPort");

		(FARPROC )lpfnGetAddrForVB=GetProcAddress(hDLLDrv,"okGetAddrForVB");
		(FARPROC )lpfnGetTickCount=GetProcAddress(hDLLDrv,"okGetTickCount");
		(FARPROC )lpfnSleep=GetProcAddress(hDLLDrv,"okSleep");
		(FARPROC )lpfnGetTickCountMicro=GetProcAddress(hDLLDrv,"okGetTickCountMicro");


		//---audio
		(FARPROC )lpfnOpenAudio=GetProcAddress(hDLLDrv,"okOpenAudio");
		(FARPROC )lpfnCloseAudio=GetProcAddress(hDLLDrv,"okCloseAudio");
		(FARPROC )lpfnCaptureAudio=GetProcAddress(hDLLDrv,"okCaptureAudio");
		(FARPROC )lpfnStopCaptureAudio=GetProcAddress(hDLLDrv,"okStopCaptureAudio");
		(FARPROC )lpfnSetAudioParam=GetProcAddress(hDLLDrv,"okSetAudioParam");
		(FARPROC )lpfnReadAudioData=GetProcAddress(hDLLDrv,"okReadAudioData");

		//---stream
		(FARPROC )lpfnOpenStream=GetProcAddress(hDLLDrv,"okOpenStream");
		(FARPROC )lpfnCloseStream=GetProcAddress(hDLLDrv,"okCloseStream");
		(FARPROC )lpfnCaptureStream=GetProcAddress(hDLLDrv,"okCaptureStream");
		(FARPROC )lpfnStopCaptureStream=GetProcAddress(hDLLDrv,"okStopCaptureStream");
		(FARPROC )lpfnSetStreamParam=GetProcAddress(hDLLDrv,"okSetStreamParam");
		(FARPROC )lpfnReadStreamData=GetProcAddress(hDLLDrv,"okReadStreamData");

		//---serial
		(FARPROC )lpfnSetSerial=GetProcAddress(hDLLDrv,"okSetSerial");
		(FARPROC )lpfnReadSerial=GetProcAddress(hDLLDrv,"okReadSerial");
		(FARPROC )lpfnWriteSerial=GetProcAddress(hDLLDrv,"okWriteSerial");
		
	}

	if(bCount || (iLoadNum==0) )
		iLoadNum++;

	return TRUE;
}

FreeOkApiDll()
{
	iLoadNum--;
	if(iLoadNum<=0) {
		FreeLibrary(hDLLDrv);
		hDLLDrv=0;
	}
	return 1;
}

FARPROC GetProcPointer(LPSTR lpszName)
{
	if(!hDLLDrv)
		hDLLDrv=LoadLibrary("OKAPI32.DLL");

	return GetProcAddress(hDLLDrv,lpszName);
}


HANDLE	WINAPI okOpenBoard(long *iIndex) 
{
	LoadOkApiDll(1);

	return lpfnOpenBoard(iIndex);
}



BOOL	WINAPI okCloseBoard(HANDLE hBoard)
{
	BOOL	ret=0;

	if(hDLLDrv)
		ret=lpfnCloseBoard(hBoard);

	if(ret)
		FreeOkApiDll();

	return ret;
}


//3. sections

long	WINAPI okGetLastError(void )
{	
	(FARPROC )lpfnGetLastError=GetProcPointer("okGetLastError");
	return lpfnGetLastError();	}

long	WINAPI okGetBufferSize(HANDLE hBoard, void **lpLinear, DWORD *dwSize)
{	
	(FARPROC )lpfnGetBufferSize=GetProcPointer("okGetBufferSize");
	return lpfnGetBufferSize(hBoard, lpLinear, dwSize);	}


LPVOID	WINAPI okGetBufferAddr(HANDLE hBoard, long iNoFrame)
{	return lpfnGetBufferAddr(hBoard, iNoFrame);	}

LPVOID	WINAPI okGetTargetInfo(HANDLE hBoard, TARGET tgt, long lNoFrame, short * wid, short * ht, long *stride)
{	return lpfnGetTargetInfo(hBoard, tgt, lNoFrame, wid, ht, stride);	}

long	WINAPI okGetTypeCode(HANDLE hBoard,LPSTR lpBoardName)
{	return lpfnGetTypeCode(hBoard,lpBoardName);	}

 
long	WINAPI okSetTargetRect(HANDLE hBoard, TARGET target, LPRECT lpTgtRect)
{	return lpfnSetTargetRect(hBoard, target, lpTgtRect);	}

BOOL	WINAPI okSetToWndRect(HANDLE hBoard, HWND hWnd)
{	return lpfnSetToWndRect(hBoard, hWnd);	}

BOOL	WINAPI okCaptureTo(HANDLE hBoard, TARGET Dest, long start, LPARAM lParam)
{	return lpfnCaptureTo(hBoard, Dest, start, lParam);	}

BOOL	WINAPI okCaptureSingle(HANDLE hBoard, TARGET Dest, LONG wParam)
{	return lpfnCaptureSingle(hBoard, Dest, wParam);	}

BOOL	WINAPI okCaptureActive(HANDLE hBoard, TARGET Dest, LONG wParam)
{	return lpfnCaptureActive(hBoard, Dest, wParam);	}

BOOL	WINAPI okCaptureThread(HANDLE hBoard, TARGET Dest, LONG wParam, LPARAM lParam)
{	return lpfnCaptureThread(hBoard, Dest, wParam, lParam);	}

BOOL	WINAPI okCaptureSequence(HANDLE hBoard, LONG wParam, LPARAM lParam)
{	return lpfnCaptureSequence(hBoard, wParam, lParam);	}

BOOL	WINAPI okCaptureToScreen(HANDLE hBoard)
{	return lpfnCaptureToScreen(hBoard);	}

BOOL	WINAPI okPlaybackFrom(HANDLE hBoard, TARGET src, long start, LPARAM lParam)
{	return lpfnPlaybackFrom(hBoard, src, start, lParam);	}

BOOL	WINAPI okPlaybackSequence(HANDLE hBoard, long start, LPARAM lParam)
{	return lpfnPlaybackSequence(hBoard, start, lParam);	}

long	WINAPI okGetCaptureStatus(HANDLE hBoard, BOOL bWait)
{	return lpfnGetCaptureStatus(hBoard, bWait);	}

BOOL	WINAPI okStopCapture(HANDLE hBoard)
{	return lpfnStopCapture(hBoard);	}

BOOL	WINAPI okCaptureByBuffer(HANDLE hBoard, TARGET dest, long start, long num)
{	return lpfnCaptureByBuffer(hBoard, dest, start, num);	}

long	WINAPI okGetSeqCapture(HANDLE hBoard, long start, long count)
{	return lpfnGetSeqCapture(hBoard, start, count);	}


BOOL	WINAPI okCaptureByBufferEx(HANDLE hBoard, long fileset, TARGET dest, long start, long num)
{	return lpfnCaptureByBufferEx(hBoard, fileset, dest, start, num);	}

BOOL	WINAPI okPlaybackByBuffer(HANDLE hBoard, TARGET src, long start, long num)
{	return lpfnPlaybackByBuffer(hBoard, src, start, num);	}

long	WINAPI okSetVideoParam(HANDLE hBoard, WORD wParam, long lParam)
{	return lpfnSetVideoParam(hBoard, wParam, lParam);	}

long	WINAPI okSetCaptureParam(HANDLE hBoard, WORD wParam, long lParam)
{	return lpfnSetCaptureParam(hBoard, wParam, lParam);	}


long	WINAPI okReadPixel(HANDLE  hBoard, TARGET src, long start, short x, short y)
{	return lpfnReadPixel(hBoard, src, start, x, y);	}

long	WINAPI okWritePixel(HANDLE  hBoard, TARGET src, long start, short x, short y, long value)
{	return lpfnWritePixel(hBoard, src, start, x, y, value);	}

long	WINAPI okSetConvertParam(HANDLE hBoard, WORD wParam, long lParam)
{	return lpfnSetConvertParam(hBoard, wParam, lParam);	}

long	WINAPI okReadRect(HANDLE  hBoard, TARGET src, long start, LPBYTE lpBuf)
{	return lpfnReadRect(hBoard, src, start, lpBuf);	}

long	WINAPI okWriteRect(HANDLE  hBoard, TARGET dst, long start, LPBYTE lpBuf)
{	return lpfnWriteRect(hBoard, dst, start, lpBuf);	}

long	WINAPI okTransferRect(HANDLE hBoard, TARGET dest, long iFirst, TARGET src, long iStart, long lNum)
{	return lpfnTransferRect(hBoard, dest, iFirst, src, iStart, lNum);	}

long	WINAPI okConvertRect(HANDLE hBoard, TARGET dst, long first, TARGET src, long start, LPARAM no)
{	return lpfnConvertRect(hBoard, dst, first, src, start, no);	}

long	WINAPI okConvertRectEx(HANDLE hDstBoard, TARGET dst, long first, HANDLE hSrcBoard, TARGET src, long start, LPARAM no)
{	return lpfnConvertRectEx(hDstBoard, dst, first, hSrcBoard, src, start, no);	}

long	WINAPI okReadRectEx(HANDLE hBoard, TARGET src, long start, LPBYTE lpBuf, LPARAM lParam)
{	return lpfnReadRectEx(hBoard, src, start, lpBuf, lParam);	}

long	WINAPI okWriteRectEx(HANDLE hBoard, TARGET dst, long start, LPBYTE lpBuf, LPARAM lParam)
{	return lpfnWriteRectEx(hBoard, dst, start, lpBuf, lParam);	}


BOOL	WINAPI okSetTextTo(HANDLE hBoard, TARGET target, LPRECT lpRect, LOGFONT *lfLogFont, SETTEXTMODE *textMode, LPSTR lpString, long lLength)
{	return lpfnSetTextTo( hBoard, target, lpRect, lfLogFont, textMode, lpString, lLength);	}

long	WINAPI okDrawEllipsTo(HANDLE hBoard, TARGET target, long lStart, LPRECT lpRect, long iForeColor)
{	return lpfnDrawEllipsTo(hBoard, target, lStart, lpRect, iForeColor);	}


HDC		WINAPI okCreateDCBitmap(HANDLE hBoard, TARGET target, HANDLE *hDCBitmap)
{	return lpfnCreateDCBitmap(hBoard, target, hDCBitmap);	}

BOOL	WINAPI okMapDCBitmapTo(HANDLE hDCBitmap, long lStart)
{	return lpfnMapDCBitmapTo(hDCBitmap, lStart);	}

BOOL	WINAPI okFreeDCBitmap(HANDLE hDCBitmap)
{	return lpfnFreeDCBitmap(hDCBitmap);	}



long	WINAPI okGetSignalParam(HANDLE hBoard, WPARAM wParam)
{	return lpfnGetSignalParam(hBoard, wParam);	}

long	WINAPI okWaitSignalEvent(HANDLE hBoard, WPARAM wParam, LPARAM lMilliSecond)
{	return lpfnWaitSignalEvent(hBoard, wParam, lMilliSecond);	}

long	WINAPI okPutSignalParam(HANDLE hBoard, WPARAM wParam, LPARAM lParam)
{	return lpfnPutSignalParam(hBoard, wParam, lParam);	}

BOOL	WINAPI okSetSeqProcWnd(HANDLE hBoard, HWND hwndMain)
{	return lpfnSetSeqProcWnd(hBoard, hwndMain);	}


BOOL	WINAPI okSetSeqCallback(HANDLE hBoard, 
								BOOL CALLBACK BeginProc(HANDLE hBoard), 
								BOOL CALLBACK SeqProc(HANDLE hBoard, long No), 
								BOOL CALLBACK EndProc(HANDLE hBoard))
{
	return lpfnSetSeqCallback(hBoard, BeginProc, SeqProc, EndProc);	
}


long	WINAPI okEnableMask(HANDLE hBoard, BOOL bMask)
{	return lpfnEnableMask(hBoard, bMask);	}

long	WINAPI okSetMaskRect(HANDLE hBoard, LPRECT lpRect, LPBYTE lpMask)
{	return lpfnSetMaskRect(hBoard, lpRect, lpMask);	}


long	WINAPI okFillOutLUT(HANDLE hBoard,  LPBYTE bLUT, short start, short num)
{	return lpfnFillOutLUT(hBoard,  bLUT, start, num);	}

long	WINAPI okFillInputLUT(HANDLE hBoard,  LPBYTE bLUT, short start, short num)

⌨️ 快捷键说明

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