阅读:1344回复:6
这三个结构体在哪里有定义啊?微软鸟站上没有!
FILE_OBJECT
USBD_INTERFACE_INFORMATION USBD_PIPE_INFORMATION 这三个结构体在DDK和MSDN上都没找到,在微软的网站上也没有,在那里有定义啊! |
|
最新喜欢:![]() |
沙发#
发布于:2003-05-22 11:49
ddk里面有的
分别在第二篇系统结构、第三篇usb结构 |
|
板凳#
发布于:2003-05-22 12:19
是在ddk的帮助文件里。
|
|
地板#
发布于:2003-05-22 22:57
:mad:
偶的DDK上怎么每找到呢!其司偶了! |
|
地下室#
发布于: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. |
|
5楼#
发布于:2003-05-23 15:17
谢谢楼上大虾,偶用的是98DDK!
不应该没有的,可搜索都艘布道呀! |
|
6楼#
发布于:2003-05-23 22:48
不应该呀
我的98ddk里面怎么有呀!!! |
|