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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? webcam.h

?? usb webcam driver for windows mobile 5
?? H
字號:
//-------------------------------------------------------------------------
// <copyright file="Webcam.h" company="Microsoft">
//    Copyright (c) Microsoft Corporation.  All rights reserved.
//
//    The use and distribution terms for this software are covered by the
//    Microsoft Limited Permissive License (Ms-LPL) 
//    http://www.microsoft.com/resources/sharedsource/licensingbasics/limitedpermissivelicense.mspx 
//    which can be found in the file MS-LPL.txt at the root of this distribution.
//    By using this software in any fashion, you are agreeing to be bound by
//    the terms of this license.
//
//    You must not remove this notice, or any other, from this software.
// </copyright>
// 
// <summary>
//    WebCam Driver Header file.
// </summary>
//-------------------------------------------------------------------------
//======================================================================
// Header file
//
// Author: Douglas Boling
//======================================================================

// Enable the following to redirect DEBUGMSG macro out a console
#if 0
#ifdef DEBUG
#undef DEBUGMSG
#define DEBUGMSG(cond,printf_exp)   \
   ((void)((cond)?(wprintf printf_exp),1:0))
#endif
#endif


#define dim(a)  (sizeof(a)/sizeof(a[0]))
//
// Debug zone support
//
// Used as a prefix string for all debug zone messages.
#define DTAG        TEXT ("WebCam: ")

// Debug zone constants
#define ZONE_ERROR      DEBUGZONE(0)
#define ZONE_WARNING    DEBUGZONE(1)
#define ZONE_FUNC       DEBUGZONE(2)
#define ZONE_INIT       DEBUGZONE(3)
#define ZONE_DRVCALLS   DEBUGZONE(4)
#define ZONE_EXENTRY  (ZONE_FUNC | ZONE_DRVCALLS)
#define ZONE_USBLOAD    DEBUGZONE(5)
#define ZONE_THREAD     DEBUGZONE(6)
#define ZONE_THSTATE	DEBUGZONE(7)
#define ZONE_PACKETS    DEBUGZONE(8)
#define ZONE_TIMING     DEBUGZONE(9)
#define ZONE_READDATA   DEBUGZONE(10)
#define ZONE_PROBE      DEBUGZONE(11)
#define ZONE_STILL      DEBUGZONE(12)
#define ZONE_VIDFRAME   DEBUGZONE(13)
#define ZONE_FEATURE    DEBUGZONE(14)

//
// Declare the driver entry points here. 
//
#ifdef __cplusplus
extern "C" {
#endif //__cplusplus
DWORD CAM_Init (DWORD dwContext);
BOOL  CAM_Deinit (DWORD dwContext);
DWORD CAM_Open (DWORD dwContext, DWORD dwAccess, DWORD dwShare);
BOOL  CAM_Close (DWORD dwOpen);
DWORD CAM_Read (DWORD dwOpen, LPVOID pBuffer, DWORD dwCount);
DWORD CAM_Write (DWORD dwOpen, LPVOID pBuffer, DWORD dwCount);
DWORD CAM_Seek (DWORD dwOpen, long lDelta, WORD wType);
DWORD CAM_IOControl (DWORD dwOpen, DWORD dwCode, 
                     PBYTE pIn, DWORD dwIn,
                     PBYTE pOut, DWORD dwOut, 
                     DWORD *pdwBytesWritten);
void CAM_PowerDown (DWORD dwContext);
void CAM_PowerUp (DWORD dwContext);

#ifdef __cplusplus
} // extern "C"
#endif //__cplusplus

//
// Our current version
//
#define DRV_MAJORVER   0
#define DRV_MINORVER   6
//
// USB constants
//

#define DRIVER_NAME   TEXT("Webcam.dll")

#define DEVICE_PREFIX TEXT("CAM")

#define CLASS_NAME_SZ    TEXT("Video_Class")
#define CLIENT_REGKEY_SZ TEXT("Drivers\\USB\\ClientDrivers\\Video_Class")

//
// USB Video Interface Descriptor
//
#define USB_MISC_INTERFACE_CLASS       0xEF
#define USB_COMMON_INTERFACE_SUBCLASS  0x02
#define USB_DEVICE_CLASS_VIDEO         0x0E

//
// USB_DRIVER_SETTINGS
//
#define DRIVER_SETTINGS \
            sizeof(USB_DRIVER_SETTINGS),  \
            USB_NO_INFO,   \
            USB_NO_INFO,   \
            USB_NO_INFO,   \
            USB_NO_INFO,   \
            USB_NO_INFO,   \
            USB_NO_INFO,   \
            USB_DEVICE_CLASS_VIDEO,   \
            USB_NO_INFO,   \
            USB_NO_INFO

// Used to describe a memory mapped object
typedef struct {
	HANDLE h;
	PBYTE p;
} MMOBJSTRUCT, *PMMOBJSTRUCT;

//
// Driver instance structure  
//
typedef struct {
    DWORD dwSize;
	CRITICAL_SECTION csDCall;
    INT nNumOpens;
	HANDLE hStreamDevice;
	// USB support
	USB_HANDLE hDevice;
	LPCUSB_FUNCS lpUsbFuncs;
	HANDLE hUnload;
	BOOL fUnloadFlag;
	// Driver stuff
	MMOBJSTRUCT mmFrameBuff;
	DWORD dwPddContext;
	BOOL fBusy;             // Added in 0.6 in case of multiple GetNextFrame calls
} DRVCONTEXT, *PDRVCONTEXT;

//
// Structure used by the driver to manage the frame buffers in the 
// memory mapped object.  In almost all cases, applications
// don't need to know about this structure.
//
typedef struct {
	DWORD cbSize;				// Size of the structure
	WORD  wFormatIndex;			// Video format index
	WORD  wFrameIndex;			// Video frame size index
	DWORD dwInterval;			// Video frame interval 
	HANDLE hNewFrame;			// New Frame event returned to caller
	DWORD dwLastGoodBuff;		// Index of buff containing latest complete frame
	DWORD dwCurrBuff;			// Index of buff currenting being written to by driver
	DWORD dwValidFrames;		// Number of frames since last GetFrame call (will be at least 1)
	DWORD dwNumBuffs;			// Number of buffers
	DWORD dwBuffSize;			// Max Frame size of each buffer 
								// Real buffer size == dwBuffSize + dwPreBuffSize + dwPostBuffSize
	DWORD dwReserved;			// Used by driver to hold local handle of new frame event
	CRITICAL_SECTION csBuffSync;// Used by driver to hold critical section (unused by app)
	FRAMEBUFFSTRUCT pFrame[1];	// First value in array of buffer structures
} VIDSTREAMSTRUCT, *PVIDSTREAMSTRUCT;

// Default next frame time out value.  This is long because
// a still capture can take a long time and interrupt the
// video stream.
#define DEFNEXTFRAMETIMEOUT  5000

// Used in pdd_GetNextVideoFrame
#define FRAME_OLDEST         0x0001
#define FRAME_NEWESTAVAIL    0x0002
#define FRAME_PURGEOLD       0x0004

PDRVCONTEXT GetConfigData (DWORD dwContext);

//
// MDD functions
//
int mdd_GetVersion (PDRVCONTEXT pDrv, PBYTE pOut, DWORD dwOut, PDWORD pdwBytesWritten);
int mdd_GetParameterList (PDRVCONTEXT pDrv, PBYTE pOut, DWORD dwOut, PDWORD pdwBytesWritten);
int mdd_GetParameter (PDRVCONTEXT lpDrv, PBYTE pIn, DWORD dwIn, PBYTE pOut, DWORD dwOut, PDWORD pdwBytesWritten);
int mdd_SetParameter (PDRVCONTEXT pDrv, PBYTE pIn, DWORD dwIn, PBYTE pOut, DWORD dwOut, PDWORD pdwBytesWritten);
int mdd_QueryVideoFormats (PDRVCONTEXT pDrv, PBYTE pIn, DWORD dwIn, PBYTE pOut, DWORD dwOut, PDWORD pdwBytesWritten);
int mdd_GetVideoFormat (PDRVCONTEXT pDrv, PBYTE pIn, DWORD dwIn, PBYTE pOut, DWORD dwOut, PDWORD pdwBytesWritten);
int mdd_SetVideoFormat (PDRVCONTEXT lpDrv, PBYTE pIn, DWORD dwIn, PDWORD pdwBytesWritten);
int mdd_GetNextVideoFrame (PDRVCONTEXT pDrv, PBYTE pIn, DWORD dwIn, PBYTE pOut, DWORD dwOut, PDWORD pdwBytesWritten);
int mdd_GetCurrentFormat (PDRVCONTEXT lpDrv, PBYTE pOut, DWORD dwOut, PDWORD pdwBytesWritten);
int mdd_StopVideoStream (PDRVCONTEXT lpDrv);
int mdd_QueryStillFormats (PDRVCONTEXT pDrv, PBYTE pIn, DWORD dwIn, PBYTE pOut, DWORD dwOut, PDWORD pdwBytesWritten);
int mdd_GetStillImage (PDRVCONTEXT pDrv, PBYTE pIn, DWORD dwIn, PBYTE pOut, DWORD dwOut, PDWORD pdwBytesWritten);
int mdd_WaitOnCameraEvent (PDRVCONTEXT pDrv, PBYTE pIn, DWORD dwIn, PBYTE pOut, DWORD dwOut, PDWORD pdwBytesWritten);


int AllocMMObject (int nSize, PMMOBJSTRUCT obj);
int FreeMMObject (PMMOBJSTRUCT obj);

//
// PDD Interface
//

int pdd_DeviceAttach (USB_HANDLE hDevice, LPCUSB_FUNCS lpUsbFuncs,
                      LPCUSB_INTERFACE lpInterface, LPCWSTR szUniqueDriverId,
                      LPCUSB_DRIVER_SETTINGS lpDriverSettings, PDWORD pdwContext);
int pdd_DeviceDetach (PDRVCONTEXT pDrv);

int pdd_DrvInit (PDRVCONTEXT);
void pdd_DrvUninit (PDRVCONTEXT);

int pdd_DrvOpen (PDRVCONTEXT);
void pdd_DrvClose (PDRVCONTEXT);

int pdd_GetFeatureList (PDRVCONTEXT pDrv, DWORD *, int);
int pdd_QueryFeature (PDRVCONTEXT pDrv, DWORD, PFEATUREPROP);
int pdd_GetParameter (PDRVCONTEXT pDrv, DWORD, PDWORD);
int pdd_SetParameter (PDRVCONTEXT pDrv, DWORD, DWORD);

int pdd_GetFormatParameters (PDRVCONTEXT pDrv, BYTE bFormatIndex, BYTE bFrameIndex, BOOL fStill, 
							 PFORMATPROPS pProps); 
int pdd_StartVidStream (PDRVCONTEXT pDrv, BYTE bFormatIndex, BYTE bFrameIndex, PVIDSTREAMSTRUCT pstrStream, 
						DWORD dwFrameInterval);
// Modified in 0.6
//int pdd_GetNextVideoFrame (PDRVCONTEXT pDrv, BOOL fGetLatest, PBYTE *ppFrameBuff, DWORD *dwFrameBytes, 
//						   DWORD *pdwValidFrames, PBYTE pFrameReturn, DWORD dwTimeout);
int pdd_GetNextVideoFrame (PDRVCONTEXT pDrv, PBYTE *ppFrameBuff, DWORD *dwFrameBytes, 
						   DWORD *pdwValidFrames, PBYTE pFrameReturn, DWORD dwTimeout, DWORD dwFrameFlags);

int pdd_StopVidStream (PDRVCONTEXT pDrv);
int pdd_GetCurrentFormat (PDRVCONTEXT pDrv, PFORMATPROPS pProps);
int pdd_GetStillImage (PDRVCONTEXT pDrv, int nFrameIndex, int nFormatIndex, PBYTE pOut, DWORD dwOut, 
					   PDWORD pdwBytesWritten);

int pdd_WaitOnCameraEvent (PDRVCONTEXT pDrv, DWORD dwEventMask, DWORD dwTimeout, DWORD *pdwSignaledEvent);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品免费电影| av不卡在线播放| 成人做爰69片免费看网站| 日韩欧美卡一卡二| 毛片不卡一区二区| 久久在线免费观看| 色欲综合视频天天天| 五月开心婷婷久久| 精品国产一区二区三区久久久蜜月 | 日韩午夜av一区| 亚洲福利一区二区| 日韩亚洲欧美成人一区| 免费人成精品欧美精品| 国产日韩欧美不卡在线| 99视频精品免费视频| 亚洲一二三四久久| 精品乱人伦小说| 成人av在线电影| 亚洲18女电影在线观看| 26uuu另类欧美| 欧美视频你懂的| 成人免费毛片片v| 国产一区在线观看视频| 亚洲免费观看高清在线观看| 91精品国产日韩91久久久久久| 国产成人免费视频网站| 日韩和欧美一区二区| 亚洲天堂免费在线观看视频| 精品剧情v国产在线观看在线| 日本高清不卡视频| 91网站黄www| voyeur盗摄精品| 国产精品一区二区不卡| 免费成人你懂的| 日本免费新一区视频| 性感美女极品91精品| 一区二区高清免费观看影视大全| 51精品视频一区二区三区| 97超碰欧美中文字幕| 成人高清视频免费观看| 国产91精品精华液一区二区三区 | 在线播放亚洲一区| 在线一区二区观看| 欧美日韩在线播放一区| 欧美日韩视频在线观看一区二区三区 | 国产成人综合亚洲网站| 久久99国产精品久久99果冻传媒| 亚洲一区视频在线观看视频| 亚洲一区二区三区四区在线| 亚洲综合免费观看高清完整版在线| 国产精品护士白丝一区av| 一区二区三区中文在线| 亚洲成人tv网| 国产盗摄女厕一区二区三区| 丰满放荡岳乱妇91ww| 色婷婷精品大在线视频| 在线电影国产精品| 国产欧美一区二区精品久导航| 中文字幕在线一区| 午夜精品国产更新| 国产一区二区三区四| 一本色道综合亚洲| 久久久久久综合| 国产专区综合网| 视频一区二区欧美| av在线播放一区二区三区| 国产欧美精品区一区二区三区 | 欧美精品一区二区三区蜜桃| 亚洲视频免费观看| 国内成+人亚洲+欧美+综合在线 | 久久国产精品色| 在线不卡免费欧美| 日韩中文字幕亚洲一区二区va在线| 97成人超碰视| 亚洲日本韩国一区| av一区二区久久| 一区二区激情视频| 欧美三级日韩三级国产三级| 午夜精品久久久久久久99水蜜桃| 色婷婷av一区| 久久66热偷产精品| 精品sm在线观看| 91最新地址在线播放| 日韩毛片一二三区| 欧美日韩久久一区| 国内成+人亚洲+欧美+综合在线| 久久综合色综合88| 成人一区在线看| 136国产福利精品导航| 黑人巨大精品欧美一区| 国产精品全国免费观看高清 | 国产制服丝袜一区| 91美女蜜桃在线| 国产精品国产精品国产专区不片| 91香蕉视频黄| 丰满岳乱妇一区二区三区| 粉嫩蜜臀av国产精品网站| 国产三区在线成人av| 日韩女优电影在线观看| 久久综合九色综合欧美98| 亚洲国产成人私人影院tom| 亚洲1区2区3区视频| 香蕉成人啪国产精品视频综合网| 精品一区二区三区视频| 国产福利一区在线观看| 激情欧美日韩一区二区| 亚洲成人动漫在线免费观看| 亚洲综合在线五月| 一区二区高清免费观看影视大全| 欧美韩日一区二区三区| 欧美一区二区三区小说| 久久精品二区亚洲w码| 国产一区二区三区蝌蚪| 久久91精品久久久久久秒播| 亚洲精品免费看| 亚洲一区在线视频观看| 免费不卡在线视频| 国产日韩av一区二区| 欧美午夜在线一二页| 成人中文字幕合集| 91女人视频在线观看| 国产乱子伦视频一区二区三区 | 亚洲午夜一区二区三区| 日韩精品中文字幕在线不卡尤物| 国产91丝袜在线播放九色| 一区在线观看视频| 日韩午夜激情视频| 国产剧情av麻豆香蕉精品| 亚洲一区二区精品3399| 一区二区三区在线免费| 亚洲资源中文字幕| 免费久久99精品国产| 国产一区美女在线| 精品视频在线免费| 亚洲免费观看高清完整版在线观看| 成人av网站在线| 中文字幕亚洲电影| 色菇凉天天综合网| 婷婷中文字幕综合| 精品电影一区二区三区| 精品一区二区三区的国产在线播放| 欧美日韩在线一区二区| 精品999在线播放| 亚洲欧美在线视频| av在线播放成人| 精品久久久久久久人人人人传媒| 亚洲国产精品国自产拍av| 日韩黄色一级片| 久久99精品国产.久久久久| 91视频在线观看免费| 国产日韩欧美高清在线| 石原莉奈在线亚洲二区| 99在线热播精品免费| 日韩精品久久久久久| 国精产品一区一区三区mba视频| 视频一区视频二区中文字幕| 国产精品一区二区无线| 6080日韩午夜伦伦午夜伦| 日韩国产欧美视频| 91老司机福利 在线| 久久久久国产精品免费免费搜索| 亚洲成人三级小说| 三级不卡在线观看| 在线视频综合导航| 亚洲最快最全在线视频| 欧美日韩精品三区| 国产一区三区三区| 亚洲美女淫视频| 久久精品无码一区二区三区 | 日韩一区二区精品葵司在线| 91福利精品视频| 成人sese在线| 国产老妇另类xxxxx| 麻豆精品蜜桃视频网站| 麻豆精品视频在线观看| 美女视频免费一区| 国产精品亲子伦对白| 成人午夜免费电影| 一区二区三区美女视频| 精品国产一二三| 不卡视频在线看| 亚洲国产日产av| 中文字幕日韩一区| 欧美日韩国产大片| 日韩精品国产精品| 日韩美女在线视频| 99久久精品国产精品久久| 亚洲一区二区三区自拍| 亚洲777理论| 日韩美女精品在线| 日韩美女天天操| 国产成a人亚洲| 久久激情五月婷婷| 中文字幕在线不卡国产视频| www.日韩av| 狠狠狠色丁香婷婷综合久久五月| 亚洲va欧美va人人爽| 夜夜精品视频一区二区| 亚洲免费av在线| 国产精品夜夜嗨|