isorwr.h
上传用户:leituo004
上传日期:2014-11-03
资源大小:159k
文件大小:2k
源码类别:

驱动编程

开发平台:

Visual C++

  1. /*++
  2. Copyright (c) 2000  Microsoft Corporation
  3. Module Name:
  4.     isorwr.h
  5. Abstract:
  6. Environment:
  7.     Kernel mode
  8. Notes:
  9.     Copyright (c) 2000 Microsoft Corporation.  
  10.     All Rights Reserved.
  11. --*/
  12. #ifndef _ISOUSB_RWR_H
  13. #define _ISOUSB_RWR_H
  14. typedef struct _SUB_CONTEXT {
  15.     PIRP SubIrp;
  16.     PURB SubUrb;
  17.     PMDL SubMdl;
  18. } SUB_CONTEXT, *PSUB_CONTEXT;
  19. typedef struct _ISOUSB_RW_CONTEXT {
  20.     PIRP              RWIrp;
  21.     ULONG             Lock;
  22.     ULONG             NumXfer;
  23.     ULONG             NumIrps;
  24.     ULONG             IrpsPending;
  25.     KSPIN_LOCK        SpinLock;
  26.     PDEVICE_EXTENSION DeviceExtension;
  27.     PSUB_CONTEXT      SubContext;
  28. } ISOUSB_RW_CONTEXT, * PISOUSB_RW_CONTEXT;
  29. NTSTATUS
  30. IsoUsb_SinglePairComplete(
  31.     IN PDEVICE_OBJECT DeviceObject,
  32.     IN PIRP           Irp,
  33.     IN PVOID          Context
  34.     );
  35. VOID
  36. IsoUsb_CancelReadWrite(
  37.     IN PDEVICE_OBJECT DeviceObject,
  38.     IN PIRP           Irp
  39.     );
  40. ULONG
  41. IsoUsb_GetCurrentFrame(
  42.     IN PDEVICE_OBJECT DeviceObject,
  43.     IN PIRP           Irp
  44.     );
  45. NTSTATUS
  46. IsoUsb_StopCompletion(
  47.     IN PDEVICE_OBJECT DeviceObject,
  48.     IN PIRP           Irp,
  49.     IN PVOID          Context
  50.     );
  51. NTSTATUS
  52. IsoUsb_DispatchReadWrite(
  53.     IN PDEVICE_OBJECT DeviceObject,
  54.     IN PIRP           Irp
  55.     );
  56. NTSTATUS
  57. PerformFullSpeedIsochTransfer(
  58.     IN PDEVICE_OBJECT         DeviceObject,
  59.     IN PUSBD_PIPE_INFORMATION PipeInformation,
  60.     IN PIRP                   Irp,
  61.     IN ULONG                  TotalLength
  62.     );
  63. NTSTATUS
  64. PerformHighSpeedIsochTransfer(
  65.     IN PDEVICE_OBJECT         DeviceObject,
  66.     IN PUSBD_PIPE_INFORMATION PipeInformation,
  67.     IN PIRP                   Irp,
  68.     IN ULONG                  TotalLength
  69.     );
  70. #endif