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

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

?? usbfxtest.cpp

?? VisualC++寫的一個USB的驅動程序。
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
///////////////////////////////////////////////////////////////////////////////
//
//    (C) Copyright 1995 - 2003 OSR Open Systems Resources, Inc.
//    All Rights Reserved
//
//    This sofware is supplied for instructional purposes only.
//
//    OSR Open Systems Resources, Inc. (OSR) expressly disclaims any warranty
//    for this software.  THIS SOFTWARE IS PROVIDED  "AS IS" WITHOUT WARRANTY
//    OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION,
//    THE IMPLIED WARRANTIES OF MECHANTABILITY OR FITNESS FOR A PARTICULAR
//    PURPOSE.  THE ENTIRE RISK ARISING FROM THE USE OF THIS SOFTWARE REMAINS
//    WITH YOU.  OSR's entire liability and your exclusive remedy shall not
//    exceed the price paid for this material.  In no event shall OSR or its
//    suppliers be liable for any damages whatsoever (including, without
//    limitation, damages for loss of business profit, business interruption,
//    loss of business information, or any other pecuniary loss) arising out
//    of the use or inability to use this software, even if OSR has been
//    advised of the possibility of such damages.  Because some states/
//    jurisdictions do not allow the exclusion or limitation of liability for
//    consequential or incidental damages, the above limitation may not apply
//    to you.
//
//    OSR Open Systems Resources, Inc.
//    105 Route 101A Suite 19
//    Amherst, NH 03031  (603) 595-6500 FAX: (603) 595-6503
//    email bugs to: bugs@osr.com
//
//
//    MODULE:
//
//      USBFXTEST.cpp
//
//    ABSTRACT:
//
//      Test application for OSR's USBFX2 sample driver
//
//
//    AUTHOR(S):
//
//      OSR Open Systems Resources, Inc.
// 
///////////////////////////////////////////////////////////////////////////////
#include <stdio.h>
#include <windows.h>
#include <winioctl.h>
#include <initguid.h>
#include <usbfx2lk_ioctl.h>
#include <setupapi.h>
#include <stdlib.h>


//////////////////////////
// Forward Declarations //
//////////////////////////
BOOLEAN 
FindUSBFX2LKDevice(
    PHANDLE Handle
    );

__cdecl main(ULONG argc, LPSTR *argv)
{
    HANDLE          deviceHandle;
    DWORD           code;
    ULONG           bytesRet;
    DWORD           function;

    BAR_GRAPH_STATE barGraphState;
    SWITCH_STATE    switchState;
    UCHAR           sevenSegment;


    //
    // Let's see if we can find an OSR USB FX2 device
    //  in the system...
    //
    if (!FindUSBFX2LKDevice(&deviceHandle)) {

        //
        // Nope. Not much we can do, let's just get
        //  outta here...
        //
        printf("Unable to find any OSR FX2 devices!\n");

        return 1;

    }

    //
    // Infinitely print out the list of choices, ask for input, process
    // the request
    //
    while(TRUE)  {

        printf ("\nUSBFX TEST -- Functions:\n\n");
        printf ("\t1.  Light Bars\n");
        printf ("\t2.  Light entire Bar graph\n");
        printf ("\t3.  Clear entire Bar graph\n");
        printf ("\t4.  Get bar graph state\n");
        printf ("\t5.  Get Switch state\n");
        printf ("\t6.  Get Switch Interrupt Message\n");
        printf ("\t7.  Get 7 segment state\n");
        printf ("\t8.  Set 7 segment states\n");
        printf ("\n\t0. Exit\n");
        printf ("\n\tSelection: ");

        if (scanf ("%d", &function) <= 0) {

            printf("Error reading input!\n");
            return 1;

        }

        switch(function)  {

        case 1:

            for (UCHAR i = 0; i < 8; i++) {

                barGraphState.BarsAsUChar = 1 << i;

                if (!DeviceIoControl(deviceHandle,
                                     IOCTL_OSRUSBFX2_SET_BAR_GRAPH_DISPLAY  ,
                                     &barGraphState,             // Ptr to InBuffer
                                     sizeof(BAR_GRAPH_STATE),            // Length of InBuffer
                                     NULL,                 // Ptr to OutBuffer
                                     0,         // Length of OutBuffer
                                     &bytesRet,                     // BytesReturned
                                     0)) {                       // Ptr to Overlapped structure

                    code = GetLastError();

                    printf("DeviceIoControl failed with error 0x%x\n", code);

                    return(code);
                }

                printf("This is %d\n", i+1);
                Sleep(500);


            }
            break;
        case 2:

            barGraphState.BarsAsUChar = 0xFF;

            if (!DeviceIoControl(deviceHandle,
                                 IOCTL_OSRUSBFX2_SET_BAR_GRAPH_DISPLAY,
                                 &barGraphState,                 // Ptr to InBuffer
                                 sizeof(BAR_GRAPH_STATE),         // Length of InBuffer
                                 NULL,             // Ptr to OutBuffer
                                 0,            // Length of OutBuffer
                                 &bytesRet,                     // BytesReturned
                                 0)) {                       // Ptr to Overlapped structure

                code = GetLastError();

                printf("DeviceIoControl failed with error 0x%x\n", code);

                return(code);
            }

            break;

        case 3:

            barGraphState.BarsAsUChar = 0;

            if (!DeviceIoControl(deviceHandle,
                                 IOCTL_OSRUSBFX2_SET_BAR_GRAPH_DISPLAY,
                                 &barGraphState,                 // Ptr to InBuffer
                                 sizeof(BAR_GRAPH_STATE),         // Length of InBuffer
                                 NULL,             // Ptr to OutBuffer
                                 0,            // Length of OutBuffer
                                 &bytesRet,                     // BytesReturned
                                 0)) {                       // Ptr to Overlapped structure

                code = GetLastError();

                printf("DeviceIoControl failed with error 0x%x\n", code);

                return(code);
            }

            break;


        case 4:

            barGraphState.BarsAsUChar = 0;

            if (!DeviceIoControl(deviceHandle,
                                 IOCTL_OSRUSBFX2_GET_BAR_GRAPH_DISPLAY,
                                 NULL,             // Ptr to InBuffer
                                 0,            // Length of InBuffer
                                 &barGraphState,                 // Ptr to OutBuffer
                                 sizeof(BAR_GRAPH_STATE),         // Length of OutBuffer
                                 &bytesRet,                     // BytesReturned
                                 0)) {                       // Ptr to Overlapped structure

                code = GetLastError();

                printf("DeviceIoControl failed with error 0x%x\n", code);

                return(code);
            }

            printf("Bar Graph: \n");
            printf("    Bar8 is %s\n", barGraphState.Bar8 ? "ON" : "OFF");
            printf("    Bar7 is %s\n", barGraphState.Bar7 ? "ON" : "OFF");
            printf("    Bar6 is %s\n", barGraphState.Bar6 ? "ON" : "OFF");
            printf("    Bar5 is %s\n", barGraphState.Bar5 ? "ON" : "OFF");
            printf("    Bar4 is %s\n", barGraphState.Bar4 ? "ON" : "OFF");
            printf("    Bar3 is %s\n", barGraphState.Bar3 ? "ON" : "OFF");
            printf("    Bar2 is %s\n", barGraphState.Bar2 ? "ON" : "OFF");
            printf("    Bar1 is %s\n", barGraphState.Bar1 ? "ON" : "OFF");

            break;

        case 5:

            switchState.SwitchesAsUChar = 0;

            if (!DeviceIoControl(deviceHandle,
                                 IOCTL_OSRUSBFX2_READ_SWITCHES,
                                 NULL,             // Ptr to InBuffer
                                 0,            // Length of InBuffer
                                 &switchState,                 // Ptr to OutBuffer
                                 sizeof(SWITCH_STATE),         // Length of OutBuffer
                                 &bytesRet,                     // BytesReturned
                                 0)) {                       // Ptr to Overlapped structure

                code = GetLastError();

                printf("DeviceIoControl failed with error 0x%x\n", code);

                return(code);
            }

            printf("Switches: \n");
            printf("    Switch8 is %s\n", switchState.Switch8 ? "ON" : "OFF");
            printf("    Switch7 is %s\n", switchState.Switch7 ? "ON" : "OFF");
            printf("    Switch6 is %s\n", switchState.Switch6 ? "ON" : "OFF");
            printf("    Switch5 is %s\n", switchState.Switch5 ? "ON" : "OFF");
            printf("    Switch4 is %s\n", switchState.Switch4 ? "ON" : "OFF");
            printf("    Switch3 is %s\n", switchState.Switch3 ? "ON" : "OFF");
            printf("    Switch2 is %s\n", switchState.Switch2 ? "ON" : "OFF");
            printf("    Switch1 is %s\n", switchState.Switch1 ? "ON" : "OFF");
           
            break;

        case 6:   {
            switchState.SwitchesAsUChar = 0;

            if (!DeviceIoControl(deviceHandle,
                                 IOCTL_OSRUSBFX2_GET_INTERRUPT_MESSAGE,
                                 NULL,             // Ptr to InBuffer
                                 0,            // Length of InBuffer
                                 &switchState,                 // Ptr to OutBuffer
                                 sizeof(switchState),         // Length of OutBuffer
                                 &bytesRet,                     // BytesReturned
                                 0)) {                       // Ptr to Overlapped structure

                code = GetLastError();

                printf("DeviceIoControl failed with error 0x%x\n", code);

                return(code);
            }

            printf("Switches:\n");
            printf("    Switch8 is %s\n", switchState.Switch8 ? "ON" : "OFF");
            printf("    Switch7 is %s\n", switchState.Switch7 ? "ON" : "OFF");
            printf("    Switch6 is %s\n", switchState.Switch6 ? "ON" : "OFF");
            printf("    Switch5 is %s\n", switchState.Switch5 ? "ON" : "OFF");
            printf("    Switch4 is %s\n", switchState.Switch4 ? "ON" : "OFF");
            printf("    Switch3 is %s\n", switchState.Switch3 ? "ON" : "OFF");
            printf("    Switch2 is %s\n", switchState.Switch2 ? "ON" : "OFF");
            printf("    Switch1 is %s\n", switchState.Switch1 ? "ON" : "OFF");
            }
            break;

        case 7:

            sevenSegment = 0;

            if (!DeviceIoControl(deviceHandle,
                                 IOCTL_OSRUSBFX2_GET_7_SEGMENT_DISPLAY,
                                 NULL,             // Ptr to InBuffer
                                 0,            // Length of InBuffer
                                 &sevenSegment,                 // Ptr to OutBuffer
                                 sizeof(UCHAR),         // Length of OutBuffer
                                 &bytesRet,                     // BytesReturned
                                 0)) {                       // Ptr to Overlapped structure

                code = GetLastError();

                printf("DeviceIoControl failed with error 0x%x\n", code);

                return(code);
            }

            printf("7 Segment mask:  0x%x\n", sevenSegment);
            break;

        case 8:

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品菠萝久久久久久久| 欧美酷刑日本凌虐凌虐| 调教+趴+乳夹+国产+精品| 亚洲欧美一区二区不卡| 国产三区在线成人av| xfplay精品久久| 精品国产一区二区亚洲人成毛片| 日韩免费高清视频| 日韩一区二区精品葵司在线| 日韩欧美电影一区| 国产夜色精品一区二区av| 欧美国产精品久久| 国产精品三级久久久久三级| 日韩一区中文字幕| 亚洲精品国产精品乱码不99| 亚洲国产视频一区| 日本成人超碰在线观看| 久久精品国产精品青草| 久久99热国产| 成人18精品视频| 色综合天天综合网天天看片| 欧美性大战久久久| 欧美一区二区三区免费| 国产视频在线观看一区二区三区| 中文字幕欧美日韩一区| 亚洲国产va精品久久久不卡综合| 午夜av电影一区| 国产伦精品一区二区三区免费迷 | 亚洲最大成人网4388xx| 亚洲一区二区三区在线看| 天堂一区二区在线| 精品一区二区三区影院在线午夜| 成人性生交大片免费看视频在线| 色一情一乱一乱一91av| 日韩情涩欧美日韩视频| 欧美经典一区二区| 亚洲一区免费视频| 国产麻豆日韩欧美久久| 在线观看一区二区视频| 精品福利av导航| 亚洲一区日韩精品中文字幕| 国产成人在线视频播放| 欧美在线观看一二区| 久久久久久99久久久精品网站| 国产精品精品国产色婷婷| 人禽交欧美网站| 91亚洲男人天堂| 久久久亚洲午夜电影| 亚洲国产一区二区在线播放| 国产成人精品亚洲777人妖| 欧美巨大另类极品videosbest | 欧美激情一区二区三区四区| 亚洲一区二区欧美日韩| 国产aⅴ综合色| 欧美日韩成人一区二区| 中文字幕二三区不卡| 麻豆久久久久久| 欧美视频精品在线观看| 中文字幕一区二区三区视频| 久久电影网站中文字幕| 欧美日韩黄色一区二区| 日韩伦理av电影| 国产高清精品网站| 日韩一级二级三级| 亚洲二区视频在线| 99re这里都是精品| 国产精品二三区| 国产高清久久久| 久久亚洲一区二区三区四区| 蜜臀av性久久久久av蜜臀妖精| 欧洲av一区二区嗯嗯嗯啊| 国产日韩影视精品| 国产精品99久久久久久宅男| 欧美大片在线观看| 久久超碰97中文字幕| 日韩美女主播在线视频一区二区三区| 一区二区三区欧美日| 91成人看片片| 亚洲国产一区二区a毛片| 欧美亚洲综合色| 亚洲成人黄色小说| 7777精品久久久大香线蕉| 天天综合色天天| 日韩一区二区精品在线观看| 久久成人麻豆午夜电影| 国产午夜一区二区三区| 成人av免费在线| 亚洲特级片在线| 色婷婷综合久久久中文字幕| 亚洲一区日韩精品中文字幕| 欧美另类一区二区三区| 麻豆成人91精品二区三区| 26uuuu精品一区二区| 丰满岳乱妇一区二区三区| 中文字幕一区二区三| 日本乱码高清不卡字幕| 丝瓜av网站精品一区二区 | 国产成人综合亚洲网站| 日本一区二区视频在线观看| 99精品1区2区| 婷婷夜色潮精品综合在线| 日韩一区二区中文字幕| 国产福利一区在线| 日韩理论片网站| 日韩欧美一区在线观看| 国产91精品露脸国语对白| 亚洲欧美电影院| 日韩片之四级片| 成人午夜免费视频| 亚洲高清视频的网址| 久久嫩草精品久久久精品一| 91蝌蚪porny| 久88久久88久久久| 一卡二卡欧美日韩| 久久久久免费观看| 欧美一a一片一级一片| 国产精品99久久久久久久女警| 亚洲狠狠丁香婷婷综合久久久| 日韩精品专区在线影院重磅| 91麻豆自制传媒国产之光| 精久久久久久久久久久| 一区二区三区蜜桃| 久久久国产精品麻豆| 在线成人av网站| 97久久精品人人爽人人爽蜜臀| 美女视频免费一区| 一区二区三区视频在线看| 国产婷婷精品av在线| 日韩欧美视频一区| 欧美色网一区二区| 91亚洲精品一区二区乱码| 国产精品2024| 麻豆国产欧美日韩综合精品二区| 亚洲精品国产a| 国产精品久久综合| 久久夜色精品一区| 日韩视频在线永久播放| 欧美日韩在线直播| 91理论电影在线观看| 丰满少妇在线播放bd日韩电影| 美美哒免费高清在线观看视频一区二区| 亚洲欧美中日韩| 国产精品久久久久7777按摩| 久久精品亚洲乱码伦伦中文| 欧美电视剧免费全集观看| 欧美电影免费观看高清完整版在| 欧美专区日韩专区| 色综合一区二区| 在线中文字幕一区| 日本高清不卡视频| 在线精品视频一区二区三四| 91论坛在线播放| 91精彩视频在线| 在线观看中文字幕不卡| 日本韩国欧美三级| 在线免费观看成人短视频| 91啪亚洲精品| 欧美在线视频不卡| 欧亚一区二区三区| 欧美丰满少妇xxxbbb| 欧美一区二区久久久| 欧美一区二区网站| 亚洲精品在线观看视频| 国产日产欧美精品一区二区三区| 久久综合久久鬼色中文字| 久久久久久久网| 中文子幕无线码一区tr| 亚洲欧美一区二区三区孕妇| 一区二区免费视频| 日日夜夜精品免费视频| 麻豆精品在线观看| 国产99久久久精品| 色综合中文字幕国产| 91福利在线免费观看| 91精品国产综合久久香蕉的特点| 日韩欧美国产一区二区在线播放| 精品国产麻豆免费人成网站| 国产精品欧美极品| 亚洲在线观看免费| 精品一区二区久久久| proumb性欧美在线观看| 欧美又粗又大又爽| 精品对白一区国产伦| 亚洲私人影院在线观看| 首页国产欧美久久| 成人精品鲁一区一区二区| 色天使久久综合网天天| 色狠狠一区二区| 97se狠狠狠综合亚洲狠狠| 欧美婷婷六月丁香综合色| 日韩欧美成人一区| 国产精品久线在线观看| 轻轻草成人在线| 国产69精品久久99不卡| 在线观看三级视频欧美| 久久免费看少妇高潮| 亚洲国产精品久久人人爱蜜臀| 国产九色sp调教91| 欧美日韩一级二级| 国产精品视频免费看|