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

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

?? usbdriver.h

?? USB2.0原理與工程開發(fā)光盤(第一版和第二版)
?? H
字號:
//#ifdef DRIVER和ENDIF的部分是開發(fā)設(shè)備驅(qū)動程序所專用的,他們不能在Win32應用程序中使用,所以加上了該屏蔽。 
//也就是說,該頭文件也可在Win32應用程序中直接使用,而且也的確使用了。當然,也可以在Win32應用程序中把不
//需要的部分直接去除。

#ifndef USBDRIVER_H
#define USBDRIVER_H
#endif

#ifdef DRIVER
#include "wdm.h"
#include "usbdi.h"
#include "usbdlib.h"
#include <resource.h>
#endif

#ifndef _BYTE_DEFINED
#define _BYTE_DEFINED
typedef unsigned char BYTE;
#endif // !_BYTE_DEFINED

#ifndef _WORD_DEFINED
#define _WORD_DEFINED
typedef unsigned short WORD;
#endif // !_WORD_DEFINED

typedef struct _VENDOR_REQUEST_IN
{
    BYTE    bRequest;
    WORD    wValue;
    WORD    wIndex;
    WORD    wLength;
    BYTE    direction;
    BYTE    bData;
} VENDOR_REQUEST_IN, *PVENDOR_REQUEST_IN;

typedef struct _GET_STRING_DESCRIPTOR_IN
{
   UCHAR    Index;
   USHORT   LanguageId;
} GET_STRING_DESCRIPTOR_IN, *PGET_STRING_DESCRIPTOR_IN;

typedef struct _BULK_TRANSFER_CONTROL
{
   ULONG pipeNum;
} BULK_TRANSFER_CONTROL, *PBULK_TRANSFER_CONTROL;

#ifdef DRIVER

// Device extension structure
typedef struct tagDEVICE_EXTENSION
{
   PDEVICE_OBJECT PhysicalDeviceObject;   // physical device object   
   PDEVICE_OBJECT LowerDeviceObject;		// next lower driver in same stack
   BOOLEAN Stop;     // Indicates that we have recieved a STOP message

   // configuration handle for the configuration the
   // device is currently in
   USBD_CONFIGURATION_HANDLE ConfigurationHandle;

   // pointer to the USB device descriptor for this device
   PUSB_DEVICE_DESCRIPTOR DeviceDescriptor;

   // we support up to one interface
   PUSBD_INTERFACE_INFORMATION Interface;

   // the number of device handles currently open to the device object.
   // Gets incremented by Create and decremented by Close
   //打開的設(shè)備句柄。與用戶應用程序相對應的。即createfile和closehandle。
   ULONG OpenHandles;

   // Name buffer for our named Functional device object link
   //設(shè)備連接名,注意它的長度為64。不要太小了,如32,不好。
   WCHAR DeviceLinkName[64];

   // use counter for the device.  Gets incremented when the driver receives
   // a request and gets decremented when a request s completed.
   //記錄有多少個I/O請求正在處理中。
   LONG Usages;

   // this event gets set when it is ok to remove the device
   KEVENT evRemove;

   // TRUE if we're trying to remove this device
   BOOLEAN Removing;
   
} DEVICE_EXTENSION, *PDEVICE_EXTENSION;


NTSTATUS TestAddDevice(IN PDRIVER_OBJECT DriverObject,
                       IN PDEVICE_OBJECT PhysicalDeviceObject);
VOID TestDrvUnload(IN PDRIVER_OBJECT DriverObject);
NTSTATUS TestPnpIrp(IN PDEVICE_OBJECT fdo, IN PIRP Irp);
NTSTATUS TestPowerIrp(IN PDEVICE_OBJECT fdo,IN PIRP Irp);
NTSTATUS TestCreate(IN PDEVICE_OBJECT fdo, IN PIRP Irp);
NTSTATUS TestClose(IN PDEVICE_OBJECT fdo, IN PIRP Irp);
NTSTATUS TestIOCTL(IN PDEVICE_OBJECT fdo,IN PIRP Irp);
BOOLEAN LockDevice(IN PDEVICE_OBJECT fdo);
void UnlockDevice(PDEVICE_OBJECT fdo);
NTSTATUS CompleteRequest(IN PIRP Irp,IN NTSTATUS status,IN ULONG info);
NTSTATUS UsbCallUSBDI(IN PDEVICE_OBJECT fdo,IN PURB Urb);



#endif      //DRIVER section


#define Ezusb_IOCTL_INDEX  0x0800

//FILE_DEVICE_UNKNOWN在adddevice時標志的。

#define IOCTL_Ezusb_GET_DEVICE_DESCRIPTOR CTL_CODE(FILE_DEVICE_UNKNOWN,  \
                                                   Ezusb_IOCTL_INDEX+0,\
                                                   METHOD_BUFFERED,  \
                                                   FILE_ANY_ACCESS)

#define IOCTL_Ezusb_GET_CONFIGURATION_DESCRIPTOR CTL_CODE(FILE_DEVICE_UNKNOWN,  \
                                                   Ezusb_IOCTL_INDEX+1,\
                                                   METHOD_BUFFERED,  \
                                                   FILE_ANY_ACCESS)

#define IOCTL_Ezusb_GET_STRING_DESCRIPTOR CTL_CODE(FILE_DEVICE_UNKNOWN,  \
                                                   Ezusb_IOCTL_INDEX+2,\
                                                   METHOD_BUFFERED,  \
                                                   FILE_ANY_ACCESS)

#define IOCTL_EZUSB_BULK_WRITE            CTL_CODE(FILE_DEVICE_UNKNOWN,  \
                                                   Ezusb_IOCTL_INDEX+3,\
                                                   METHOD_IN_DIRECT,  \
                                                   FILE_ANY_ACCESS)

#define IOCTL_EZUSB_BULK_READ             CTL_CODE(FILE_DEVICE_UNKNOWN,  \
                                                   Ezusb_IOCTL_INDEX+4,\
                                                   METHOD_OUT_DIRECT,  \
                                                   FILE_ANY_ACCESS)

#define IOCTL_EZUSB_GET_CURRENT_FRAME_NUMBER  CTL_CODE(FILE_DEVICE_UNKNOWN,  \
                                                   Ezusb_IOCTL_INDEX+5,\
                                                   METHOD_BUFFERED,  \
                                                   FILE_ANY_ACCESS)

#define IOCTL_Ezusb_RESETPIPE             CTL_CODE(FILE_DEVICE_UNKNOWN,  \
                                                   Ezusb_IOCTL_INDEX+6,\
                                                   METHOD_IN_DIRECT,  \
                                                   FILE_ANY_ACCESS)

#define IOCTL_Ezusb_ABORTPIPE             CTL_CODE(FILE_DEVICE_UNKNOWN,  \
                                                   Ezusb_IOCTL_INDEX+7,\
                                                   METHOD_IN_DIRECT,  \
                                                   FILE_ANY_ACCESS)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久国产综合精品| 51精品视频一区二区三区| 在线观看亚洲成人| 亚洲精品一区二区三区99| 亚洲欧美日韩国产成人精品影院| 日韩成人伦理电影在线观看| 成人禁用看黄a在线| 欧美一区欧美二区| 亚洲精品免费在线观看| 国产成a人无v码亚洲福利| 91精品国产综合久久久蜜臀粉嫩| 亚洲欧洲日韩综合一区二区| 韩国理伦片一区二区三区在线播放 | 精品一区二区三区在线观看国产| 色噜噜久久综合| 中文字幕在线播放不卡一区| 国产中文字幕一区| 欧美大胆人体bbbb| 调教+趴+乳夹+国产+精品| 91伊人久久大香线蕉| 国产精品久久久久久久久图文区| 国产综合一区二区| 2023国产精品视频| 麻豆精品在线观看| 欧美一区国产二区| 日本欧美韩国一区三区| 欧美日韩高清一区二区| 亚洲宅男天堂在线观看无病毒| 91污在线观看| 亚洲三级免费电影| 日本精品免费观看高清观看| 国产精品久久久久久久久久久免费看| 紧缚捆绑精品一区二区| 欧美精品一区二区在线观看| 精品一区二区三区久久| xfplay精品久久| 国产成人在线视频播放| 国产精品视频一二三区| 成人黄色小视频在线观看| 国产精品久久久久精k8| 91免费观看视频在线| 一区二区三区中文字幕电影 | 国产成人综合在线播放| 国产校园另类小说区| 成人黄色av电影| 综合久久久久久久| 欧美三级日本三级少妇99| 午夜精品123| 日韩精品一区二区三区在线播放| 另类小说视频一区二区| 久久久精品免费网站| 成人在线综合网| 免费欧美在线视频| 国产午夜精品一区二区三区四区| 粉嫩欧美一区二区三区高清影视| 国产精品国产a| 欧美日韩国产综合一区二区三区| 美女视频网站久久| 国产精品传媒入口麻豆| 在线观看三级视频欧美| 美女免费视频一区二区| 亚洲国产精品av| 在线视频一区二区三区| 奇米一区二区三区av| 欧美国产乱子伦 | jizzjizzjizz欧美| 亚洲国产日韩综合久久精品| 日韩一区二区三区免费观看| 国产99一区视频免费| 亚洲狠狠丁香婷婷综合久久久| 欧美一区2区视频在线观看| 国产高清一区日本| 亚洲精品福利视频网站| 久久青草欧美一区二区三区| 日本道精品一区二区三区| 精品无人区卡一卡二卡三乱码免费卡 | 天天色天天操综合| 91精品欧美福利在线观看| 精品一区二区免费在线观看| 亚洲人成影院在线观看| 欧美mv日韩mv国产网站| 欧美综合久久久| 国产精品一级片| 裸体一区二区三区| 亚洲香蕉伊在人在线观| 中文字幕欧美三区| 91精品一区二区三区久久久久久| 亚洲国产欧美日韩另类综合 | 精品国产免费久久| www.日韩在线| 日韩高清不卡一区| 国产精品短视频| 欧美一区二区三区视频在线| 丁香激情综合五月| 日韩精品国产欧美| 亚洲欧美综合色| 欧美成人三级在线| 精品视频1区2区| 成人教育av在线| 国产一区 二区 三区一级| 一区二区久久久| 中文字幕一区三区| 911国产精品| 国产精品综合二区| 国产一区二区三区在线观看精品 | 麻豆精品久久精品色综合| 亚洲免费成人av| 亚洲国产精品传媒在线观看| 欧美精品久久一区二区三区| 大胆欧美人体老妇| 成人午夜在线播放| 国内精品免费在线观看| 亚洲成人资源在线| 一区二区三区在线影院| 国产精品久久久久一区二区三区| 日韩视频一区二区| 久久奇米777| 精品成人私密视频| 精品日产卡一卡二卡麻豆| 日本高清成人免费播放| 99国产精品久久久久久久久久久| 一区二区三区精品在线观看| 亚洲美女一区二区三区| 国产精品久久久久天堂| 国产精品色哟哟| 国产精品全国免费观看高清| 国产午夜精品久久久久久免费视| 日韩免费福利电影在线观看| 欧美人与禽zozo性伦| 欧美视频一二三区| 91精品国产综合久久精品麻豆 | 欧美电影在哪看比较好| 欧美日韩在线一区二区| 91久久一区二区| 欧美亚洲高清一区二区三区不卡| 9191成人精品久久| 日韩午夜在线观看视频| 欧美精品一区二区三区在线| 久久久久亚洲综合| 国产精品久久久爽爽爽麻豆色哟哟| 国产欧美精品区一区二区三区 | 国产精品99久久久久久有的能看 | 欧美一区二区二区| 欧美不卡视频一区| 久久综合色鬼综合色| 国产清纯白嫩初高生在线观看91 | 欧美韩国一区二区| 成人免费视频在线观看| 亚洲一区视频在线| 日韩av一二三| 国产真实乱子伦精品视频| 日本乱人伦一区| 欧美一区二区三区男人的天堂| 精品久久久久久综合日本欧美| 久久久久88色偷偷免费| 国产精品久久精品日日| 五月婷婷色综合| 国产69精品久久99不卡| 在线一区二区三区四区五区 | 中文字幕欧美三区| 一区二区理论电影在线观看| 免费xxxx性欧美18vr| 成人伦理片在线| 欧美肥妇毛茸茸| 一区二区三区日韩在线观看| 蜜桃精品视频在线观看| jvid福利写真一区二区三区| 欧美在线观看一区| 久久久精品蜜桃| 一区二区三区四区中文字幕| 国产老女人精品毛片久久| 在线视频国产一区| 久久久综合视频| 亚洲成a人v欧美综合天堂| 国产精品一级黄| 欧美一区二区三区在线看| 国产精品久久久一本精品| 麻豆一区二区三区| 欧美在线观看一区二区| 欧美国产日韩a欧美在线观看 | 亚洲成年人影院| 成人激情综合网站| 久久夜色精品国产噜噜av | 日日夜夜免费精品视频| 成人美女在线视频| 日韩欧美一卡二卡| 亚洲乱码国产乱码精品精98午夜 | 精品视频999| 综合欧美一区二区三区| 国产老女人精品毛片久久| 欧美日本在线播放| 亚洲一区二区欧美日韩| 成人午夜电影久久影院| 日韩一区二区三区高清免费看看| 亚洲欧美日韩在线| 国产91精品一区二区麻豆网站| 欧美美女黄视频| 热久久免费视频| 欧美精品自拍偷拍动漫精品| 亚洲欧洲色图综合|