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

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

?? capmain.h

?? 一個視頻采集驅動程序的源代碼
?? H
?? 第 1 頁 / 共 2 頁
字號:
//==========================================================================;
//
//  THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
//  KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
//  IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
//  PURPOSE.
//
//  Copyright (c) 1992 - 1999  Microsoft Corporation.  All Rights Reserved.
//
//==========================================================================;

#ifndef __CAPMAIN_H__
#define __CAPMAIN_H__

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

// ------------------------------------------------------------------------
// The master list of all streams supported by this driver
// ------------------------------------------------------------------------

// Warning:  The stream numbers below MUST be the same as its position
//           in the Streams[] array in the capstrm.h file.
typedef enum {
    STREAM_Capture = 0,
    STREAM_Preview,
    STREAM_VBI,
    STREAM_CC,
    STREAM_NABTS,
    STREAM_AnalogVideoInput,
    MAX_TESTCAP_STREAMS         // This entry MUST be last; it's the size
}; 

// ------------------------------------------------------------------------
//  Other misc stuff
// ------------------------------------------------------------------------

#ifndef FIELDOFFSET
#define FIELDOFFSET(type, field)        ((LONG_PTR)(&((type *)1)->field)-1)
#endif

#ifndef mmioFOURCC    
#define mmioFOURCC( ch0, ch1, ch2, ch3 )                \
        ( (DWORD)(BYTE)(ch0) | ( (DWORD)(BYTE)(ch1) << 8 ) |    \
        ( (DWORD)(BYTE)(ch2) << 16 ) | ( (DWORD)(BYTE)(ch3) << 24 ) )
#endif
  
#define FOURCC_YUV422       mmioFOURCC('U', 'Y', 'V', 'Y')

typedef struct _STREAMX;
typedef struct _STREAMX *PSTREAMX;

typedef struct _COMPRESSION_SETTINGS {
    LONG                     CompressionKeyFrameRate;
    LONG                     CompressionPFramesPerKeyFrame;
    LONG                     CompressionQuality;
} COMPRESSION_SETTINGS, *PCOMPRESSION_SETTINGS;

//
// definition of the full HW device extension structure This is the structure
// that will be allocated in HW_INITIALIZATION by the stream class driver
// Any information that is used in processing a device request (as opposed to
// a STREAM based request) should be in this structure.  A pointer to this
// structure will be passed in all requests to the minidriver. (See
// HW_STREAM_REQUEST_BLOCK in STRMINI.H)
//

typedef struct _HW_DEVICE_EXTENSION {
    PULONG                   ioBaseLocal;                           // board base address
    USHORT                   Irq;                                   // IRQ level
    BOOLEAN                  IRQExpected;                           // IRQ expected
    PSTREAMX                 pStrmEx [MAX_TESTCAP_STREAMS];         // Pointers to each stream
    UINT                     ActualInstances [MAX_TESTCAP_STREAMS]; // Counter of instances per stream
    PDEVICE_OBJECT           PDO;                                   // Physical Device Object
    DEVICE_POWER_STATE       DeviceState;                           // D0 ... D3

    // Spinlock and Queue for the Adapter
    BOOL                     AdapterQueueInitialized;               // Stays TRUE after first init
    KSPIN_LOCK               AdapterSpinLock;                       // Multiprocessor safe access to AdapterSRBList
    LIST_ENTRY               AdapterSRBList;                        // List of pending adapter commands
    BOOL                     ProcessingAdapterSRB;                  // Master flag which prevents reentry

    // Spinlocks and Queues for each data stream
    LIST_ENTRY               StreamSRBList[MAX_TESTCAP_STREAMS];    // List of pending read requests
    KSPIN_LOCK               StreamSRBSpinLock[MAX_TESTCAP_STREAMS];// Multiprocessor safe access to StreamSRBList
    int                      StreamSRBListSize[MAX_TESTCAP_STREAMS];// Number of entries in the list

    // Control Queues for each data stream
    LIST_ENTRY               StreamControlSRBList[MAX_TESTCAP_STREAMS];
    BOOL                     ProcessingControlSRB[MAX_TESTCAP_STREAMS];

    // Unique identifier for the analog video input pin
    KSPIN_MEDIUM             AnalogVideoInputMedium;
    UINT                     DriverMediumInstanceCount;             // Unique Medium.Id for multiple cards

    // Crossbar settings
    LONG                     VideoInputConnected;                   // which input is the video out connected to?
    LONG                     AudioInputConnected;                   // which input is the audio out connected to?

    // TV Tuner settings
    ULONG                    TunerMode;                 // TV, FM, AM, ATSC
    ULONG                    Frequency;
    ULONG                    VideoStandard;
    ULONG                    TuningQuality;
    ULONG                    TunerInput;
    ULONG                    Country;
    ULONG                    Channel;
    ULONG                    Busy;

    // TV Audio settings
    ULONG                    TVAudioMode;

    // VideoProcAmp settings
    LONG                     Brightness;
    LONG                     BrightnessFlags;
    LONG                     Contrast;
    LONG                     ContrastFlags;
    LONG                     ColorEnable;
    LONG                     ColorEnableFlags;
    
    // CameraControl settings
    LONG                     Focus;
    LONG                     FocusFlags;
    LONG                     Zoom;
    LONG                     ZoomFlags;
    
    // AnalogVideoDecoder settings
    LONG                     VideoDecoderVideoStandard;
    LONG                     VideoDecoderOutputEnable;
    LONG                     VideoDecoderVCRTiming;

    // VideoControl settings (these are set if a pin is not opened,
    // otherwise, the STREAMEX values are used.
    LONG                     VideoControlMode;

    // Compressor settings (these are set if a pin is not opened,
    // otherwise, the STREAMEX values are used.
    COMPRESSION_SETTINGS     CompressionSettings;

    // Channel Change information
    KS_TVTUNER_CHANGE_INFO   TVTunerChangeInfo;

    // Bits indicating protection status; eg, has Macrovision been detected?
    ULONG                    ProtectionStatus;

} HW_DEVICE_EXTENSION, *PHW_DEVICE_EXTENSION;

//
// this structure is our per stream extension structure.  This stores
// information that is relevant on a per stream basis.  Whenever a new stream
// is opened, the stream class driver will allocate whatever extension size
// is specified in the HwInitData.PerStreamExtensionSize.
//
 
typedef struct _STREAMEX {
    PHW_DEVICE_EXTENSION        pHwDevExt;          // For timer use
    PHW_STREAM_OBJECT           pStreamObject;      // For timer use
    KS_VIDEOINFOHEADER         *pVideoInfoHeader;   // format (variable size!)
    KS_DATARANGE_VIDEO_VBI     *pVBIStreamFormat;
    KS_FRAME_INFO               FrameInfo;          // PictureNumber, etc.
    KS_VBI_FRAME_INFO           VBIFrameInfo;       // PictureNumber, etc.
    ULONG                       fDiscontinuity;     // Discontinuity since last valid
    KSSTATE                     KSState;            // Run, Stop, Pause
    UCHAR                       LineBuffer[720 * 3];// working buffer (RGB24)

    // Clock 
    HANDLE                      hMasterClock;       // Master clock to use
    REFERENCE_TIME              QST_Now;            // KeQuerySystemTime currently
    REFERENCE_TIME              QST_NextFrame;      // When to capture the next frame
    REFERENCE_TIME              QST_StreamTime;     // Stream time reported by master clock

    REFERENCE_TIME              AvgTimePerFrame;    // Extracted from pVideoInfoHeader

    // Compressor settings (note these are duplicated in the 
    // HW_DEVICE_EXTENSION to allow setting these before a pin is created)
    COMPRESSION_SETTINGS        CompressionSettings;

    // VideoControl settings (note these are duplicated in the 
    // HW_DEVICE_EXTENSION to allow setting these before a pin is created)
    LONG                        VideoControlMode;

    // Kernel DDraw interface
    BOOL                        KernelDirectDrawRegistered;
    HANDLE                      UserDirectDrawHandle;       // DD itself
    HANDLE                      KernelDirectDrawHandle;
    BOOL                        PreEventOccurred;
    BOOL                        PostEventOccurred;

    BOOL                        SentVBIInfoHeader;
} STREAMEX, *PSTREAMEX;

//
// this structure defines the per request extension.  It defines any storage
// space that the mini driver may need in each request packet.
//

typedef struct _SRB_EXTENSION {
    LIST_ENTRY                  ListEntry;
    PHW_STREAM_REQUEST_BLOCK    pSrb;
    HANDLE                      UserSurfaceHandle;      // DDraw
    HANDLE                      KernelSurfaceHandle;    // DDraw
} SRB_EXTENSION, * PSRB_EXTENSION;

// -------------------------------------------------------------------
//
// Adapter level prototypes
//
// These functions affect the device as a whole, as opposed to 
// affecting individual streams.
//
// -------------------------------------------------------------------

//
// DriverEntry:
//
// This routine is called when the mini driver is first loaded.  The driver
// should then call the StreamClassRegisterAdapter function to register with
// the stream class driver
//

ULONG DriverEntry (PVOID Context1, PVOID Context2);

//
// This routine is called by the stream class driver with configuration
// information for an adapter that the mini driver should load on.  The mini
// driver should still perform a small verification to determine that the
// adapter is present at the specified addresses, but should not attempt to
// find an adapter as it would have with previous NT miniports.
//
// All initialization of the adapter should also be performed at this time.
//

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美三级在线视频| 欧美国产禁国产网站cc| 欧美激情在线一区二区| 毛片一区二区三区| 久久午夜电影网| 欧美亚洲国产一区在线观看网站| 亚洲女人小视频在线观看| 中文字幕在线观看一区| 狠狠色丁香久久婷婷综合_中| 成人av网站在线观看免费| 中文av一区二区| 欧美性大战xxxxx久久久| 婷婷久久综合九色综合伊人色| 欧美一级久久久| 成人免费观看视频| 亚洲国产日韩综合久久精品| 欧美一区二区三区视频免费播放 | 国产精品高潮呻吟| 666欧美在线视频| 国产精品一区在线观看乱码 | 午夜欧美视频在线观看| 91精品黄色片免费大全| av电影在线不卡| 免费成人小视频| 亚洲在线免费播放| 欧美国产乱子伦| 日韩一区二区三区四区| 91丨九色丨国产丨porny| 蜜臀精品一区二区三区在线观看| 精品粉嫩超白一线天av| 欧美精品三级日韩久久| 色婷婷一区二区| 99久久精品国产导航| 亚洲成人动漫一区| 亚洲一区国产视频| 国产欧美精品一区| 日韩欧美的一区| 欧美三区免费完整视频在线观看| 成人一区二区三区视频在线观看| 激情欧美一区二区| 国产一区在线观看视频| 五月婷婷激情综合| 亚洲国产视频直播| 日产欧产美韩系列久久99| 日本中文一区二区三区| 亚洲第一主播视频| 日本视频一区二区| 国产精品一级在线| 蜜桃视频一区二区三区| 毛片av一区二区三区| 国产不卡高清在线观看视频| 成人福利视频在线| jvid福利写真一区二区三区| 91国产精品成人| 777亚洲妇女| 日本一区二区免费在线| 成人欧美一区二区三区在线播放| 亚洲精品国产无套在线观| ㊣最新国产の精品bt伙计久久| 国产欧美日产一区| 首页国产丝袜综合| 国产黄色成人av| 欧美二区在线观看| 国产精品视频一二三区 | 国产99久久精品| 欧美男人的天堂一二区| 欧美激情中文不卡| 午夜精品久久久久久久蜜桃app| 午夜一区二区三区视频| 成人激情综合网站| 精品91自产拍在线观看一区| 亚洲精品久久久久久国产精华液| 精品一区二区三区久久| 欧美三级中文字幕| 一区二区三区欧美日| 福利电影一区二区| 国产亚洲综合在线| 蜜臀精品久久久久久蜜臀| 欧美亚洲一区二区在线| 欧美激情中文字幕| 成人免费视频国产在线观看| 欧美性生活久久| 亚洲欧美一区二区在线观看| 成人aa视频在线观看| 亚洲图片激情小说| 欧美日韩高清一区| 极品少妇一区二区三区精品视频 | 色悠悠亚洲一区二区| 亚洲r级在线视频| 欧美v亚洲v综合ⅴ国产v| av亚洲精华国产精华精| 亚洲综合成人在线视频| 欧美本精品男人aⅴ天堂| 欧美日韩1区2区| 国产在线国偷精品免费看| 亚洲同性gay激情无套| 日韩视频一区在线观看| 国产成人啪午夜精品网站男同| 亚洲综合成人网| 精品国产亚洲在线| 欧美videossexotv100| 色94色欧美sute亚洲线路一久| 奇米一区二区三区| 亚洲欧美另类小说| 久久综合九色综合欧美就去吻| 欧洲精品一区二区三区在线观看| 美女视频网站久久| 亚洲高清久久久| 一区二区在线观看av| 中文乱码免费一区二区| 久久免费视频色| 91精品国产aⅴ一区二区| 顶级嫩模精品视频在线看| 男人的j进女人的j一区| 日韩综合一区二区| 秋霞成人午夜伦在线观看| 亚洲最新视频在线观看| 亚洲一区二区免费视频| 亚洲国产日韩a在线播放性色| 亚洲午夜久久久久| 亚洲色图19p| 亚洲无人区一区| 久久国产尿小便嘘嘘尿| 国产一区二三区| 欧美一二三四在线| 日韩免费一区二区| 精品91自产拍在线观看一区| 国产亚洲欧美色| 久久精品免费在线观看| 一区二区三区四区不卡视频| 亚洲一区自拍偷拍| 青青青爽久久午夜综合久久午夜| 激情六月婷婷综合| 色88888久久久久久影院野外| 欧美日韩综合色| 日本一区二区三级电影在线观看| 国产综合久久久久久久久久久久| 国产成人久久精品77777最新版本| 精品无码三级在线观看视频| 一区二区欧美视频| 性感美女极品91精品| 成人欧美一区二区三区视频网页| 精品久久久久久久久久久久久久久| 91网站在线观看视频| 亚洲图片一区二区| 国产东北露脸精品视频| 欧美综合天天夜夜久久| 久久综合色婷婷| 丝袜美腿亚洲色图| 日本久久一区二区| 国产精品蜜臀在线观看| 国产精品亚洲а∨天堂免在线| 成人av网站在线观看免费| 欧美精品一二三四| 亚洲夂夂婷婷色拍ww47| 粉嫩一区二区三区性色av| 欧美一区二区网站| 亚洲精品免费一二三区| 成人在线综合网站| 91蜜桃在线免费视频| 国产精品乱人伦中文| 91农村精品一区二区在线| 久久久久久久综合| 成人美女视频在线观看| 久久精品亚洲乱码伦伦中文| 精品午夜一区二区三区在线观看| 精品视频资源站| 日本免费在线视频不卡一不卡二| 97精品国产露脸对白| 亚洲自拍偷拍网站| 91精品在线一区二区| 精品影视av免费| 欧美激情一区二区三区四区 | 日韩小视频在线观看专区| 久久66热偷产精品| 国产精品视频你懂的| 91精品国产综合久久精品麻豆| 久久成人羞羞网站| 一区二区高清免费观看影视大全| 精品视频在线看| 97久久久精品综合88久久| 蜜桃视频在线观看一区二区| 中文字幕欧美一| 日韩欧美在线影院| 日本高清无吗v一区| 国产在线精品一区二区三区不卡| 日韩电影一区二区三区| 国产丝袜欧美中文另类| 欧美精品日韩一区| 色欧美日韩亚洲| 91小视频免费观看| 成人污视频在线观看| 激情五月婷婷综合| 秋霞av亚洲一区二区三| 一区二区久久久久| 亚洲一区视频在线观看视频| 国产精品三级电影| 国产精品美女视频| 亚洲日本成人在线观看| 国产精品国产a级|