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

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

?? libusb_driver.h

?? 一個USB的訪問庫
?? H
字號:
/* LIBUSB-WIN32, Generic Windows USB Driver
 * Copyright (C) 2002-2004 Stephan Meyer, <ste_meyer@web.de>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */


#ifndef __LIBUSB_FILTER_H__
#define __LIBUSB_FILTER_H__

#include <ddk/usb100.h>
#include <ddk/usbdi.h>
#include <wchar.h>
#include <initguid.h>

#undef interface

#include "driver_api.h"
#include "usbdlib.h"

/* some missing defines */
#define USBD_TRANSFER_DIRECTION_OUT       0   
#define USBD_TRANSFER_DIRECTION_BIT       0
#define USBD_TRANSFER_DIRECTION_IN        (1 << USBD_TRANSFER_DIRECTION_BIT)
#define USBD_SHORT_TRANSFER_OK_BIT        1
#define USBD_SHORT_TRANSFER_OK            (1 << USBD_SHORT_TRANSFER_OK_BIT)
#define USBD_START_ISO_TRANSFER_ASAP_BIT  2
#define USBD_START_ISO_TRANSFER_ASAP   (1 << USBD_START_ISO_TRANSFER_ASAP_BIT)

#define USB_RECIP_DEVICE    0x00
#define USB_RECIP_INTERFACE 0x01
#define USB_RECIP_ENDPOINT  0x02
#define USB_RECIP_OTHER     0x03

#define USB_TYPE_STANDARD   0x00
#define USB_TYPE_CLASS      0x01
#define USB_TYPE_VENDOR	    0x02


#define LIBUSB_NT_DEVICE_NAME L"\\Device\\libusb0"
#define LIBUSB_SYMBOLIC_LINK_NAME L"\\DosDevices\\libusb0-"

#define LIBUSB_MAX_NUMBER_OF_ENDPOINTS  32
#define LIBUSB_MAX_NUMBER_OF_INTERFACES 32
#define LIBUSB_MAX_NUMBER_OF_CHILD_IDS  32


#define LIBUSB_DEFAULT_TIMEOUT  5000   

#ifdef __LIBUSB_DRIVER_C__
int debug_level = 0;
#else
extern int debug_level;
#endif

#ifdef DBG
#define DEBUG_PRINT_NL() if(debug_level >= LIBUSB_DEBUG_MSG) KdPrint(("\n"))

#define DEBUG_SET_LEVEL(level) debug_level = level

#define DEBUG_MESSAGE(format, args...) \
  do { \
     if(LIBUSB_DEBUG_MSG <= debug_level) \
        KdPrint(("LIBUSB-DRIVER - " format, ## args)); \
     } while(0)

#define DEBUG_ERROR(format, args...) \
  do { \
     if(LIBUSB_DEBUG_ERR <= debug_level) \
        KdPrint(("LIBUSB-DRIVER - " format, ## args)); \
     } while(0)

#else

#define DEBUG_PRINT_NL()
#define DEBUG_SET_LEVEL(level)
#define DEBUG_MESSAGE(format, args...)
#define DEBUG_ERROR(format, args...)
#endif

typedef struct
{
  long usage_count;
  int remove_pending;
  KEVENT event;
} libusb_remove_lock_t;

typedef struct
{
  int address;
  USBD_PIPE_HANDLE handle;
} libusb_endpoint_info_t;

typedef struct
{
  int valid;
  int claimed;
  libusb_endpoint_info_t endpoints[LIBUSB_MAX_NUMBER_OF_ENDPOINTS];
} libusb_interface_info_t;

typedef struct
{
  DEVICE_OBJECT	*self;
  DEVICE_OBJECT	*physical_device_object;
  DEVICE_OBJECT	*next_stack_device;
  libusb_remove_lock_t remove_lock; 
  USBD_CONFIGURATION_HANDLE configuration_handle;
  LONG ref_count;
  int is_started;
  int is_root_hub;
  int configuration;
  int device_id;
  int port;
  int bus;
  unsigned int parent_id;
  int num_child_ids;
  unsigned int child_ids[LIBUSB_MAX_NUMBER_OF_CHILD_IDS];
  libusb_interface_info_t interfaces[LIBUSB_MAX_NUMBER_OF_INTERFACES];
} libusb_device_extension;


NTSTATUS DDKAPI dispatch(DEVICE_OBJECT *device_object, IRP *irp);
NTSTATUS dispatch_pnp(libusb_device_extension *device_extension, IRP *irp);
NTSTATUS dispatch_power(libusb_device_extension *device_extension, IRP *irp);
NTSTATUS dispatch_ioctl(libusb_device_extension *device_extension, IRP *irp);

NTSTATUS complete_irp(IRP *irp, NTSTATUS status, ULONG info);

NTSTATUS call_usbd(libusb_device_extension *device_extension, void *urb,
                   ULONG control_code, int timeout);
NTSTATUS pass_irp_down(libusb_device_extension *device_extension, IRP *irp);

BOOL is_irp_for_us(libusb_device_extension *device_extension, IRP *irp);

int get_pipe_handle(libusb_device_extension *device_extension, 
                    int endpoint_address, USBD_PIPE_HANDLE *pipe_handle);
void clear_pipe_info(libusb_device_extension *device_extension);
int update_pipe_info(libusb_device_extension *device_extension, int interface,
                     USBD_INTERFACE_INFORMATION *interface_info);

void remove_lock_initialize(libusb_remove_lock_t *remove_lock);
NTSTATUS remove_lock_acquire(libusb_remove_lock_t *remove_lock);
void remove_lock_release(libusb_remove_lock_t *remove_lock);
void remove_lock_release_and_wait(libusb_remove_lock_t *remove_lock);

NTSTATUS set_configuration(libusb_device_extension *device_extension,
                           int configuration, int timeout);
NTSTATUS get_configuration(libusb_device_extension *device_extension,
                           unsigned char *configuration, int *ret, 
                           int timeout);
NTSTATUS set_interface(libusb_device_extension *device_extension,
                       int interface, int altsetting, int timeout);
NTSTATUS get_interface(libusb_device_extension *device_extension,
                       int interface, unsigned char *altsetting, 
                       int *ret, int timeout);
NTSTATUS set_feature(libusb_device_extension *device_extension,
                     int recipient, int index, int feature, int timeout);
NTSTATUS clear_feature(libusb_device_extension *device_extension,
                       int recipient, int index, int feature, int timeout);
NTSTATUS get_status(libusb_device_extension *device_extension, int recipient,
                    int index, char *status, int *ret, int timeout);
NTSTATUS set_descriptor(libusb_device_extension *device_extension,
                        void *buffer, int size, 
                        int type, int index, int language_id, 
                        int *sent, int timeout);
NTSTATUS get_descriptor(libusb_device_extension *device_extension,
                        void *buffer, int size, int type, 
                        int index, int language_id, int *sent, int timeout);
NTSTATUS transfer(IRP *irp, libusb_device_extension *device_extension,
                  int direction, int urb_function, int endpoint, 
                  int packet_size, MDL *buffer, int size);

NTSTATUS vendor_class_request(libusb_device_extension *device_extension,
                              int type, int recipient,
                              int request, int value, int index,
                              void *buffer, int size, int direction,
                              int *sent, int timeout);
NTSTATUS abort_endpoint(libusb_device_extension *device_extension,
                        int endpoint, int timeout);
NTSTATUS reset_endpoint(libusb_device_extension *device_extension,
                        int endpoint, int timeout);
NTSTATUS reset_device(libusb_device_extension *device_extension, int timeout);

NTSTATUS claim_interface(libusb_device_extension *device_extension,
                         int interface);
NTSTATUS release_interface(libusb_device_extension *device_extension,
                           int interface);
NTSTATUS release_all_interfaces(libusb_device_extension *device_extension);

NTSTATUS get_device_info(libusb_device_extension *device_extension, 
                         libusb_request *request, int *ret);
BOOL is_root_hub(libusb_device_extension *device_extension);
void get_topology_info(libusb_device_extension *device_extension);


#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲aⅴ怡春院| 国产精品免费人成网站| 在线视频你懂得一区| 成人黄色小视频| 国产福利精品导航| 国产精品亚洲一区二区三区在线| 麻豆传媒一区二区三区| 美女视频免费一区| 免费在线观看日韩欧美| 蜜臀久久99精品久久久画质超高清 | 九一九一国产精品| 久久av资源网| 国产精品99久久久久| 国产美女在线精品| 不卡的电影网站| 色国产综合视频| 制服丝袜日韩国产| 精品日韩在线观看| 中文字幕 久热精品 视频在线| 国产精品福利一区| 午夜欧美一区二区三区在线播放| 视频在线在亚洲| 国产一区二区三区久久悠悠色av | 色诱视频网站一区| 欧美日韩大陆在线| 久久久久97国产精华液好用吗| 日韩欧美视频在线| 日本一区二区三区久久久久久久久不| 国产精品夫妻自拍| 午夜久久久影院| 国产成人免费9x9x人网站视频| 成人aaaa免费全部观看| 欧美高清视频一二三区 | 亚洲青青青在线视频| 亚洲午夜免费电影| 国产精品1区二区.| 欧美婷婷六月丁香综合色| 精品国产91乱码一区二区三区| 亚洲丝袜自拍清纯另类| 日韩国产精品大片| 99久久99久久精品免费观看| 日韩欧美资源站| 综合激情成人伊人| 国内外精品视频| 欧美日韩精品一区二区| 亚洲国产高清aⅴ视频| 日韩精品亚洲一区| 99久久婷婷国产综合精品电影| 日韩视频一区二区三区| 一区二区三区资源| 北条麻妃一区二区三区| 久久亚洲综合色| 免费在线观看视频一区| 欧美日韩免费一区二区三区| 国产精品狼人久久影院观看方式| 青草国产精品久久久久久| 色播五月激情综合网| 中文字幕免费观看一区| 久久国产精品色| 91精品国产乱| 亚欧色一区w666天堂| 在线观看免费亚洲| 亚洲免费视频中文字幕| 成人va在线观看| 日本一区二区免费在线观看视频 | 国产一区二区久久| 不卡视频免费播放| 337p亚洲精品色噜噜狠狠| 国产精品午夜春色av| 136国产福利精品导航| 国产精品一二三| 欧美一区二区在线免费观看| 亚洲男人的天堂在线aⅴ视频| 精品一区二区国语对白| 制服丝袜av成人在线看| 自拍视频在线观看一区二区| 国产一区二区伦理片| 欧美一区二区三区四区久久| 国产精品美女久久久久aⅴ| 国产91在线观看丝袜| 精品成人a区在线观看| 日本中文字幕一区二区视频| 在线观看www91| 亚洲日本一区二区三区| 成人污污视频在线观看| 国产色91在线| 国产成人一区在线| 国产午夜精品一区二区三区嫩草| 久久国产日韩欧美精品| 日韩精品一区二区三区swag| 卡一卡二国产精品 | 国产午夜亚洲精品理论片色戒 | 免费在线一区观看| 日韩一级二级三级精品视频| 日产精品久久久久久久性色| 欧美美女黄视频| 美腿丝袜在线亚洲一区| 日韩一级视频免费观看在线| 久久国产精品99精品国产| 欧美成人一区二区三区片免费| 亚洲免费观看在线视频| 91精品国产综合久久久久久漫画 | 亚洲最色的网站| 欧美色综合影院| 日韩精品一区第一页| 日韩欧美一区在线观看| 国产毛片精品视频| 国产精品久久久久婷婷二区次| 国产乱国产乱300精品| 久久精品欧美一区二区三区麻豆| 国产成人av一区| 自拍偷拍亚洲激情| 91.com在线观看| 国产剧情一区二区| 亚洲免费资源在线播放| 日韩三级伦理片妻子的秘密按摩| 国产一区二区福利| 亚洲一区二区三区四区在线观看| 日韩一区二区三区四区 | 国产精品久久久久久福利一牛影视 | 国精产品一区一区三区mba视频| 欧美女孩性生活视频| 国产999精品久久久久久绿帽| 亚洲视频一区二区在线观看| 精品国产一二三区| 伦理电影国产精品| 亚洲欧美在线视频观看| 日韩一区二区三区高清免费看看| 国产盗摄女厕一区二区三区| 亚洲日本一区二区三区| 欧美美女一区二区在线观看| 成人精品国产免费网站| 一区二区三区免费在线观看| 久久日一线二线三线suv| www.综合网.com| 午夜精品福利一区二区蜜股av| 久久久久国产精品厨房| 欧美一区二区三区公司| 99久久久国产精品| 三级一区在线视频先锋| 亚洲一区二区三区四区在线观看| 日本一区免费视频| 欧美一区午夜精品| 色94色欧美sute亚洲线路二 | 日韩电影一二三区| 国产精品乱人伦| 精品电影一区二区| 91精品国产综合久久精品app| 91视频观看免费| 国产一区二区伦理| 亚洲综合激情网| 欧美成人综合网站| 在线观看一区日韩| 国产高清在线观看免费不卡| 秋霞午夜av一区二区三区| 亚洲一区二区不卡免费| 亚洲欧美日韩国产一区二区三区| 久久精品男人天堂av| 国产亚洲成av人在线观看导航| 欧美mv和日韩mv国产网站| 69p69国产精品| 91精品国产综合久久福利软件 | 免费三级欧美电影| 香蕉乱码成人久久天堂爱免费| 亚洲天堂成人网| ㊣最新国产の精品bt伙计久久| 中文字幕乱码亚洲精品一区| 国产精品乱子久久久久| 国产精品久久久久国产精品日日| 国产午夜一区二区三区| 欧美国产一区在线| 国产亚洲欧美激情| 中文字幕av一区二区三区| 一区二区三区在线观看视频| 一区二区三区在线观看欧美| 亚洲图片欧美色图| 日本在线不卡一区| 精品亚洲porn| 99re亚洲国产精品| 欧美色图12p| 欧美一区二区大片| 国产亚洲一区二区在线观看| 久久九九国产精品| 久久久久久久av麻豆果冻| 一区二区三区四区亚洲| 午夜激情综合网| 九九久久精品视频| www.欧美日韩| 欧美性极品少妇| 久久久综合视频| 18成人在线观看| 日韩不卡手机在线v区| 国产精品一二三区| 91啪九色porn原创视频在线观看| 色婷婷亚洲一区二区三区| 精品国产乱码久久久久久浪潮| 久久亚洲综合av| 亚洲国产精品一区二区久久 | 国产·精品毛片| 成人网在线播放|