isostrm.h
来自「winddk src目录下的WDM源码压缩!」· C头文件 代码 · 共 112 行
H
112 行
/*++
Copyright (c) 2004 Microsoft Corporation
Module Name:
isostrm.h
Abstract:
Environment:
Kernel mode
Notes:
Copyright (c) 2004 Microsoft Corporation.
All Rights Reserved.
--*/
#ifndef _ISOUSB_STRM_H
#define _ISOUSB_STRM_H
#define ISOUSB_MAX_IRP 2
typedef struct _ISOUSB_STREAM_OBJECT {
// number of pending irps for this stream
ULONG PendingIrps;
// event signaled when no irps pending
KEVENT NoPendingIrpEvent;
PDEVICE_OBJECT DeviceObject;
PUSBD_PIPE_INFORMATION PipeInformation;
struct _ISOUSB_TRANSFER_OBJECT *TransferObjectList[ISOUSB_MAX_IRP];
} ISOUSB_STREAM_OBJECT, *PISOUSB_STREAM_OBJECT;
typedef struct _ISOUSB_TRANSFER_OBJECT {
PIRP Irp;
PURB Urb;
PUCHAR DataBuffer;
//
// statistics.
//
ULONG TimesRecycled;
ULONG TotalPacketsProcessed;
ULONG TotalBytesProcessed;
ULONG ErrorPacketCount;
PISOUSB_STREAM_OBJECT StreamObject;
} ISOUSB_TRANSFER_OBJECT, *PISOUSB_TRANSFER_OBJECT;
NTSTATUS
IsoUsb_StartIsoStream(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
IsoUsb_StartTransfer(
IN PDEVICE_OBJECT DeviceObject,
IN PISOUSB_STREAM_OBJECT StreamObject,
IN ULONG Index
);
NTSTATUS
IsoUsb_InitializeStreamUrb(
IN PDEVICE_OBJECT DeviceObject,
IN PISOUSB_TRANSFER_OBJECT TransferObject
);
NTSTATUS
IsoUsb_IsoIrp_Complete(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN PVOID Context
);
NTSTATUS
IsoUsb_ProcessTransfer(
IN PISOUSB_TRANSFER_OBJECT TransferObject
);
NTSTATUS
IsoUsb_StopIsoStream(
IN PDEVICE_OBJECT DeviceObject,
IN PISOUSB_STREAM_OBJECT StreamObject,
IN PIRP Irp
);
NTSTATUS
IsoUsb_StreamObjectCleanup(
IN PISOUSB_STREAM_OBJECT StreamObject,
IN PDEVICE_EXTENSION DeviceExtension
);
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?