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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? usbioctl.h

?? 利用sunplus16位單片機(jī)實(shí)現(xiàn)USB接口的全套技術(shù)資料
?? H
字號(hào):
/*++

Copyright (c) 1995      Microsoft Corporation

Module Name:

        USBIOCTL.H

Abstract:

   structures common to the USBD and USB device drivers.

Environment:

    Kernel & user mode

Revision History:

    09-29-95 : created
    01-06-97 : added user mode hub ioctls

--*/

#ifndef   __USBIOCTL_H__
#define   __USBIOCTL_H__

#include "usb100.h"

#ifndef FAR
#define FAR
#endif

DEFINE_GUID( GUID_CLASS_USBHUB, 0xf18a0e88, 0xc30c, 0x11d0, 0x88, 0x15, 0x00, \
             0xa0, 0xc9, 0x06, 0xbe, 0xd8);

//f18a0e88-c30c-11d0-8815-00a0c906bed8


// BUGBUG we need a device type added to DEVIOCTL.H
#define FILE_DEVICE_USB         FILE_DEVICE_UNKNOWN

//
// USB IOCTLS
//

#define USB_IOCTL_INTERNAL_INDEX       0x0000
#define USB_IOCTL_INDEX                0x00ff

//
// USB Internal IOCtls
//

/* IOCTL_INTERNAL_USB_SUBMIT_URB 

   This IOCTL is used by client drivers to submit URB (USB Request Blocks)

   Parameters.Others.Argument1 = pointer to URB
   
*/

#define IOCTL_INTERNAL_USB_SUBMIT_URB  CTL_CODE(FILE_DEVICE_USB,  \
                                                USB_IOCTL_INTERNAL_INDEX,  \
                                                METHOD_NEITHER,  \
                                                FILE_ANY_ACCESS)


/* IOCTL_INTERNAL_USB_RESET_PORT 
*/

#define IOCTL_INTERNAL_USB_RESET_PORT  CTL_CODE(FILE_DEVICE_USB,  \
                                                USB_IOCTL_INTERNAL_INDEX+1, \
                                                METHOD_NEITHER,  \
                                                FILE_ANY_ACCESS)
                                                

/*  IOCTL_INTERNAL_USB_GET_ROOTHUB_PDO

    This IOCTL is used internally by the hub driver
    
    Parameters.Others.Argument1 = pointer to be filled in with RootHubPdo;
    Parameters.Others.Argument2 = pointer to be filled in with HcdDeviceObject;
        
*/

#define IOCTL_INTERNAL_USB_GET_ROOTHUB_PDO  CTL_CODE(FILE_DEVICE_USB,  \
                                                USB_IOCTL_INTERNAL_INDEX+3, \
                                                METHOD_NEITHER,  \
                                                FILE_ANY_ACCESS)



/* IOCTL_INTERNAL_USB_GET_PORT_STATUS

    This IOCTL returns the current port status

    Parameters.Others.Argument1 = pointer to port status register (ULONG)

    status bits are:
    
    USBD_PORT_ENABLED
    
*/

#define  USBD_PORT_ENABLED      0x00000001
#define  USBD_PORT_CONNECTED    0x00000002


#define IOCTL_INTERNAL_USB_GET_PORT_STATUS  CTL_CODE(FILE_DEVICE_USB,  \
                                                USB_IOCTL_INTERNAL_INDEX+4, \
                                                METHOD_NEITHER,  \
                                                FILE_ANY_ACCESS)                                                

/* IOCTL_INTERNAL_USB_ENABLE_PORT

    This IOCTL will request the hub to re-enable a disabled port
*/

#define IOCTL_INTERNAL_USB_ENABLE_PORT      CTL_CODE(FILE_DEVICE_USB,  \
                                                USB_IOCTL_INTERNAL_INDEX+5, \
                                                METHOD_NEITHER,  \
                                                FILE_ANY_ACCESS)                                                
                                                
/* IOCTL_INTERNAL_USB_GET_HUB_COUNT

    This IOCTL is used internally by the hub driver
    
    Parameters.Others.Argument1 = pointer to be count of hubs in chain;
    
*/
#define IOCTL_INTERNAL_USB_GET_HUB_COUNT      CTL_CODE(FILE_DEVICE_USB,  \
                                                USB_IOCTL_INTERNAL_INDEX+6, \
                                                METHOD_NEITHER,  \
                                                FILE_ANY_ACCESS)                                                      

/* IOCTL_INTERNAL_USB_CYCLE_PORT 

    This will simulate a plug/unplug on the port
*/

#define IOCTL_INTERNAL_USB_CYCLE_PORT  CTL_CODE(FILE_DEVICE_USB,  \
                                                USB_IOCTL_INTERNAL_INDEX+7, \
                                                METHOD_NEITHER,  \
                                                FILE_ANY_ACCESS)
                                                
                                                
//
// USB Public IOCtls
//

//
// this ioctl is for adding debug hooks to HCDs
//

#define IOCTL_USB_HCD_GET_STATS          CTL_CODE(FILE_DEVICE_USB,  \
                                                USB_IOCTL_INDEX,  \
                                                METHOD_BUFFERED,  \
                                                FILE_ANY_ACCESS)

//
// These ioctls are used for USB diagnostic and test applications
// 

#define IOCTL_USB_DIAGNOSTIC_MODE_ON   CTL_CODE(FILE_DEVICE_USB,  \
                                                USB_IOCTL_INDEX+1,  \
                                                METHOD_BUFFERED,  \
                                                FILE_ANY_ACCESS)                                                

#define IOCTL_USB_DIAGNOSTIC_MODE_OFF  CTL_CODE(FILE_DEVICE_USB,  \
                                                USB_IOCTL_INDEX+2,  \
                                                METHOD_BUFFERED,  \
                                                FILE_ANY_ACCESS)

#define IOCTL_USB_GET_ROOT_HUB_NAME  CTL_CODE(FILE_DEVICE_USB,  \
                                                USB_IOCTL_INDEX+3,  \
                                                METHOD_BUFFERED,  \
                                                FILE_ANY_ACCESS)                                                    

/*
    Utility IOCTLS supported by the hub device
*/

//
// These ioctls are supported by the hub driver for 
// use by user mode USB utilities.
//


#define IOCTL_USB_GET_NODE_INFORMATION                  CTL_CODE(FILE_DEVICE_USB,  \
                                               USB_IOCTL_INDEX+3,  \
                                               METHOD_BUFFERED,  \
                                               FILE_ANY_ACCESS)

#define IOCTL_USB_GET_NODE_CONNECTION_INFORMATION       CTL_CODE(FILE_DEVICE_USB,  \
                                                USB_IOCTL_INDEX+4,  \
                                                METHOD_BUFFERED,  \
                                                FILE_ANY_ACCESS)

#define IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION   CTL_CODE(FILE_DEVICE_USB,  \
                                                USB_IOCTL_INDEX+5,  \
                                                METHOD_BUFFERED,  \
                                                FILE_ANY_ACCESS)

#define IOCTL_USB_GET_NODE_CONNECTION_NAME     CTL_CODE(FILE_DEVICE_USB,  \
                                                USB_IOCTL_INDEX+6,  \
                                                METHOD_BUFFERED,  \
                                                FILE_ANY_ACCESS)                                                

#define IOCTL_USB_DIAG_IGNORE_HUBS_ON   CTL_CODE(FILE_DEVICE_USB,  \
                                                USB_IOCTL_INDEX+7,  \
                                                METHOD_BUFFERED,  \
                                                FILE_ANY_ACCESS)                                                

#define IOCTL_USB_DIAG_IGNORE_HUBS_OFF  CTL_CODE(FILE_DEVICE_USB,  \
                                                USB_IOCTL_INDEX+8,  \
                                                METHOD_BUFFERED,  \
                                                FILE_ANY_ACCESS)

#define IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME  CTL_CODE(FILE_DEVICE_USB,  \
                                                USB_IOCTL_INDEX+9,  \
                                                METHOD_BUFFERED,  \
                                                FILE_ANY_ACCESS)

#define IOCTL_GET_HCD_DRIVERKEY_NAME CTL_CODE(FILE_DEVICE_USB,  \
                                                USB_IOCTL_INDEX+10,  \
                                                METHOD_BUFFERED,  \
                                                FILE_ANY_ACCESS)
//
// structures for user mode ioctls
//

#pragma pack (1)

typedef enum _USB_HUB_NODE {
    UsbHub,
    UsbMIParent
} USB_HUB_NODE;

typedef struct _USB_HUB_INFORMATION {
    //
    // copy of data from hub descriptor 
    //
    USB_HUB_DESCRIPTOR HubDescriptor;

    BOOLEAN HubIsBusPowered;

} USB_HUB_INFORMATION, *PUSB_HUB_INFORMATION;

typedef struct _USB_MI_PARENT_INFORMATION {
    ULONG NumberOfInterfaces;
} USB_MI_PARENT_INFORMATION, *PUSB_MI_PARENT_INFORMATION;

typedef struct _USB_NODE_INFORMATION {
    USB_HUB_NODE NodeType;        // hub, mi parent
    union {
        USB_HUB_INFORMATION HubInformation;
        USB_MI_PARENT_INFORMATION MiParentInformation;
    } u;
} USB_NODE_INFORMATION, *PUSB_NODE_INFORMATION;	

typedef struct _USB_PIPE_INFO {
    USB_ENDPOINT_DESCRIPTOR EndpointDescriptor;
} USB_PIPE_INFO, PUSB_PIPE_INFO;	

//
// BUGBUG
// more status codes?
//

typedef enum _USB_CONNECTION_STATUS {
    NoDeviceConnected,
    DeviceConnected,

    // failure codes, these map to fail reasons
    DeviceFailedEnumeration, 
    DeviceGeneralFailure,
    DeviceCausedOvercurrent,
    DeviceNotEnoughPower,
} USB_CONNECTION_STATUS, *PUSB_CONNECTION_STATUS;

typedef struct _USB_NODE_CONNECTION_INFORMATION {
    ULONG ConnectionIndex;
    // usb device descriptor returned by this device
    // during enumeration
    USB_DEVICE_DESCRIPTOR DeviceDescriptor;
    UCHAR CurrentConfigurationValue;
    BOOLEAN LowSpeed;

    BOOLEAN DeviceIsHub;

    USHORT DeviceAddress;
    
    ULONG NumberOfOpenPipes;
    
    USB_CONNECTION_STATUS ConnectionStatus;
    USB_PIPE_INFO PipeList[0];
} USB_NODE_CONNECTION_INFORMATION, *PUSB_NODE_CONNECTION_INFORMATION;	

typedef struct _USB_NODE_CONNECTION_DRIVERKEY_NAME {
    ULONG ConnectionIndex;  // INPUT
    ULONG ActualLength;     // OUTPUT
    // unicode name for the devnode.
    WCHAR DriverKeyName[1];      // OUTPUT
} USB_NODE_CONNECTION_DRIVERKEY_NAME, *PUSB_NODE_CONNECTION_DRIVERKEY_NAME;	

typedef struct _USB_NODE_CONNECTION_NAME {
    ULONG ConnectionIndex;  // INPUT
    ULONG ActualLength;     // OUTPUT
    // unicode symbolic name for this node if it is a hub or parent driver
    // null if this node is a device.
    WCHAR NodeName[1];      // OUTPUT
} USB_NODE_CONNECTION_NAME, *PUSB_NODE_CONNECTION_NAME;	

typedef struct _USB_ROOT_HUB_NAME {
    ULONG ActualLength;     // OUTPUT
    // NULL terminated unicode symbolic name for the root hub
    WCHAR RootHubName[1];   // OUTPUT
} USB_ROOT_HUB_NAME, *PUSB_ROOT_HUB_NAME;	

typedef struct _USB_HCD_DRIVERKEY_NAME {
    ULONG ActualLength;     // OUTPUT
    // NULL terminated unicode driverkeyname for hcd
    WCHAR DriverKeyName[1];   // OUTPUT
} USB_HCD_DRIVERKEY_NAME, *PUSB_HCD_DRIVERKEY_NAME;	

typedef struct _USB_DESCRIPTOR_REQUEST {
    ULONG ConnectionIndex;
    struct {
        UCHAR bmRequest;
        UCHAR bRequest;
        USHORT wValue;
        USHORT wIndex;
        USHORT wLength;
    } SetupPacket;
    UCHAR Data[0];
} USB_DESCRIPTOR_REQUEST, *PUSB_DESCRIPTOR_REQUEST;	


//
// Structure for returning HCD debug and statistic information to
// a user mode application.
//

typedef struct _HCD_STAT_COUNTERS {
    ULONG BytesTransferred;

    USHORT IsoMissedCount;
    USHORT DataOverrunErrorCount;

    USHORT CrcErrorCount;
    USHORT ScheduleOverrunCount;

    USHORT TimeoutErrorCount;
    USHORT InternalHcErrorCount;

    USHORT BufferOverrunErrorCount;
    USHORT SWErrorCount;

    USHORT StallPidCount;
    USHORT PortDisableCount;

} HCD_STAT_COUNTERS, *PHCD_STAT_COUNTERS;


typedef struct _HCD_STAT_INFORMATION {
    ULONG Reserved1;
    ULONG Reserved2;
    ULONG ResetCounters;
    LARGE_INTEGER TimeRead;
    //
    // stat registers
    //
    HCD_STAT_COUNTERS Counters;  

} HCD_STAT_INFORMATION, *PHCD_STAT_INFORMATION;


#pragma pack()


#endif // __USBIOCTL_H__                                               

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品一区二区三区在线| 精品美女在线观看| 久久国产剧场电影| 亚洲精品视频自拍| 精品国产亚洲在线| 欧美日韩免费一区二区三区| 成人一区二区三区| 久久99久久精品| 亚洲在线观看免费| 国产精品久久久久aaaa樱花| 日韩精品中文字幕在线一区| 欧美性大战久久久| youjizz久久| 色婷婷激情久久| 经典三级一区二区| 日韩主播视频在线| 亚洲一线二线三线视频| 国产精品毛片久久久久久| 精品国产髙清在线看国产毛片| 欧美亚洲一区二区在线观看| www.一区二区| 国产成人精品亚洲日本在线桃色 | 国产一区二区91| 日韩高清电影一区| 亚洲一区二三区| 亚洲视频1区2区| 中文字幕日本不卡| 亚洲国产电影在线观看| 国产亚洲精品福利| 久久久国产一区二区三区四区小说| 777欧美精品| 这里只有精品视频在线观看| 欧美日韩在线亚洲一区蜜芽| 日本精品一区二区三区四区的功能| youjizz久久| 成人aaaa免费全部观看| 不卡免费追剧大全电视剧网站| 国产很黄免费观看久久| 国产麻豆精品在线| 国产成人鲁色资源国产91色综| 狠狠色狠狠色综合系列| 韩国成人福利片在线播放| 麻豆免费精品视频| 激情综合色播激情啊| 国产一区二区精品久久91| 国产一区二区三区| 国产东北露脸精品视频| 成人丝袜高跟foot| 91在线观看免费视频| kk眼镜猥琐国模调教系列一区二区| 成人午夜在线视频| 91论坛在线播放| 91九色02白丝porn| 欧美精品一卡两卡| 精品捆绑美女sm三区| 久久亚洲捆绑美女| 国产精品久久久久久久久晋中| 1024成人网| 亚洲成人av电影| 理论电影国产精品| 国产成人午夜视频| 色综合久久中文字幕| 欧美日韩另类一区| 精品国一区二区三区| 欧美韩日一区二区三区四区| 亚洲少妇30p| 日韩精品一二三| 国产在线视频精品一区| 成人免费福利片| 欧美日韩在线播放一区| 日韩久久免费av| 中文字幕亚洲不卡| 99精品久久只有精品| 91欧美一区二区| 日韩一级大片在线观看| 国产免费观看久久| 亚洲高清三级视频| 国产精品综合视频| 欧美视频中文一区二区三区在线观看 | 精品国产乱码久久久久久浪潮| 欧美激情在线看| 亚洲一区二区五区| 国产毛片精品国产一区二区三区| av网站免费线看精品| 91麻豆精品国产91久久久 | 欧美va在线播放| 国产精品福利一区二区| 视频一区视频二区在线观看| 国产成人在线网站| 欧美日韩高清在线| 中文字幕+乱码+中文字幕一区| 亚洲成人一区二区在线观看| 国产精品一二三四| 717成人午夜免费福利电影| 国产欧美一二三区| 日本欧美在线看| 色婷婷综合久久久久中文一区二区 | 美女在线观看视频一区二区| 99免费精品视频| 精品日韩在线观看| 亚洲国产精品一区二区久久 | www.欧美.com| 精品捆绑美女sm三区| 亚洲国产wwwccc36天堂| 成人av在线播放网站| 精品日韩av一区二区| 亚洲成人一区在线| 色av一区二区| 国产精品久久久久精k8| 国产乱码精品一区二区三区忘忧草 | 韩国v欧美v亚洲v日本v| 欧美精品丝袜久久久中文字幕| 中文字幕在线视频一区| 久久99久久99小草精品免视看| 欧美性色欧美a在线播放| 中文字幕一区在线观看视频| 韩国成人在线视频| 国产精品久久久久永久免费观看| 日韩av一区二区三区| 欧美午夜电影一区| 亚洲欧美电影一区二区| 成人久久视频在线观看| 国产日韩欧美精品电影三级在线| 久久精品国产成人一区二区三区| 欧美日韩成人在线| 亚洲国产精品尤物yw在线观看| 91丝袜高跟美女视频| 国产精品久久久久久久久晋中| 国产成人丝袜美腿| 国产午夜精品一区二区三区视频| 国内外成人在线| 久久―日本道色综合久久| 久久超碰97中文字幕| 精品国产污污免费网站入口 | 日韩电影一区二区三区四区| 欧美中文字幕一区| 亚洲一区二区三区四区在线| 91九色最新地址| 亚洲成人自拍偷拍| 69堂成人精品免费视频| 免费精品视频最新在线| 欧美成人官网二区| 国产乱码字幕精品高清av| 国产欧美日韩在线看| thepron国产精品| 亚洲视频一区二区在线观看| 91成人免费在线| 婷婷综合在线观看| 精品久久久久久久久久久久久久久久久| 蜜臀a∨国产成人精品| 久久综合国产精品| 成人一级视频在线观看| 18欧美亚洲精品| 欧美日韩国产综合草草| 日本免费在线视频不卡一不卡二| 欧美一级理论性理论a| 国产在线国偷精品免费看| 国产日韩精品一区二区三区| proumb性欧美在线观看| 亚洲曰韩产成在线| 欧美一区二区成人| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 亚洲特级片在线| 欧美视频完全免费看| 看电视剧不卡顿的网站| 国产精品视频线看| 欧美性感一区二区三区| 久久av资源网| 中文字幕制服丝袜成人av | 欧美午夜免费电影| 美女mm1313爽爽久久久蜜臀| 国产婷婷色一区二区三区四区| 波多野结衣一区二区三区 | 大胆欧美人体老妇| 亚洲一二三区在线观看| 欧美zozozo| 91丨九色丨蝌蚪丨老版| 麻豆专区一区二区三区四区五区| 国产欧美日韩中文久久| 欧美日韩一级视频| 国产成人欧美日韩在线电影| 一区二区三区中文在线| 精品国产一二三| 色老汉av一区二区三区| 精品一区二区三区av| 亚洲色大成网站www久久九九| 91.xcao| eeuss鲁一区二区三区| 人人爽香蕉精品| 亚洲免费在线播放| 精品av综合导航| 精品视频在线免费看| 成人黄色一级视频| 免费看日韩a级影片| 亚洲欧美日本韩国| 国产亚洲精品aa| 日韩欧美一级精品久久| 欧美性做爰猛烈叫床潮| 成人黄页毛片网站| 国产一本一道久久香蕉|