• 大小: 957KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-05
  • 语言: 其他
  • 标签: USB  毕业设计  

资源简介

这是我的毕业设计,感觉做得还不错,希望能帮到大家。

资源截图

代码片段和文件信息

#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\_objects.mac

    ..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个文件信息

评论

共有 条评论