巴乔
驱动牛犊
驱动牛犊
  • 注册日期2003-05-10
  • 最后登录2003-06-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1343回复:6

这三个结构体在哪里有定义啊?微软鸟站上没有!

楼主#
更多 发布于:2003-05-13 11:54
FILE_OBJECT
USBD_INTERFACE_INFORMATION
USBD_PIPE_INFORMATION

这三个结构体在DDK和MSDN上都没找到,在微软的网站上也没有,在那里有定义啊!

最新喜欢:

abei11abei11
cjunzzy
驱动牛犊
驱动牛犊
  • 注册日期2002-11-15
  • 最后登录2005-11-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-05-22 11:49
ddk里面有的

分别在第二篇系统结构、第三篇usb结构
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-05-22 12:19
是在ddk的帮助文件里。
巴乔
驱动牛犊
驱动牛犊
  • 注册日期2003-05-10
  • 最后登录2003-06-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-05-22 22:57
 :mad:
偶的DDK上怎么每找到呢!其司偶了!
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-05-23 13:36
怎么可能?偶的2k ddk:
FILE_OBJECT
To user-mode protected subsystems, a file object represents an open instance of a file, device, directory, or volume. To device and intermediate drivers, a file object usually represents a device object.

A file object is partially opaque. Certain types of drivers, such as FSDs and network transport drivers, use some of the fields of file objects. The following fields in file objects are accessible to drivers.

Accessible Fields
PDEVICE_OBJECT DeviceObject
Points to the device object on which the file is opened.
PVOID FsContext
Points to whatever optional state a driver maintains about the file object; otherwise, NULL.
PVOID FsContext2
Points to whatever additional state a driver maintains about the file object; otherwise, NULL.
UNICODE_STRING FileName
Is the name of the file opened on the device, or the Length of the string is zero if the device represented by DeviceObject is being opened.
Include
wdm.h or ntddk.h

Comments
Drivers can use the FsContext fields to maintain driver-determined state about an open file object. A driver cannot use these fields of a file object unless it is accessible in the driver\'s I/O stack location of an IRP.

The remaining fields in a file object are opaque. They are reserved for use by the I/O Manager and file systems.

Undocumented fields within a file object should be considered inaccessible. Drivers with dependencies on object field locations or access to undocumented fields might not remain portable and interoperable with other drivers over time.

A higher-level driver that successfully calls IoGetDeviceObjectPointer during initialization is given a pointer to the file object that represents the next-lower driver\'s device object in user mode. Such a higher-level driver should save the returned file object pointer. To release its reference to this file object, for example when the driver is being unloaded, the driver must call ObDereferenceObject with this file object pointer.

See Also
DEVICE_OBJECT, IoGetDeviceObjectPointer, ObDereferenceObject


USBD_INTERFACE_INFORMATION
typedef struct _USBD_INTERFACE_INFORMATION {
  USHORT Length ;
  UCHAR InterfaceNumber ;
  UCHAR AlternateSetting ;
  UCHAR Class ;
  UCHAR SubClass ;
  UCHAR Protocol ;
  .
  .
  USBD_INTERFACE_HANDLE InterfaceHandle ;
  ULONG NumberOfPipes ;
  USBD_PIPE_INFORMATION Pipes[1] ;
} USBD_INTERFACE_INFORMATION, *PUSBD_INTERFACE_INFORMATION;
USB client drivers use this structure to hold information about an interface for a configuration on a USB device.

Members
Length
Specifies the length, in bytes, of this structure.
InterfaceNumber
Is the device-defined index identifier for this interface.
AlternateSetting
Specifies a device-defined index identifier that indicates which alternate setting this interface is using, should use, or describes.
Class
Is a USB-assigned identifier to specify a USB-defined class that this interface conforms to.
SubClass
Is a USB-assigned identifier to specify a USB-defined subclass that this interface conforms to. This code is specific to the code in Class.
Protocol
Is a USB-assigned identifier to specify a USB-defined protocol that this interface conforms to. This code is specific to the codes in Class and SubClass.
InterfaceHandle
Is a host controller driver-defined handle that is used to access this interface. This field should be treated as opaque.
NumberOfPipes
Specifies the number of pipes (endpoints) in this interface.
PipeInformation
Is a variable length array of USBD_PIPE_INFORMATION structures to describe each pipe in the interface.
Comments
Members that are part of this structure, but not described here, should be treated as opaque and considered to be reserved for system use.

See Also
USBD_PIPE_INFORMATION



USBD_PIPE_INFORMATION
typedef struct _USBD_PIPE_INFORMATION {
  USHORT MaximumPacketSize ;
  UCHAR EndpointAddress ;
  UCHAR Interval ;
  USBD_PIPE_TYPE PipeType ;
  USBD_PIPE_HANDLE PipeHandle ;
  ULONG MaximumTransferSize ;
  .
  .
} USBD_PIPE_INFORMATION, *PUSBD_PIPE_INFORMATION ;
This structure is used by USB client drivers to hold information about a pipe from a specific interface.

Members
MaximumPacketSize
Specifies the maximum packet size, in bytes, that this pipe handles.
EndpointAddress
Specifies the bus address for this pipe.
Interval
Specifies a polling period for this pipe in milliseconds. This value is only valid if PipeType is set to UsbdPipeTypeInterrupt.
PipeType
Specifies what type of transfers this pipe uses. This value must be one of the following:
UsbdPipeTypeControl
Specifies that this pipe is a control pipe.
UsbdPipeTypeIsochronous
Specifies that this pipe uses isochronous transfers.
UsbdPipeTypeBulk
Specifies that this pipe uses bulk transfers.
UsbdPipeTypeInterrupt
Specifies that this pipe uses interrupt transfers. A value will be set in Interval to indicate how often this pipe is polled for new data.
PipeHandle
Specifies a host controller driver-defined handle that is used to access this pipe. This field should be treated as opaque.
MaximumTransferSize
Specifies the maximum size, in bytes, for a transfer request on this pipe.
Comments
Members that are part of this structure, but not described here, should be treated as opaque and considered to be reserved for system use.


巴乔
驱动牛犊
驱动牛犊
  • 注册日期2003-05-10
  • 最后登录2003-06-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-05-23 15:17
谢谢楼上大虾,偶用的是98DDK!

不应该没有的,可搜索都艘布道呀!
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-05-23 22:48
不应该呀
我的98ddk里面怎么有呀!!!

游客

返回顶部