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

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

?? display.c

?? usbview 為查看本機USB聯接查看代碼, 更改其中的部分可用于USB的通訊與應用
?? C
?? 第 1 頁 / 共 3 頁
字號:
                    break;

                case USB_AUDIO_SUBCLASS_AUDIOSTREAMING:
                    pStr = " (Audio Streaming)\r\n";
                    break;

                case USB_AUDIO_SUBCLASS_MIDISTREAMING:
                    pStr = " (MIDI Streaming)\r\n";
                    break;

                default:
                    break;
            }
            break;

        default:
            break;
    }

    AppendTextBuffer(pStr);

    AppendTextBuffer("bInterfaceProtocol:   0x%02X\r\n",
                     InterfaceDesc->bInterfaceProtocol);

    AppendTextBuffer("iInterface:           0x%02X\r\n",
                     InterfaceDesc->iInterface);

    if (InterfaceDesc->iInterface)
    {
        DisplayStringDescriptor(InterfaceDesc->iInterface,
                                StringDescs);
    }

    if (InterfaceDesc->bLength == sizeof(USB_INTERFACE_DESCRIPTOR2))
    {
        PUSB_INTERFACE_DESCRIPTOR2 interfaceDesc2;

        interfaceDesc2 = (PUSB_INTERFACE_DESCRIPTOR2)InterfaceDesc;

        AppendTextBuffer("wNumClasses:        0x%04X\r\n",
                         interfaceDesc2->wNumClasses);
    }

}

//*****************************************************************************
//
// DisplayEndpointDescriptor()
//
//*****************************************************************************

VOID
DisplayEndpointDescriptor (
    PUSB_ENDPOINT_DESCRIPTOR    EndpointDesc
)
{

    AppendTextBuffer("\r\nEndpoint Descriptor:\r\n");

    AppendTextBuffer("bEndpointAddress:     0x%02X\r\n",
                     EndpointDesc->bEndpointAddress);

    switch (EndpointDesc->bmAttributes & 0x03)
    {
        case 0x00:
            AppendTextBuffer("Transfer Type:     Control\r\n");
            break;

        case 0x01:
            AppendTextBuffer("Transfer Type: Isochronous\r\n");
            break;

        case 0x02:
            AppendTextBuffer("Transfer Type:        Bulk\r\n");
            break;

        case 0x03:
            AppendTextBuffer("Transfer Type:   Interrupt\r\n");
            break;

    }

    AppendTextBuffer("wMaxPacketSize:     0x%04X (%d)\r\n",
                     EndpointDesc->wMaxPacketSize,
                     EndpointDesc->wMaxPacketSize);

    if (EndpointDesc->bLength == sizeof(USB_ENDPOINT_DESCRIPTOR))
    {
        AppendTextBuffer("bInterval:            0x%02X\r\n",
                         EndpointDesc->bInterval);
    }
    else
    {
        PUSB_ENDPOINT_DESCRIPTOR2 endpointDesc2;

        endpointDesc2 = (PUSB_ENDPOINT_DESCRIPTOR2)EndpointDesc;

        AppendTextBuffer("wInterval:          0x%04X\r\n",
                         endpointDesc2->wInterval);

        AppendTextBuffer("bSyncAddress:         0x%02X\r\n",
                         endpointDesc2->bSyncAddress);
    }

}


//*****************************************************************************
//
// DisplayHidDescriptor()
//
//*****************************************************************************

VOID
DisplayHidDescriptor (
    PUSB_HID_DESCRIPTOR         HidDesc
)
{
    UCHAR i;

    AppendTextBuffer("\r\nHID Descriptor:\r\n");

    AppendTextBuffer("bcdHID:             0x%04X\r\n",
    HidDesc->bcdHID);

    AppendTextBuffer("bCountryCode:         0x%02X\r\n",
                     HidDesc->bCountryCode);

    AppendTextBuffer("bNumDescriptors:      0x%02X\r\n",
                     HidDesc->bNumDescriptors);

    for (i=0; i<HidDesc->bNumDescriptors; i++)
    {
        AppendTextBuffer("bDescriptorType:      0x%02X\r\n",
                         HidDesc->OptionalDescriptors[i].bDescriptorType);

        AppendTextBuffer("wDescriptorLength:  0x%04X\r\n",
                         HidDesc->OptionalDescriptors[i].wDescriptorLength);
    }

}


#if 0
//*****************************************************************************
//
// DisplayPowerDescriptor()
//
//*****************************************************************************

PCHAR PowerUnits[] =
{
    "0.001 mW",
    "0.01 mW",
    "0.1 mW",
    "1 mW",
    "10 mW",
    "100 mW",
    "1 W"
};

VOID
DisplayPowerDescriptor (
    PUSB_POWER_DESCRIPTOR       PowerDesc
)
{
    UCHAR i;

    AppendTextBuffer("\r\nPower Descriptor:\r\n");

    AppendTextBuffer("bCapabilitiesFlags:   0x%02X (",
                     PowerDesc->bCapabilitiesFlags);

    if (PowerDesc->bCapabilitiesFlags & USB_SUPPORT_D2_WAKEUP)
    {
        AppendTextBuffer("WakeD2 ");
    }
    if (PowerDesc->bCapabilitiesFlags & USB_SUPPORT_D1_WAKEUP)
    {
        AppendTextBuffer("WakeD1 ");
    }
    if (PowerDesc->bCapabilitiesFlags & USB_SUPPORT_D3_COMMAND)
    {
        AppendTextBuffer("D3 ");
    }
    if (PowerDesc->bCapabilitiesFlags & USB_SUPPORT_D2_COMMAND)
    {
        AppendTextBuffer("D2 ");
    }
    if (PowerDesc->bCapabilitiesFlags & USB_SUPPORT_D1_COMMAND)
    {
        AppendTextBuffer("D1 ");
    }
    if (PowerDesc->bCapabilitiesFlags & USB_SUPPORT_D0_COMMAND)
    {
        AppendTextBuffer("D0 ");
    }
    AppendTextBuffer(")\r\n");

    AppendTextBuffer("EventNotification:  0x%04X\r\n",
                     PowerDesc->EventNotification);

    AppendTextBuffer("D1LatencyTime:      0x%04X\r\n",
                     PowerDesc->D1LatencyTime);

    AppendTextBuffer("D2LatencyTime:      0x%04X\r\n",
                     PowerDesc->D2LatencyTime);

    AppendTextBuffer("D3LatencyTime:      0x%04X\r\n",
                     PowerDesc->D3LatencyTime);

    AppendTextBuffer("PowerUnit:            0x%02X (%s)\r\n",
                     PowerDesc->PowerUnit,
                     PowerDesc->PowerUnit < sizeof(PowerUnits)/sizeof(PowerUnits[0])
                     ? PowerUnits[PowerDesc->PowerUnit]
                     : "?");

    AppendTextBuffer("D0PowerConsumption: 0x%04X (%5d)\r\n",
                     PowerDesc->D0PowerConsumption,
                     PowerDesc->D0PowerConsumption);

    AppendTextBuffer("D1PowerConsumption: 0x%04X (%5d)\r\n",
                     PowerDesc->D1PowerConsumption,
                     PowerDesc->D1PowerConsumption);

    AppendTextBuffer("D2PowerConsumption: 0x%04X (%5d)\r\n",
                     PowerDesc->D2PowerConsumption,
                     PowerDesc->D2PowerConsumption);

}
#endif

//*****************************************************************************
//
// DisplayStringDescriptor()
//
//*****************************************************************************

#if 1

VOID
DisplayStringDescriptor (
    UCHAR                       Index,
    PSTRING_DESCRIPTOR_NODE     StringDescs
)
{
    ULONG nBytes;

    while (StringDescs)
    {
        if (StringDescs->DescriptorIndex == Index)
        {
            AppendTextBuffer("0x%04X: \"",
                             StringDescs->LanguageID);

            nBytes = WideCharToMultiByte(
                         CP_ACP,     // CodePage
                         0,          // CodePage
                         StringDescs->StringDescriptor->bString,
                         (StringDescs->StringDescriptor->bLength - 2) / 2,
                         TextBuffer + TextBufferPos,
                         TextBufferLen - TextBufferPos,
                         NULL,       // lpDefaultChar
                         NULL);      // pUsedDefaultChar

            TextBufferPos += nBytes;

            AppendTextBuffer("\"\r\n");
        }

        StringDescs = StringDescs->Next;
    }

}

#else

VOID
DisplayStringDescriptor (
    UCHAR                       Index,
    PSTRING_DESCRIPTOR_NODE     StringDescs
)
{
    UCHAR i;

    while (StringDescs)
    {
        if (StringDescs->DescriptorIndex == Index)
        {
            AppendTextBuffer("String Descriptor:\r\n");

            AppendTextBuffer("LanguageID:         0x%04X\r\n",
                             StringDescs->LanguageID);

            AppendTextBuffer("bLength:              0x%02X\r\n",
                             StringDescs->StringDescriptor->bLength);

            for (i = 0; i < StringDescs->StringDescriptor->bLength-2; i++)
            {
                AppendTextBuffer("%02X ",
                                 ((PUCHAR)StringDescs->StringDescriptor->bString)[i]);

                if (i % 16 == 15)
                {
                    AppendTextBuffer("\r\n");
                }
            }

            if (i % 16 != 0)
            {
                AppendTextBuffer("\r\n");
            }
        }

        StringDescs = StringDescs->Next;
    }

}

#endif

//*****************************************************************************
//
// DisplayUnknownDescriptor()
//
//*****************************************************************************

VOID
DisplayUnknownDescriptor (
    PUSB_COMMON_DESCRIPTOR      CommonDesc
)
{
    UCHAR   i;

    AppendTextBuffer("\r\nUnknown Descriptor:\r\n");

    AppendTextBuffer("bDescriptorType:      0x%02X\r\n",
                     CommonDesc->bDescriptorType);

    AppendTextBuffer("bLength:              0x%02X\r\n",
                     CommonDesc->bLength);

    for (i = 0; i < CommonDesc->bLength; i++)
    {
        AppendTextBuffer("%02X ",
                         ((PUCHAR)CommonDesc)[i]);

        if (i % 16 == 15)
        {
            AppendTextBuffer("\r\n");
        }
    }

    if (i % 16 != 0)
    {
        AppendTextBuffer("\r\n");
    }

}

//*****************************************************************************
//
// GetVendorString()
//
// idVendor - USB Vendor ID
//
// Return Value - Vendor name string associated with idVendor, or NULL if
// no vendor name string is found which is associated with idVendor.
//
//*****************************************************************************

PCHAR
GetVendorString (
    USHORT     idVendor
)
{
    PUSBVENDORID vendorID;

    if (idVendor != 0x0000)
    {
        vendorID = USBVendorIDs;

        while (vendorID->usVendorID != 0x0000)
        {
            if (vendorID->usVendorID == idVendor)
            {
                return (vendorID->szVendor);
            }
            vendorID++;
        }
    }

    return NULL;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜臀av性久久久久蜜臀av麻豆| 在线综合视频播放| 国产色一区二区| 国产电影一区二区三区| 国产日韩欧美a| 99热这里都是精品| 亚洲综合丝袜美腿| 91精品国产综合久久福利| 麻豆精品一二三| 国产欧美1区2区3区| 色综合天天天天做夜夜夜夜做| 亚洲人吸女人奶水| 在线播放欧美女士性生活| 麻豆91在线播放免费| 亚洲国产精品成人综合色在线婷婷 | 日本欧美一区二区在线观看| 日韩你懂的在线播放| 国产91丝袜在线观看| 亚洲三级电影全部在线观看高清| 欧美特级限制片免费在线观看| 免费成人在线网站| 国产欧美日韩在线观看| 91久久精品网| 精品中文av资源站在线观看| 中文字幕一区二区在线观看| 欧美日韩成人综合天天影院 | 日本电影欧美片| 日本色综合中文字幕| 欧美激情在线一区二区三区| 欧美日韩一区二区三区免费看 | 欧美自拍偷拍一区| 九色综合国产一区二区三区| 一区二区中文字幕在线| 日韩一本二本av| 94色蜜桃网一区二区三区| 免费欧美在线视频| 亚洲欧美成人一区二区三区| 欧美成人a∨高清免费观看| av成人老司机| 国产一区欧美一区| 亚洲国产精品一区二区www在线 | 日本伊人午夜精品| 国产精品久久久久一区二区三区共| 欧美日本在线播放| 91麻豆国产自产在线观看| 久久成人免费日本黄色| 亚洲国产一区二区三区青草影视 | 成人的网站免费观看| 麻豆精品一区二区| 婷婷久久综合九色综合绿巨人| 国产精品素人视频| 久久午夜免费电影| 91精品国产色综合久久不卡电影| 色综合久久久久久久| 国产.精品.日韩.另类.中文.在线.播放| 亚洲v中文字幕| 亚洲乱码国产乱码精品精的特点| 久久久久久**毛片大全| 欧美一级黄色片| 欧美精品 日韩| 欧美视频精品在线观看| 91免费版在线看| 99久久国产综合精品麻豆 | 成人精品高清在线| 激情小说亚洲一区| 麻豆精品视频在线观看| 五月天中文字幕一区二区| 亚洲综合在线五月| 一区二区三区在线观看欧美 | 亚洲午夜免费视频| 一区二区三区四区在线播放| 综合婷婷亚洲小说| 一色桃子久久精品亚洲| 国产精品乱码一区二三区小蝌蚪| 欧美—级在线免费片| 久久青草欧美一区二区三区| 精品国产青草久久久久福利| 欧美成人免费网站| 精品国产露脸精彩对白| 久久久精品中文字幕麻豆发布| www国产精品av| 国产视频一区在线观看| 国产女人18毛片水真多成人如厕| 国产精品午夜免费| 中文字幕视频一区| 亚洲天堂网中文字| 亚洲一卡二卡三卡四卡无卡久久 | 成人性生交大片免费看中文| 豆国产96在线|亚洲| aaa欧美日韩| 91女神在线视频| 欧美日韩卡一卡二| 日韩一区二区精品| 久久伊99综合婷婷久久伊| 亚洲国产成人午夜在线一区| 中文字幕一区二区三中文字幕| 亚洲摸摸操操av| 视频一区欧美精品| 久久成人久久爱| 成人免费毛片片v| 91国产福利在线| 日韩一区二区三区免费观看| 久久综合色综合88| 亚洲欧美一区二区三区久本道91| 亚洲国产成人va在线观看天堂| 青青草原综合久久大伊人精品优势| 国产综合久久久久久鬼色| av在线这里只有精品| 欧美日韩综合在线| 久久蜜桃一区二区| 亚洲女同ⅹxx女同tv| 青青草原综合久久大伊人精品优势| 国产中文字幕一区| 色老汉av一区二区三区| 日韩精品一区二区三区中文不卡 | 91在线国内视频| 91精品免费在线观看| 欧美激情一区二区在线| 亚洲综合999| 国产一区 二区 三区一级| 国产精品嫩草99a| 欧美日韩久久不卡| 精品奇米国产一区二区三区| 国产精品美女久久久久高潮| 性做久久久久久免费观看欧美| 国产老肥熟一区二区三区| 精品国产免费人成在线观看| 国产欧美日韩综合精品一区二区| 一区二区三区国产| 国产一区二区在线观看免费 | 久久国产成人午夜av影院| 99精品视频中文字幕| 日韩精品一区二区三区在线播放| 亚洲卡通动漫在线| 国产成人亚洲综合a∨婷婷| 欧美美女喷水视频| 亚洲欧美在线视频| 国产美女精品一区二区三区| 欧美年轻男男videosbes| 国产精品白丝在线| 国产在线视频不卡二| 欧美日韩欧美一区二区| 中文字幕一区在线| 国产乱子轮精品视频| 欧美一区二区日韩一区二区| 亚洲精品高清在线观看| av电影一区二区| 国产女同性恋一区二区| 国产美女精品在线| 日韩欧美一二三| 日韩影院免费视频| 欧美性色综合网| 一区二区三区中文免费| 成人福利视频在线看| 国产欧美精品国产国产专区| 国产美女娇喘av呻吟久久| 欧美一区二区日韩一区二区| 日韩在线一二三区| 欧美日韩国产天堂| 亚洲一区在线视频观看| 91玉足脚交白嫩脚丫在线播放| 欧美激情一区二区三区在线| 国产福利一区二区三区视频| 欧美亚洲尤物久久| 亚洲午夜成aⅴ人片| 欧洲av在线精品| 亚洲精品国产精品乱码不99| 91免费视频观看| 亚洲黄色av一区| 91丨porny丨首页| 亚洲黄色免费网站| 精品视频一区二区三区免费| 亚洲va天堂va国产va久| 欧美日韩午夜精品| 日韩中文字幕不卡| 日韩欧美aaaaaa| 国产原创一区二区| 国产欧美一区二区精品婷婷| 成人97人人超碰人人99| 亚洲欧美在线观看| 欧美综合亚洲图片综合区| 亚洲成人黄色影院| 日韩三级免费观看| 国产精品一区二区在线看| 亚洲国产激情av| 91久久精品一区二区三区| 亚洲成人激情自拍| 欧美电视剧在线观看完整版| 国产精品1区2区3区在线观看| 国产精品全国免费观看高清 | 久久精品人人做人人爽人人| 懂色一区二区三区免费观看 | 国产日产精品1区| 99久久精品国产观看| 亚洲国产一区二区三区青草影视 | 国产成人免费xxxxxxxx| 亚洲欧美另类久久久精品| 欧美日韩国产精选| 国产精品一区一区| 一区二区高清在线|