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

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

?? usbdriver.h

?? 學習USB2.0驅動程序設計源碼
?? H
字號:
//#ifdef DRIVER和ENDIF的部分是開發設備驅動程序所專用的,他們不能在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
   //打開的設備句柄。與用戶應用程序相對應的。即createfile和closehandle。
   ULONG OpenHandles;

   // Name buffer for our named Functional device object link
   //設備連接名,注意它的長度為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一区二区三区免费野_久草精品视频
精品一区二区三区久久| 欧美一区二区三区思思人| 国产精品久久久久久亚洲毛片 | 成人免费一区二区三区视频| 韩国v欧美v亚洲v日本v| 国产午夜精品久久| 国产剧情一区在线| 一区二区三区四区在线| 日韩欧美不卡在线观看视频| 六月丁香综合在线视频| 国产精品视频线看| 欧美日韩成人综合在线一区二区| 日韩高清一区在线| 中文字幕一区二区三区在线不卡| 欧美日韩精品久久久| 激情五月激情综合网| 亚洲综合激情网| 国产精品理伦片| 日韩欧美国产午夜精品| 成人综合婷婷国产精品久久| 日韩成人午夜电影| 中文字幕在线视频一区| 337p日本欧洲亚洲大胆色噜噜| 91无套直看片红桃| 成人app在线| 成人午夜在线播放| 国产又黄又大久久| 视频在线观看91| 亚洲一二三四在线观看| 亚洲日本中文字幕区| 国产欧美视频在线观看| 国产日韩成人精品| 国产女人18毛片水真多成人如厕| 日韩美一区二区三区| 日韩免费电影一区| 精品国精品国产尤物美女| 精品裸体舞一区二区三区| 日韩欧美在线不卡| 国产欧美日韩激情| 亚洲欧美福利一区二区| 亚洲成人高清在线| 久久精品国产成人一区二区三区| 另类调教123区| 国产精品中文字幕一区二区三区| 国产成人啪免费观看软件| 国产成人综合在线播放| www.日韩在线| 日韩一区二区三区观看| 欧美国产成人在线| 亚洲一区二区三区影院| 九九九精品视频| 欧美视频完全免费看| 欧美v日韩v国产v| 亚洲午夜精品久久久久久久久| 免费高清在线视频一区·| 粉嫩高潮美女一区二区三区 | 一区二区三区在线免费播放| 日韩精品久久理论片| 不卡免费追剧大全电视剧网站| 欧美精品黑人性xxxx| 国产精品初高中害羞小美女文| 日本视频中文字幕一区二区三区| 国产99久久久国产精品潘金 | 亚洲国产裸拍裸体视频在线观看乱了 | 欧美午夜精品免费| 国产精品黄色在线观看| 国产一区二区在线观看视频| 欧美日韩精品一二三区| 中文字幕一区二区三区av| 成人午夜激情片| 欧美激情在线观看视频免费| 激情综合五月婷婷| 精品国产乱码久久久久久夜甘婷婷 | 国产精品免费网站在线观看| 男女男精品网站| 日韩免费一区二区| 国产乱理伦片在线观看夜一区| 777午夜精品视频在线播放| 一卡二卡三卡日韩欧美| 色综合久久88色综合天天| 国产精品视频免费| 97精品国产露脸对白| 亚洲综合在线第一页| 在线综合亚洲欧美在线视频| 亚洲精品视频免费观看| 天堂在线亚洲视频| 波波电影院一区二区三区| 欧美一区二区观看视频| 久久久久97国产精华液好用吗| 91在线无精精品入口| 9l国产精品久久久久麻豆| 亚洲精品一线二线三线无人区| 国产在线精品一区在线观看麻豆| 久久久久国产精品麻豆ai换脸| fc2成人免费人成在线观看播放| 日韩一区有码在线| 欧美xxxxxxxx| 欧洲一区在线电影| 成人免费视频一区| 久久国产欧美日韩精品| 日本一区二区视频在线观看| 国产99久久久久| 爽好多水快深点欧美视频| 欧美激情自拍偷拍| 久久亚洲综合色一区二区三区| 99久久精品国产精品久久| 久久国产乱子精品免费女| 一区二区久久久久| 亚洲六月丁香色婷婷综合久久| 久久久精品免费免费| 精品av综合导航| 精品噜噜噜噜久久久久久久久试看| 色哟哟一区二区| 色噜噜久久综合| 欧美三级欧美一级| 91黄色小视频| 欧美日韩一二区| 欧美性感一区二区三区| 色婷婷狠狠综合| 欧洲激情一区二区| 欧洲视频一区二区| 91精品国模一区二区三区| 91精品国产一区二区三区蜜臀 | 国产一区二区三区免费在线观看| 亚洲mv在线观看| 老司机免费视频一区二区| 激情六月婷婷综合| 成人免费高清视频在线观看| 91在线丨porny丨国产| 日本丶国产丶欧美色综合| 一本大道久久a久久精二百| 欧美伊人精品成人久久综合97| 欧美三级视频在线观看| 久久青草欧美一区二区三区| 国产精品久久久久久久久图文区| 亚洲日本丝袜连裤袜办公室| 亚欧色一区w666天堂| 精品亚洲porn| 91成人免费在线视频| 久久久亚洲精华液精华液精华液| 亚洲精选视频在线| 国产一区二区三区| 欧美日韩国产一级片| 亚洲猫色日本管| 国产精品一区2区| 精品国产一区二区三区av性色| 亚洲精品视频自拍| 国产成人高清在线| 精品福利二区三区| 日本成人在线视频网站| 欧美在线免费观看亚洲| 欧美经典一区二区三区| 国产一区二区导航在线播放| 91亚洲精品一区二区乱码| 久久久精品国产99久久精品芒果 | 亚洲一区精品在线| 播五月开心婷婷综合| 国产精品亲子伦对白| 国产美女娇喘av呻吟久久| 亚洲精品一区二区在线观看| 视频一区二区欧美| 欧美精品免费视频| 日本少妇一区二区| 精品三级av在线| 国产一区二区在线免费观看| 久久精品欧美一区二区三区不卡| 国产精品一区二区在线观看不卡| 欧美成人欧美edvon| 国产丶欧美丶日本不卡视频| 国产精品久久久久四虎| 欧美性欧美巨大黑白大战| 天涯成人国产亚洲精品一区av| 日韩亚洲欧美中文三级| 国产伦精品一区二区三区视频青涩| 中文久久乱码一区二区| 欧美曰成人黄网| 国内一区二区在线| 一级女性全黄久久生活片免费| 欧美日韩久久久久久| 国产成人av电影在线播放| 亚洲成人av一区| 欧美国产丝袜视频| 日韩一区二区在线看| 色妹子一区二区| 国产成人综合在线观看| 蜜桃视频在线一区| 亚洲激情图片小说视频| 欧美极品aⅴ影院| 日韩一级免费一区| 欧美人牲a欧美精品| 国产成人免费视频网站| 久久精品国产久精国产爱| 亚洲一区二区中文在线| 国产精品九色蝌蚪自拍| 中文av一区二区| 亚洲国产精品黑人久久久| 精品国产三级a在线观看| 日韩欧美专区在线| 欧美一区中文字幕| 日韩精品一区二|