资源简介
这是我的毕业设计,感觉做得还不错,希望能帮到大家。
代码片段和文件信息
#include “usbdriver.h“
ULONG UsbGetCurrentframeNumber(IN PDEVICE_object fdo);
ULONG UsbGetDeviceDescriptor(IN PDEVICE_object fdo
PVOID pvOutputBuffer);
ULONG UsbGetStringDescriptor(IN PDEVICE_object fdo
UCHAR Index
USHORT LanguageId
PVOID pvOutputBuffer
ULONG ulLength);
ULONG UsbGetConfigDescriptor(IN PDEVICE_object fdo
PVOID pvOutputBuffer
ULONG ulLength);
NTSTATUS Bulk_Read_Write(IN PDEVICE_object fdoIN PIRP Irp);
NTSTATUS UsbResetPipe(IN PDEVICE_object fdo ULONG PipeNum);
NTSTATUS UsbAbortPipe(IN PDEVICE_object fdo IN USBD_PIPE_HANDLE PipeHandle);
ULONG UsbVendorRequest(IN PDEVICE_object fdo IN PVENDOR_REQUEST_IN pVendorRequest);
//------------------------------------------------------------------------------
NTSTATUS UsbCreate(IN PDEVICE_object fdo IN PIRP Irp)
{
NTSTATUS ntStatus=STATUS_SUCCESS;
PDEVICE_EXTENSION pdx = (PDEVICE_EXTENSION )fdo->DeviceExtension;
pdx->OpenHandles++;
Irp->IoStatus.Status = STATUS_SUCCESS;
Irp->IoStatus.Information = 0;
IoCompleteRequest (Irp IO_NO_INCREMENT);
return ntStatus;
}
//----------------------------------------------------------------------------
NTSTATUS UsbClose(IN PDEVICE_object fdo IN PIRP Irp)
{
NTSTATUS ntStatus=STATUS_SUCCESS;
PDEVICE_EXTENSION pdx = (PDEVICE_EXTENSION )fdo->DeviceExtension;
pdx->OpenHandles--;
Irp->IoStatus.Status = STATUS_SUCCESS;
Irp->IoStatus.Information = 0;
IoCompleteRequest (Irp IO_NO_INCREMENT);
return ntStatus;
}
//---------------------------------------------------------------------------
NTSTATUS UsbIOCTL(IN PDEVICE_object fdoIN PIRP Irp)
{
NTSTATUS ntStatus;
PIO_STACK_LOCATION IrpStack;
PDEVICE_EXTENSION pdx;
ULONG IoControlCode;
PVOID IoBuffer;
ULONG InputBufferLength;
ULONG OutputBufferLength;
ULONG length;
PUCHAR pch;
pdx = (PDEVICE_EXTENSION )fdo->DeviceExtension;
if (!LockDevice(fdo))
return CompleteRequest(Irp STATUS_DELETE_PENDING 0);
IrpStack = IoGetCurrentIrpStackLocation (Irp);
Irp->IoStatus.Status = STATUS_SUCCESS;
Irp->IoStatus.Information = 0;
IoBuffer = Irp->AssociatedIrp.SystemBuffer;
InputBufferLength = IrpStack->Parameters.DeviceIoControl.InputBufferLength;
OutputBufferLength = IrpStack->Parameters.DeviceIoControl.OutputBufferLength;
IoControlCode = IrpStack->Parameters.DeviceIoControl.IoControlCode;
switch (IoControlCode) {
case IOCTL_EZUSB_GET_CURRENT_frame_NUMBER:
{
ULONG frameNumber = 0;
if (OutputBufferLength < sizeof(ULONG)) {
Irp->IoStatus.Status = STATUS_INVALID_PARAMETER;
break;
}
frameNumber =
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 670 1997-04-11 19:23 USB\Driver\MAKEFILE
文件 410 2001-12-11 21:45 USB\Driver\RESOURCE.H
文件 412 2008-05-02 19:44 USB\Driver\Sources
文件 19972 2008-04-24 18:14 USB\Driver\UsbDispatch.c
文件 5567 2008-04-24 19:54 USB\Driver\usbdriver.h
文件 2640 2008-05-02 18:34 USB\Driver\UsbInit.c
文件 16197 2008-05-02 18:58 USB\Driver\UsbPnp.c
....... 4633 2008-05-02 19:44 USB\Driver\buildfre.log
..AD... 0 2008-05-02 19:38 USB\Driver\obj\i386
....... 568 2008-05-02 19:44 USB\Driver\obj\_ob
..AD... 0 2008-05-02 19:38 USB\Driver\obj
文件 1286 2008-05-02 19:44 USB\Driver\objfre\i386\resource.res
文件 237113 2008-05-02 19:44 USB\Driver\objfre\i386\usbinit.sbr
文件 39210 2008-05-02 19:44 USB\Driver\objfre\i386\usbinit.obj
文件 241756 2008-05-02 19:44 USB\Driver\objfre\i386\usbpnp.sbr
文件 60997 2008-05-02 19:44 USB\Driver\objfre\i386\usbpnp.obj
文件 241777 2008-05-02 19:44 USB\Driver\objfre\i386\usbdispatch.sbr
文件 56117 2008-05-02 19:44 USB\Driver\objfre\i386\usbdispatch.obj
文件 6656 2008-05-02 19:44 USB\Driver\objfre\i386\usbdriver.sys
文件 93184 2008-05-02 19:44 USB\Driver\objfre\i386\usbdriver.pdb
文件 5149 2008-05-02 19:44 USB\Driver\objfre\i386\usbdriver.map
文件 1684 2008-05-02 19:44 USB\Driver\objfre\i386\usbdriver.sym
..AD... 0 2008-05-02 19:38 USB\Driver\objfre\i386
目录 0 2008-05-02 19:38 USB\Driver\objfre
文件 2586 2008-05-05 16:16 USB\Driver\resource.rc
文件 32068 2008-05-05 16:16 USB\Driver\resource.aps
目录 0 2008-04-06 09:45 USB\Driver
文件 127018 2008-05-06 12:48 USB\Host\Debug\USB.exe
目录 0 2008-04-20 20:59 USB\Host\Debug
文件 3525 2008-03-30 17:10 USB\Host\ReadMe.txt
............此处省略92个文件信息
相关资源
- USB设备过滤驱动[Src+Bin]
- USB使用记录清除工具
- 基于单片机的门禁系统毕业设计
- USB Serial Port win7 64/32 驱动
- 毕业设计在线购物系统中期检查表
- USB3.0 CYUSB3014 原理图
- USB调试助手(单片机多功能调试助手
- USB无线网卡电路图 大家可以尝试制作
- USB鼠标的全部源代码
- usb audio class
- HID类键盘的报告描述符的理解
- 嵌入式系统多功能数字时钟的设计(
- CYUSB68013 WIN7 64位驱动
- ePass2000Auto_usbkey解锁工具
- USB HUB 4层板经典布局
- 操作系统内核——毕业设计
- Wince 设备USB驱动模式切换
- 20套计算机专业毕业设计.txt
- TI CC2540 USB CDC Serial Port
- 文献综述毕业设计
- 安卓平台的中国象棋项目源代码,非
- DSP+MP3+USB+FAT32
- 天津大学本科毕业设计论文模板 201
- fusb302_data_and_code.zip
- 水塔水位plc自动控制毕业设计
- 计算机局域网组建毕业设计论文
- 703N USB打印机程序版本15-18.zip
- USB3.0 U盘 四层板(PADS).pcb
- 校园网组建与设计———毕业设计
- USB转串口驱动-CH340
评论
共有 条评论