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

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

?? hdddb.h

?? 實現(xiàn)ez-usb fx2的 自定義請求功能
?? H
?? 第 1 頁 / 共 3 頁
字號:
    IN PDEVICE_OBJECT DeviceObject,
    UCHAR             Index,
    USHORT            LanguageId,
    PVOID             pvOutputBuffer,
    ULONG             ulLength
    );

NTSTATUS
Ezusb_VendorRequest2(
   IN PDEVICE_OBJECT DeviceObject,
   IN PIRP Irp
   );


NTSTATUS
ForwardAndWait(
   IN PDEVICE_OBJECT DeviceObject,
   IN PIRP Irp
   );


NTSTATUS
Ezusb_DefaultPnpHandler(
   IN PDEVICE_OBJECT fdo,
   IN PIRP Irp
   );


NTSTATUS
Ezusb_DispatchPnp(
   IN PDEVICE_OBJECT DeviceObject,
   IN PIRP           Irp
   );

NTSTATUS
Ezusb_DispatchPower(
    IN PDEVICE_OBJECT DeviceObject,
    IN PIRP           Irp
    );

NTSTATUS
Ezusb_HandleStartDevice(
   IN PDEVICE_OBJECT DeviceObject,
   IN PIRP Irp
   );

NTSTATUS
Ezusb_HandleRemoveDevice(
   IN PDEVICE_OBJECT fdo,
   IN PIRP Irp
   );

NTSTATUS 
OnRequestComplete(
   IN PDEVICE_OBJECT DeviceObject,
   IN PIRP Irp,
   IN PKEVENT pev
   );

NTSTATUS
CompleteRequest(
   IN PIRP Irp,
   IN NTSTATUS status,
   IN ULONG info
   );

BOOLEAN LockDevice(
   IN PDEVICE_OBJECT fdo
   );

void UnlockDevice(
   PDEVICE_OBJECT fdo
   );


NTSTATUS InitTransferObject(
   IN OUT PISO_STREAM_OBJECT streamObject,
   IN ULONG index
   );

NTSTATUS Ezusb_StartIsoTransfer(
   IN PDEVICE_OBJECT fdo,
   IN PIRP Irp
   );

NTSTATUS IsoTransferComplete(
   IN PDEVICE_OBJECT fdo,
   IN PIRP Irp,
   IN PVOID Context
   );


NTSTATUS Ezusb_AnchorDownload(
   PDEVICE_OBJECT fdo,
   WORD offset,
   PUCHAR downloadBuffer,
   ULONG downloadSize
   );

NTSTATUS Ezusb_DownloadIntelHex(
   PDEVICE_OBJECT fdo,
   PINTEL_HEX_RECORD hexRecord
   );

NTSTATUS Ezusb_8051Reset(
   PDEVICE_OBJECT fdo,
   UCHAR resetBit
   );

NTSTATUS Ezusb_StartIsoStream(
   IN PDEVICE_OBJECT fdo,
   IN PIRP Irp
   );

BOOLEAN IsFx2(
   IN  PDEVICE_OBJECT fdo
   );

NTSTATUS Ezusb_SetFeature(
   IN PDEVICE_OBJECT fdo,
   IN PSET_FEATURE_CONTROL setFeatureControl
   );

#endif      //DRIVER section


///////////////////////////////////////////////////////
//
//              IOCTL Definitions
//
// User mode applications wishing to send IOCTLs to a kernel mode driver
// must use this file to set up the correct type of IOCTL code permissions.
//
// Note: this file depends on the file DEVIOCTL.H which contains the macro
// definition for "CTL_CODE" below.  Include that file before  you include
// this one in your source code. DEVIOCTL.H is a Microsoft header file.
// DEVIOCTL.H is normally obtained by installing the Windows DDK.
//
///////////////////////////////////////////////////////

//
// Set the base of the IOCTL control codes.  This is somewhat of an
// arbitrary base number, so you can change this if you want unique
// IOCTL codes.  You should consult the Windows NT DDK for valid ranges
// of IOCTL index codes before you choose a base index number.
//

#define Ezusb_IOCTL_INDEX  0x0800


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

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

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

#define IOCTL_Ezusb_BULK_OR_INTERRUPT_WRITE     CTL_CODE(FILE_DEVICE_UNKNOWN,  \
                                                   Ezusb_IOCTL_INDEX+3,\
                                                   METHOD_BUFFERED,  \
                                                   FILE_ANY_ACCESS)

#define IOCTL_Ezusb_BULK_OR_INTERRUPT_READ      CTL_CODE(FILE_DEVICE_UNKNOWN,  \
                                                   Ezusb_IOCTL_INDEX+4,\
                                                   METHOD_BUFFERED,  \
                                                   FILE_ANY_ACCESS)

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

#define IOCTL_Ezusb_GET_CURRENT_CONFIG          CTL_CODE(FILE_DEVICE_UNKNOWN,  \
                                                   Ezusb_IOCTL_INDEX+6,\
                                                   METHOD_BUFFERED,  \
                                                   FILE_ANY_ACCESS)

#define IOCTL_Ezusb_ANCHOR_DOWNLOAD             CTL_CODE(FILE_DEVICE_UNKNOWN,  \
                                                   Ezusb_IOCTL_INDEX+7,\
                                                   METHOD_BUFFERED,  \
                                                   FILE_ANY_ACCESS)

#define IOCTL_Ezusb_RESET  CTL_CODE(FILE_DEVICE_UNKNOWN,  \
                                                   Ezusb_IOCTL_INDEX+12,\
                                                   METHOD_IN_DIRECT,  \
                                                   FILE_ANY_ACCESS)

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

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

#define IOCTL_Ezusb_SETINTERFACE  CTL_CODE(FILE_DEVICE_UNKNOWN,  \
                                                   Ezusb_IOCTL_INDEX+16,\
                                                   METHOD_BUFFERED,  \
                                                   FILE_ANY_ACCESS)

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


//
// Perform an IN transfer over the specified bulk or interrupt pipe.
//
// lpInBuffer: BULK_TRANSFER_CONTROL stucture specifying the pipe number to read from
// nInBufferSize: sizeof(BULK_TRANSFER_CONTROL)
// lpOutBuffer: Buffer to hold data read from the device.  
// nOutputBufferSize: size of lpOutBuffer.  This parameter determines
//    the size of the USB transfer.
// lpBytesReturned: actual number of bytes read
// 
#define IOCTL_EZUSB_BULK_READ             CTL_CODE(FILE_DEVICE_UNKNOWN,  \
                                                   Ezusb_IOCTL_INDEX+19,\
                                                   METHOD_OUT_DIRECT,  \
                                                   FILE_ANY_ACCESS)

//
// Perform an OUT transfer over the specified bulk or interrupt pipe.
//
// lpInBuffer: BULK_TRANSFER_CONTROL stucture specifying the pipe number to write to
// nInBufferSize: sizeof(BULK_TRANSFER_CONTROL)
// lpOutBuffer: Buffer of data to write to the device
// nOutputBufferSize: size of lpOutBuffer.  This parameter determines
//    the size of the USB transfer.
// lpBytesReturned: actual number of bytes written
// 
#define IOCTL_EZUSB_BULK_WRITE            CTL_CODE(FILE_DEVICE_UNKNOWN,  \
                                                   Ezusb_IOCTL_INDEX+20,\
                                                   METHOD_IN_DIRECT,  \
                                                   FILE_ANY_ACCESS)

//
// The following IOCTL's are defined as using METHOD_DIRECT_IN buffering.
// This means that the output buffer is directly mapped into system
// space and probed for read access by the driver.  This means that it is
// brought into memory if it happens to be paged out to disk.  Even though
// the buffer is only probed for read access, it is safe (probably) to
// write to it as well.  This read/write capability is used for the loopback
// IOCTL's
// 

// TODO Insert Loopback IOCTL's

//
// Retrieve the current USB frame number from the Host Controller
//
// lpInBuffer: NULL
// nInBufferSize: 0
// lpOutBuffer: PULONG to hold current frame number
// nOutputBufferSize: sizeof(PULONG)
// 
#define IOCTL_EZUSB_GET_CURRENT_FRAME_NUMBER  CTL_CODE(FILE_DEVICE_UNKNOWN,  \
                                                   Ezusb_IOCTL_INDEX+21,\
                                                   METHOD_BUFFERED,  \
                                                   FILE_ANY_ACCESS)


//
// Performs a vendor or class specific control transfer to EP0.  The contents of
// the input parameter determine the type of request.  See the USB spec
// for more information on class and vendor control transfers.
//
// lpInBuffer: PVENDOR_OR_CLASS_REQUEST_CONTROL
// nInBufferSize: sizeof(VENDOR_OR_CLASS_REQUEST_CONTROL)
// lpOutBuffer: pointer to a buffer if the request involves a data transfer
// nOutputBufferSize: size of the transfer buffer (corresponds to the wLength
//    field of the USB setup packet)
//
#define IOCTL_EZUSB_VENDOR_OR_CLASS_REQUEST   CTL_CODE(FILE_DEVICE_UNKNOWN,  \
                                                   Ezusb_IOCTL_INDEX+22,\
                                                   METHOD_IN_DIRECT,  \
                                                   FILE_ANY_ACCESS)


//
// Retrieves the actual USBD_STATUS code for the most recently failed
// URB.
//
// lpInBuffer: NULL
// nInBufferSize: 0
// lpOutBuffer: PULONG to hold the URB status
// nOutputBufferSize: sizeof(ULONG)
//

#define IOCTL_EZUSB_GET_LAST_ERROR   CTL_CODE(FILE_DEVICE_UNKNOWN,  \
                                                   Ezusb_IOCTL_INDEX+23,\
                                                   METHOD_BUFFERED,  \
                                                   FILE_ANY_ACCESS)

//
// Reads from the specified ISO endpoint. (USB IN Transfer)
//
// lpInBuffer: ISO_TRANSFER_CONTROL
// nInBufferSize: sizeof(ISO_TRANSFER_CONTROL)
// lpOutBuffer: buffer to hold data read from the device
// nOutputBufferSize: size of the read buffer.
//
//
//

#define IOCTL_EZUSB_ISO_READ          CTL_CODE(FILE_DEVICE_UNKNOWN,  \
                                                   Ezusb_IOCTL_INDEX+25,\
                                                   METHOD_OUT_DIRECT,  \
                                                   FILE_ANY_ACCESS)

//
// Writes to the specified ISO endpoint. (USB OUT Transfer)
//
// lpInBuffer: ISO_TRANSFER_CONTROL
// nInBufferSize: sizeof(ISO_TRANSFER_CONTROL)
// lpOutBuffer: buffer to hold data to write to the device
// nOutputBufferSize: size of the write buffer.
//
// 
// 

#define IOCTL_EZUSB_ISO_WRITE          CTL_CODE(FILE_DEVICE_UNKNOWN,  \
                                                   Ezusb_IOCTL_INDEX+26,\
                                                   METHOD_IN_DIRECT,  \
                                                   FILE_ANY_ACCESS)

//
// Performs and Anchor Download.
//
// lpInBuffer: PANCHOR_DOWNLOAD_CONTROL
// nInBufferSize: sizeof(ANCHOR_DOWNLOAD_CONTROL)
// lpOutBuffer: pointer to a buffer of data to download to the device
// nOutputBufferSize: size of the transfer buffer
// 
#define IOCTL_EZUSB_ANCHOR_DOWNLOAD   CTL_CODE(FILE_DEVICE_UNKNOWN,  \
                                                   Ezusb_IOCTL_INDEX+27,\
                                                   METHOD_IN_DIRECT,  \
                                                   FILE_ANY_ACCESS)

//
// Returns driver version information
//
// lpInBuffer: NULL
// nInBufferSize: 0
// lpOutBuffer: PEZUSB_DRIVER_VERSION
// nOutputBufferSize: sizeof(EZUSB_DRIVER_VERSION)
// 
#define IOCTL_EZUSB_GET_DRIVER_VERSION   CTL_CODE(FILE_DEVICE_UNKNOWN,  \
                                                   Ezusb_IOCTL_INDEX+29,\
                                                   METHOD_BUFFERED,  \
                                                   FILE_ANY_ACCESS)

#define IOCTL_EZUSB_START_ISO_STREAM     CTL_CODE(FILE_DEVICE_UNKNOWN,  \
                                                   Ezusb_IOCTL_INDEX+30,\
                                                   METHOD_BUFFERED,  \
                                                   FILE_ANY_ACCESS)

#define IOCTL_EZUSB_STOP_ISO_STREAM     CTL_CODE(FILE_DEVICE_UNKNOWN,  \
                                                   Ezusb_IOCTL_INDEX+31,\
                                                   METHOD_BUFFERED,  \
                                                   FILE_ANY_ACCESS)

#define IOCTL_EZUSB_READ_ISO_BUFFER     CTL_CODE(FILE_DEVICE_UNKNOWN,  \
                                                   Ezusb_IOCTL_INDEX+32,\
                                                   METHOD_OUT_DIRECT,  \
                                                   FILE_ANY_ACCESS)

#define IOCTL_EZUSB_SET_FEATURE         CTL_CODE(FILE_DEVICE_UNKNOWN,  \
                                                   Ezusb_IOCTL_INDEX+33,\
                                                   METHOD_BUFFERED,  \
                                                   FILE_ANY_ACCESS)

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩五月天| 免费人成黄页网站在线一区二区| 亚洲天堂免费看| 亚洲男人的天堂网| 五月婷婷久久综合| 国产一级精品在线| 日本高清免费不卡视频| 91精品国产入口在线| 国产亚洲女人久久久久毛片| 亚洲欧美日韩国产综合在线| 亚洲一二三四区| 国产在线观看一区二区| 日韩欧美一级精品久久| 亚洲国产精品传媒在线观看| 亚洲一区欧美一区| 国产在线不卡一卡二卡三卡四卡| 波多野结衣精品在线| 欧美放荡的少妇| 国产精品久久久久影视| 天天色综合天天| 国产a精品视频| 777亚洲妇女| 中文字幕一区二区三区四区不卡| 天天操天天综合网| 成人国产视频在线观看| 在线观看91av| 亚洲人一二三区| 国产在线国偷精品产拍免费yy| 在线观看日韩毛片| 国产亲近乱来精品视频| 亚洲丰满少妇videoshd| 成人开心网精品视频| 欧美一区二区美女| 亚洲人成人一区二区在线观看 | 国产成人午夜精品5599| 欧美色窝79yyyycom| 国产人妖乱国产精品人妖| 肉色丝袜一区二区| 色一情一乱一乱一91av| 国产欧美一区二区精品忘忧草| 性做久久久久久久免费看| av在线一区二区| 久久久亚洲国产美女国产盗摄| 亚洲成人先锋电影| 91色porny在线视频| 久久尤物电影视频在线观看| 日韩影院免费视频| 91丨九色丨黑人外教| 国产偷国产偷亚洲高清人白洁| 亚洲国产日韩精品| 91免费视频观看| 中文一区二区完整视频在线观看| 久久99精品网久久| 91精品在线免费| 午夜a成v人精品| 色老汉一区二区三区| 中文字幕在线观看一区二区| 国产传媒日韩欧美成人| 欧美xfplay| 麻豆成人久久精品二区三区红| 欧美精品少妇一区二区三区| 亚洲一区二区三区不卡国产欧美| 91老师片黄在线观看| 国产精品成人一区二区三区夜夜夜 | 粉嫩一区二区三区性色av| 久久网这里都是精品| 精品一区二区综合| 欧美成人在线直播| 久久精品久久99精品久久| 91精品国产综合久久精品| 日韩av中文字幕一区二区三区| 欧美日韩成人一区二区| 午夜av区久久| 7777精品伊人久久久大香线蕉的| 日韩精品成人一区二区三区| 7777精品伊人久久久大香线蕉完整版 | 中文字幕精品一区二区精品绿巨人 | 色94色欧美sute亚洲13| 亚洲精品乱码久久久久久| 色94色欧美sute亚洲13| 一区二区三区四区高清精品免费观看 | 欧美疯狂做受xxxx富婆| 日韩经典中文字幕一区| 91精品福利在线一区二区三区| 视频一区二区三区中文字幕| 欧美久久久久久蜜桃| 视频一区二区三区中文字幕| 日韩欧美一区二区在线视频| 麻豆精品视频在线观看免费| 欧美精品第1页| 美女任你摸久久| 久久久综合精品| 成人av网站在线| 亚洲男人的天堂在线aⅴ视频| 欧美亚洲国产一卡| 日产国产欧美视频一区精品| 26uuu色噜噜精品一区二区| 国产精品一区二区三区网站| 国产精品毛片大码女人| 色哟哟日韩精品| 日韩电影一区二区三区四区| 2021中文字幕一区亚洲| 成人国产一区二区三区精品| 一二三四社区欧美黄| 欧美一区二区三区啪啪| 国产成人自拍高清视频在线免费播放| 国产精品色哟哟| 在线观看亚洲a| 久久国产精品99精品国产 | 成人午夜视频在线观看| 亚洲免费视频中文字幕| 91麻豆精品国产91久久久久久久久| 国模一区二区三区白浆| 亚洲欧美综合在线精品| 欧美日韩国产成人在线免费| 激情综合网av| 樱桃国产成人精品视频| 91精品国产综合久久久久| 国产精品99久久久| 亚洲国产中文字幕| 久久免费视频一区| 91久久精品一区二区三| 紧缚奴在线一区二区三区| 亚洲日本在线观看| 日韩美女主播在线视频一区二区三区 | 日韩精品中文字幕一区| av电影在线观看完整版一区二区| 亚洲成人av电影| 久久精品水蜜桃av综合天堂| 欧美视频一区二区在线观看| 国产精品自拍毛片| 一区二区三区成人在线视频| 国产亚洲一二三区| 欧美三级日韩三级| 国产成人在线视频免费播放| 午夜不卡在线视频| 亚洲国产高清aⅴ视频| 4438x成人网最大色成网站| 成人免费观看av| 麻豆精品蜜桃视频网站| 洋洋av久久久久久久一区| 久久久国产精品午夜一区ai换脸| 欧美日韩一区视频| 不卡电影免费在线播放一区| 久久精品国产精品亚洲综合| 亚洲黄色录像片| 国产欧美日韩不卡免费| 欧美一区欧美二区| 91啪在线观看| 国产成a人亚洲精品| 久久99热这里只有精品| 亚洲综合激情小说| 国产精品天美传媒沈樵| 精品国产91久久久久久久妲己| 精品视频在线免费观看| 99re在线精品| 国产高清精品网站| 久久精品国产77777蜜臀| 亚洲综合色网站| 国产精品久久久久永久免费观看| 精品乱人伦小说| 91精品国产免费| 欧美日韩视频在线观看一区二区三区| 成人av在线电影| 国产精品亚洲专一区二区三区| 免费高清在线视频一区·| 亚洲图片欧美综合| 亚洲精品久久久蜜桃| 国产精品久久久久久一区二区三区| 久久久久久久久久久久电影 | 爽好久久久欧美精品| 一区二区三区不卡视频在线观看| 最新不卡av在线| 日本一区二区三区免费乱视频| 精品久久久久久亚洲综合网| 91精品国产日韩91久久久久久| 欧美精三区欧美精三区| 欧美丝袜第三区| 91成人网在线| 色拍拍在线精品视频8848| 91同城在线观看| 91污片在线观看| 色综合咪咪久久| 91在线精品秘密一区二区| www..com久久爱| 成人18视频日本| 99久久久久久| 色综合咪咪久久| 欧美日韩在线一区二区| 欧美日韩小视频| 91精品国产手机| 精品国产乱码久久久久久影片| 精品免费日韩av| 久久久www成人免费毛片麻豆| 国产亚洲福利社区一区| 亚洲国产精品黑人久久久| 国产精品福利在线播放| 亚洲精品乱码久久久久久| 亚洲第四色夜色| 美女视频第一区二区三区免费观看网站|