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

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

?? usbdi.h

?? 讀取USB控制器 及每個端口信息
?? H
?? 第 1 頁 / 共 2 頁
字號:
    UCHAR AlternateSetting;
    
    //
    // OUTPUT
    // These fields are filled in by USBD
    //
    UCHAR Class;
    UCHAR SubClass;
    UCHAR Protocol;
    UCHAR Reserved;
    
    USBD_INTERFACE_HANDLE InterfaceHandle;
    ULONG NumberOfPipes; 

    //
    // INPUT/OUPUT
    // see PIPE_INFORMATION
#ifdef OSR21_COMPAT    
    USBD_PIPE_INFORMATION Pipes[0];
#else    
    USBD_PIPE_INFORMATION Pipes[1];
#endif    
} USBD_INTERFACE_INFORMATION, *PUSBD_INTERFACE_INFORMATION;

//
// work space in transfer request provided
// for HCDs
//

struct _URB_HCD_AREA {
    PVOID HcdEndpoint;
    PIRP HcdIrp;
    LIST_ENTRY HcdListEntry;
    LIST_ENTRY HcdListEntry2;
    PVOID HcdCurrentIoFlushPointer;
    PVOID HcdExtension;
};

struct _URB_HEADER {
    //
    // Fields filled in by client driver
    //
    USHORT Length;
    USHORT Function;
    USBD_STATUS Status;
    //
    // Fields used only by USBD
    //
    PVOID UsbdDeviceHandle; // device handle assigned to this device
                            // by USBD
    ULONG UsbdFlags;        // flags field reserved for USBD use.
};

struct _URB_SELECT_INTERFACE {
#ifdef OSR21_COMPAT
    struct _URB_HEADER;     
#else
    struct _URB_HEADER Hdr;                 // function code indicates get or set.
#endif 
    USBD_CONFIGURATION_HANDLE ConfigurationHandle;

    // client must input AlternateSetting & Interface Number
    // class driver returns interface and handle
    // for new alternate setting
    USBD_INTERFACE_INFORMATION Interface;
};

struct _URB_SELECT_CONFIGURATION {
#ifdef OSR21_COMPAT
    struct _URB_HEADER;     
#else
    struct _URB_HEADER Hdr;                 // function code indicates get or set.
#endif 
    // NULL indicates to set the device
    // to the 'unconfigured' state
    // ie set to configuration 0
    PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor;
    USBD_CONFIGURATION_HANDLE ConfigurationHandle;
    USBD_INTERFACE_INFORMATION Interface;
};

//
// This structure used for ABORT_PIPE & RESET_PIPE
//

struct _URB_PIPE_REQUEST {
#ifdef OSR21_COMPAT
    struct _URB_HEADER;     
#else
    struct _URB_HEADER Hdr;                 // function code indicates get or set.
#endif 
    USBD_PIPE_HANDLE PipeHandle;
    ULONG Reserved;
};

//
// This structure used for
// TAKE_FRAME_LENGTH_CONTROL &
//        RELEASE_FRAME_LENGTH_CONTROL
//

struct _URB_FRAME_LENGTH_CONTROL {
#ifdef OSR21_COMPAT
    struct _URB_HEADER;     
#else
    struct _URB_HEADER Hdr;                 // function code indicates get or set.
#endif 
};

struct _URB_GET_FRAME_LENGTH {
#ifdef OSR21_COMPAT
    struct _URB_HEADER;     
#else
    struct _URB_HEADER Hdr;                 // function code indicates get or set.
#endif 
    ULONG FrameLength;
    ULONG FrameNumber;
};

struct _URB_SET_FRAME_LENGTH {
#ifdef OSR21_COMPAT
    struct _URB_HEADER;     
#else
    struct _URB_HEADER Hdr;                 // function code indicates get or set.
#endif 
    LONG FrameLengthDelta;
};

struct _URB_GET_CURRENT_FRAME_NUMBER {
#ifdef OSR21_COMPAT
    struct _URB_HEADER;     
#else
    struct _URB_HEADER Hdr;                 // function code indicates get or set.
#endif 
    ULONG FrameNumber;
};

//
// Structures for specific control transfers
// on the default pipe.
//

// GET_DESCRIPTOR
// SET_DESCRIPTOR

struct _URB_CONTROL_DESCRIPTOR_REQUEST {
#ifdef OSR21_COMPAT
    struct _URB_HEADER;     
#else
    struct _URB_HEADER Hdr;                 // function code indicates get or set.
#endif    
    PVOID Reserved;
    ULONG Reserved0;
    ULONG TransferBufferLength;
    PVOID TransferBuffer;
    PMDL TransferBufferMDL;             // *optional*
    struct _URB *UrbLink;               // *optional* link to next urb request
                                        // if this is a chain of commands
    struct _URB_HCD_AREA hca;               // fields for HCD use
    USHORT Reserved1;
    UCHAR Index;
    UCHAR DescriptorType;
    USHORT LanguageId;
    USHORT Reserved2;
};

// GET_STATUS

struct _URB_CONTROL_GET_STATUS_REQUEST {
#ifdef OSR21_COMPAT
    struct _URB_HEADER;     
#else
    struct _URB_HEADER Hdr;                 // function code indicates get or set.
#endif 
    PVOID Reserved;
    ULONG Reserved0;
    ULONG TransferBufferLength;
    PVOID TransferBuffer;
    PMDL TransferBufferMDL;             // *optional*
    struct _URB *UrbLink;               // *optional* link to next urb request
                                        // if this is a chain of commands
    struct _URB_HCD_AREA hca;           // fields for HCD use
    UCHAR Reserved1[4];
    USHORT Index;                       // zero, interface or endpoint
    USHORT Reserved2;
};

// SET_FEATURE
// CLEAR_FEATURE

struct _URB_CONTROL_FEATURE_REQUEST {
#ifdef OSR21_COMPAT
    struct _URB_HEADER;
#else
    struct _URB_HEADER Hdr;                 // function code indicates get or set.
#endif
    PVOID Reserved;
    ULONG Reserved2;
    ULONG Reserved3;
    PVOID Reserved4;
    PMDL Reserved5;
    struct _URB *UrbLink;               // *optional* link to next urb request
                                        // if this is a chain of commands
    struct _URB_HCD_AREA hca;           // fields for HCD use
    USHORT Reserved0;
    USHORT FeatureSelector;
    USHORT Index;                       // zero, interface or endpoint
    USHORT Reserved1;
};

// VENDOR & CLASS

struct _URB_CONTROL_VENDOR_OR_CLASS_REQUEST {
#ifdef OSR21_COMPAT
    struct _URB_HEADER;     
#else
    struct _URB_HEADER Hdr;                 // function code indicates get or set.
#endif 
    PVOID Reserved;
    ULONG TransferFlags;
    ULONG TransferBufferLength;
    PVOID TransferBuffer;
    PMDL TransferBufferMDL;             // *optional*
    struct _URB *UrbLink;               // *optional* link to next urb request
                                        // if this is a chain of commands
    struct _URB_HCD_AREA hca;           // fields for HCD use
    UCHAR RequestTypeReservedBits;
    UCHAR Request;
    USHORT Value;
    USHORT Index;
    USHORT Reserved1;
};


struct _URB_CONTROL_GET_INTERFACE_REQUEST {
#ifdef OSR21_COMPAT
    struct _URB_HEADER;     
#else
    struct _URB_HEADER Hdr;                 // function code indicates get or set.
#endif 
    PVOID Reserved;
    ULONG Reserved0;
    ULONG TransferBufferLength;
    PVOID TransferBuffer;
    PMDL TransferBufferMDL;             // *optional*
    struct _URB *UrbLink;               // *optional* link to next urb request
                                        // if this is a chain of commands
    struct _URB_HCD_AREA hca;           // fields for HCD use
    UCHAR Reserved1[4];    
    USHORT Interface;
    USHORT Reserved2;
};


struct _URB_CONTROL_GET_CONFIGURATION_REQUEST {
#ifdef OSR21_COMPAT
    struct _URB_HEADER Hdr;     
#else
    struct _URB_HEADER Hdr;                 // function code indicates get or set.
#endif 
    PVOID Reserved;
    ULONG Reserved0;
    ULONG TransferBufferLength;
    PVOID TransferBuffer;
    PMDL TransferBufferMDL;             // *optional*
    struct _URB *UrbLink;               // *optional* link to next urb request
                                        // if this is a chain of commands
    struct _URB_HCD_AREA hca;           // fields for HCD use
    UCHAR Reserved1[8];    
};


//
// request format for a control transfer on
// the non-default pipe.
//

struct _URB_CONTROL_TRANSFER {
#ifdef OSR21_COMPAT
    struct _URB_HEADER;     
#else
    struct _URB_HEADER Hdr;                 // function code indicates get or set.
#endif 
    USBD_PIPE_HANDLE PipeHandle;
    ULONG TransferFlags;
    ULONG TransferBufferLength;
    PVOID TransferBuffer;
    PMDL TransferBufferMDL;             // *optional*
    struct _URB *UrbLink;               // *optional* link to next urb request
                                        // if this is a chain of commands
    struct _URB_HCD_AREA hca;           // fields for HCD use
    UCHAR SetupPacket[8];
};


struct _URB_BULK_OR_INTERRUPT_TRANSFER {
#ifdef OSR21_COMPAT
    struct _URB_HEADER;     
#else
    struct _URB_HEADER Hdr;                 // function code indicates get or set.
#endif 
    USBD_PIPE_HANDLE PipeHandle;
    ULONG TransferFlags;                // note: the direction bit will be set by USBD
    ULONG TransferBufferLength;
    PVOID TransferBuffer;
    PMDL TransferBufferMDL;             // *optional*
    struct _URB *UrbLink;               // *optional* link to next urb request
                                        // if this is a chain of commands
    struct _URB_HCD_AREA hca;           // fields for HCD use
};


//
// ISO Transfer request
//
// TransferBufferMDL must point to a single virtually 
// contiguous buffer.
//
// StartFrame - the frame to send/receive the first packet of 
// the request. 
//
// NumberOfPackets - number of packets to send in this request
//
//
// IsoPacket Array
//
//      Input:  Offset - offset of the packet from the beginig
//                 of the client buffer.
//      Output: Length -  is set to the actual length of the packet
//                (For IN transfers). 
//      Status: error that occurred during transmission or 
//              reception of the packet.
//      

typedef struct _USBD_ISO_PACKET_DESCRIPTOR {
    ULONG Offset;       // INPUT Offset of the packet from the begining of the
                        // buffer.

    ULONG Length;       // OUTPUT length of data received (for in).
                        // OUTPUT 0 for OUT.
    USBD_STATUS Status; // status code for this packet.     
} USBD_ISO_PACKET_DESCRIPTOR, *PUSBD_ISO_PACKET_DESCRIPTOR;

struct _URB_ISOCH_TRANSFER {
    //
    // This block is the same as CommonTransfer
    //
#ifdef OSR21_COMPAT
    struct _URB_HEADER;     
#else
    struct _URB_HEADER Hdr;                 // function code indicates get or set.
#endif 
    USBD_PIPE_HANDLE PipeHandle;
    ULONG TransferFlags;
    ULONG TransferBufferLength;
    PVOID TransferBuffer;
    PMDL TransferBufferMDL;             // *optional*
    struct _URB *UrbLink;               // *optional* link to next urb request
                                        // if this is a chain of commands
    struct _URB_HCD_AREA hca;           // fields for HCD use

    //
    // this block contains transfer fields
    // specific to isochronous transfers
    //

    // 32 bit frame number to begin this transfer on, must be within 1000
    // frames of the current USB frame or an error is returned.

    // START_ISO_TRANSFER_ASAP flag in transferFlags:
    // If this flag is set and no transfers have been submitted
    // for the pipe then the transfer will begin on the next frame
    // and StartFrame will be updated with the frame number the transfer
    // was started on.
    // If this flag is set and the pipe has active transfers then 
    // the transfer will be queued to begin on the frame after the 
    // last transfer queued is completed.
    //
    ULONG StartFrame;
    // number of packets that make up this request
    ULONG NumberOfPackets;
    // number of packets that completed with errors
    ULONG ErrorCount;
#ifdef OSR21_COMPAT        
    USBD_ISO_PACKET_DESCRIPTOR IsoPacket[0]; 
#else     
    USBD_ISO_PACKET_DESCRIPTOR IsoPacket[1]; 
#endif    
};


typedef struct _URB {
    union {
            struct _URB_HEADER                           UrbHeader;
            struct _URB_SELECT_INTERFACE                 UrbSelectInterface;
            struct _URB_SELECT_CONFIGURATION             UrbSelectConfiguration;
            struct _URB_PIPE_REQUEST                     UrbPipeRequest;
            struct _URB_FRAME_LENGTH_CONTROL             UrbFrameLengthControl;
            struct _URB_GET_FRAME_LENGTH                 UrbGetFrameLength;
            struct _URB_SET_FRAME_LENGTH                 UrbSetFrameLength;
            struct _URB_GET_CURRENT_FRAME_NUMBER         UrbGetCurrentFrameNumber;
            struct _URB_CONTROL_TRANSFER                 UrbControlTransfer;
            struct _URB_BULK_OR_INTERRUPT_TRANSFER       UrbBulkOrInterruptTransfer;
            struct _URB_ISOCH_TRANSFER                   UrbIsochronousTransfer;

            // for standard control transfers on the default pipe
            struct _URB_CONTROL_DESCRIPTOR_REQUEST       UrbControlDescriptorRequest;
            struct _URB_CONTROL_GET_STATUS_REQUEST       UrbControlGetStatusRequest;
            struct _URB_CONTROL_FEATURE_REQUEST          UrbControlFeatureRequest;
            struct _URB_CONTROL_VENDOR_OR_CLASS_REQUEST  UrbControlVendorClassRequest;
            struct _URB_CONTROL_GET_INTERFACE_REQUEST    UrbControlGetInterfaceRequest;
            struct _URB_CONTROL_GET_CONFIGURATION_REQUEST UrbControlGetConfigurationRequest;
    };
} URB, *PURB;


#endif /*  __USBDI_H__ */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕av免费专区久久| 国产精品久久影院| 国产午夜精品福利| 亚洲最色的网站| 亚洲国产精品综合小说图片区| 日韩不卡免费视频| 日韩精品中文字幕在线一区| 日本二三区不卡| 日韩一区二区三区免费看 | 成人性生交大合| 天天影视涩香欲综合网| 亚洲欧美一区二区久久| 国产日韩欧美精品在线| 国产亚洲自拍一区| 91麻豆精品国产91久久久| 91亚洲精品久久久蜜桃网站 | 偷窥少妇高潮呻吟av久久免费| 国产精品国产成人国产三级| 久久久久久久网| 欧美videos大乳护士334| 欧美日韩另类一区| 91麻豆国产香蕉久久精品| 国产成人精品三级麻豆| 韩国三级在线一区| 久久电影网站中文字幕| 日韩高清不卡一区二区三区| 婷婷中文字幕综合| 五月婷婷久久丁香| 天天综合色天天综合| 日日夜夜精品视频天天综合网| 亚洲激情av在线| 伊人一区二区三区| 玉足女爽爽91| 一区二区三区成人| 亚洲一区二区三区四区不卡| 一区二区三区在线影院| 亚洲美女区一区| 亚洲一区自拍偷拍| 午夜视频在线观看一区二区三区 | 国产自产v一区二区三区c| 蜜臀久久久99精品久久久久久| 日韩成人免费电影| 美女被吸乳得到大胸91| 精品一区二区三区在线观看 | 99久久婷婷国产综合精品电影| 国产91露脸合集magnet| 成人美女视频在线看| 91片在线免费观看| 欧美在线综合视频| 欧美精品v国产精品v日韩精品| 欧美精品三级日韩久久| 日韩欧美黄色影院| 久久久www成人免费无遮挡大片| 国产日韩欧美制服另类| 国产精品日日摸夜夜摸av| 中文字幕综合网| 亚洲成人免费电影| 久久激情五月婷婷| 成人性生交大合| 欧美三区免费完整视频在线观看| 欧美日本一区二区三区四区| 欧美videossexotv100| 国产精品视频看| 亚洲国产精品欧美一二99| 日本vs亚洲vs韩国一区三区二区| 韩国午夜理伦三级不卡影院| 99re免费视频精品全部| 欧美性猛片aaaaaaa做受| 欧美一区二区美女| 欧美激情一区在线| 亚洲国产综合在线| 精品一区二区三区免费观看| 欧美日韩和欧美的一区二区| 精品免费日韩av| 中文字幕综合网| 日本91福利区| eeuss国产一区二区三区| 欧美精品乱人伦久久久久久| 久久久久久久电影| 亚洲一区在线电影| 国产剧情一区在线| 欧美性高清videossexo| 欧美xxxx在线观看| 一区二区三区在线影院| 蜜桃视频在线观看一区二区| 欧亚一区二区三区| 国产欧美一区视频| 99热这里都是精品| 6080午夜不卡| 中文字幕一区在线观看视频| 日韩中文字幕亚洲一区二区va在线| 国产麻豆视频精品| 欧美美女直播网站| 成人欧美一区二区三区白人| 青青草伊人久久| 日本韩国欧美三级| 中文在线一区二区| 久久精品国产精品亚洲精品| 色欧美日韩亚洲| 久久综合色播五月| 婷婷综合另类小说色区| 91麻豆国产自产在线观看| 久久精品无码一区二区三区| 日日夜夜精品视频天天综合网| 99国产精品99久久久久久| 精品电影一区二区| 亚洲大尺度视频在线观看| 不卡在线观看av| 26uuu色噜噜精品一区| 日本亚洲免费观看| 在线视频你懂得一区| 国产精品乱人伦中文| 国产一区亚洲一区| 日韩亚洲国产中文字幕欧美| 午夜视黄欧洲亚洲| 欧美一a一片一级一片| 国产精品久久久久aaaa樱花| 国产成人在线看| 久久网站最新地址| 久久99精品久久久久久动态图| 欧美一区二区三区啪啪| 亚洲午夜在线视频| 精品视频在线视频| 一区二区三区精品| 欧洲亚洲精品在线| 亚洲国产精品影院| 91在线精品秘密一区二区| 日韩一区二区三区四区| 日韩不卡手机在线v区| 在线播放亚洲一区| 香蕉成人啪国产精品视频综合网| 色欧美88888久久久久久影院| 中文字幕一区二区三中文字幕| 国产成人精品三级麻豆| 亚洲第一主播视频| 欧美裸体bbwbbwbbw| 日本不卡一区二区三区| 日韩一二在线观看| 激情小说欧美图片| 欧美激情资源网| 成人v精品蜜桃久久一区| 日韩码欧中文字| 色婷婷狠狠综合| 午夜天堂影视香蕉久久| 777午夜精品视频在线播放| 免费国产亚洲视频| 久久久国产一区二区三区四区小说 | 白白色亚洲国产精品| 亚洲视频一区在线| 欧美又粗又大又爽| 天堂精品中文字幕在线| 欧美tickling挠脚心丨vk| 国产一区在线看| 最新国产精品久久精品| 欧美日韩一二三| 韩国一区二区三区| 中文字幕永久在线不卡| 欧美人狂配大交3d怪物一区| 奇米精品一区二区三区在线观看| 久久欧美一区二区| 色婷婷综合久久久久中文| 日韩精品欧美精品| 国产欧美一区二区在线观看| 色视频欧美一区二区三区| 日韩福利电影在线观看| 中文字幕av一区二区三区高| 欧美在线三级电影| 国产在线精品一区二区三区不卡| 国产精品护士白丝一区av| 欧美精品三级在线观看| 国产99久久久国产精品免费看| 一区二区三区中文字幕精品精品| 91精品国产麻豆| 成人福利视频网站| 日韩你懂的在线观看| 亚洲国产美国国产综合一区二区| 国产一区在线精品| 欧美日韩视频在线观看一区二区三区| 午夜私人影院久久久久| 不卡的av中国片| 夜夜操天天操亚洲| 欧美精品日韩精品| 精品一区免费av| 久久理论电影网| 国产99一区视频免费| 国产日韩欧美精品一区| 成人夜色视频网站在线观看| 中文字幕欧美国产| 国产91精品一区二区| 亚洲欧洲三级电影| 色偷偷88欧美精品久久久| 国产日产精品1区| 麻豆成人av在线| 欧美日本在线看| 亚洲第一主播视频| 国产日产欧美精品一区二区三区| 欧美日韩成人综合在线一区二区| 成人午夜精品在线| 精品一区二区三区在线视频| 亚洲国产精品精华液网站|