社区
C语言
帖子详情
谁有DDK and DDK help for(95,98,nt)???
hk318
2000-04-25 11:58:00
各位同仁:
小弟急需Win9.x and WinNT 下的 DDK and DDK Help,希望看在都是布衣程序员的份上,能拉兄弟一把!!!
My Email hk318@sina.com
...全文
161
3
打赏
收藏
谁有DDK and DDK help for(95,98,nt)???
各位同仁: 小弟急需Win9.x and WinNT 下的 DDK and DDK Help,希望看在都是布衣程序员的份上,能拉兄弟一把!!! My Email hk318@sina.com
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
茂奇软件
2000-04-29
打赏
举报
回复
msdn
LHX
2000-04-26
打赏
举报
回复
嘿嘿,,,真是太巧了...我现在正在下载WIN98DDK.EXE
http://www.microsoft.com/ddk/install98ddk.htm?
25.1MB
rainbow
2000-04-26
打赏
举报
回复
http://www.microsoft.com/ddk
BUS Hound
Bus Hound 5.0
Copyright (C) Perisoft 2000-2003. All rights reserved worldwide.
Bus Hound is a powerful software bus analyzer for capturing I/O and protocol from devices. Features include:
Supports every version of IDE, SCSI, USB, 1394
Supports all devices such as hard drives, DVD, mice, scanners, web cams, and everything else
Supports Windows
95
,
98
, Me,
NT
4.0, 2000, 2003, XP and XP Embedded
Capture megabytes of I/O limited only by available memory
Automatically stop the capture upon a trigger condition
Measure individual read, write, and isochronous device performance
Captures device driver packets such as IRP’s
Filter what type of phases are captured
Run on an unlimited number of machines at the same time
Capture any number of devices in parallel, regardless of bus type
Fits on a diskette for easy transportability and quick downloads
Drag and drop captured data to other products in html format
Save captured data to a text file or zip file
Simple device selection from a graphical tree of devices
Capture the system startup process
Arrange captured data to user preferences such as the byte width per line
View low level protocol including SCSI sense data and USB setup packets
View microsecond resolution timing of each phase
Watch I/O on screen in real time as it happens
Pure software solution--no extra hardware or system changes needed
The Capture Window
Commands se
nt
to devices consist of one or more phases. Examples of phases are command bytes, data bytes, and status bytes. Bus hound logs each phase complete with timing information and a description of the co
nt
e
nt
.
Capture columns
Below are descriptions of information in each column of the Capture Window:
Device
Device ID. Each device is assigned a number which can be matched up with devices in the Devices Window. The first detected device on the system is Device ID 0, the second is Device ID 1, and so on. This field is useful in the eve
nt
multiple devices are being captured in parallel.
For USB devices, the endpoi
nt
is also displayed (eg: 4.1 = device 4, endpoi
nt
1).
Phase
Phase type. Please refer to the table for details of each phase type.
Phase Description
ADDR 8 byte 1394 transfer address
ATI 7 byte ATA task file returned from an IDE device
ATO 7 byte ATA task file se
nt
to an IDE device
ATP Windows ATA_PASS_THROUGH data structure
CDB SCSI command descriptor block
(Known as a packet command for ATAPI devices)
CTL 8 byte setup packet of a USB co
nt
rol transfer
DI Data In (Device to PC transfer)
DO Data Out (PC to device transfer)
IOR Windows VXD I/O Request data structure
IRB Windows 1394 I/O Request Block data structure
IRP Windows I/O Request Packet data structure
ISOC Isochronous transfer data bytes
LEN Data transfer length of a DI,DO, or ISOC phase in
decimal units. This field is off by default and can be
turned on from the settings Window
LOCK 1394 lock transaction
NSTS Windows 4 byte kernel mode
NT
STATUS field
RSET Bus or device reset
RSTS Windows VXD IOR status
SNS SCSI request sense data
SPT Windows SCSI Pass Through data structure
SRB Windows SCSI Request Block (SRB) data structure
SSTS Windows 1 byte SCSI Request Block (SRB) status
STAK Windows IO_STACK_LOCATION data structure
URB Windows USB Request Block (URB) data structure
USTS Windows 4 byte USBD_STATUS code
Data
Data bytes associated with the phase. Examples are command bytes, data transfer bytes, and status bytes.
Description
A text description of this phase provided for your convenience.
Delta
Elapsed time from the previous phase to the curre
nt
phase. The following table describes the units of the time format.
Name Units
us Microseconds
ms Milliseconds
sc Seconds
mn Minutes
hr Hours
dy Days
Cmd.Phase.Ofs(rep)
This unique tag ide
nt
ifies the exact position within the captured data. All values are in decimal.
Cmd is the command number. Commands start at 1 and increme
nt
for each new command se
nt
to a device.
Phase is the phase number within this command. A command is usually composed of multiple phases such as data transfer and status. This value starts at 1 and increme
nt
s for each new phase within the command.
Ofs is the byte offset of the data within this phase. This value starts at 0 and increme
nt
s for each byte of data in the data transfer.
Rep is the number of ide
nt
ical commands issued back to back. The repeat cou
nt
feature can be turned off by deselecting the “Merge Repeated Commands” check box in the settings Window.
Date
Date the phase occurred in year/mo
nt
h/day format.
Time
Time the phase occurred in hour:minute:second.millisecond format. The hour ranges from 0 to 23 (military time).
Capturing the system startup process
If the Bus Hound application is exited while the Run button is pressed, the device driver portion of Bus Hound co
nt
inues capturing data. In the eve
nt
the system is restarted, it will start capturing data early in the system startup process.
If Bus Hound is exited while stopped, no capture will occur u
nt
il returning to the product and pressing Run.
Customizing the capture display
The column order can be modified by dragging the column headers to the desired position. The byte width per line can be 1, 2, 4, 8, 16, or 32 bytes and is based on the width of the window. These settings are respected for Saving and drag & drop.
Searching
Searching can be performed from the capture window in either the up or down direction by typing the search string in the lower left edit box followed by pressing the up or down arrow to search up or down respectively. If the search string is not found, the trace position is not changed. Searching is not case sensitive.
Drag and Drop
To use drag and drop, first select the desired range of lines by clicking on the starting line, then hold down shift and click the ending line. The data can now be dragged using the mouse to another product.
Pressing co
nt
rol-c copies the selected lines to the clipboard.
Command Overlap
Overlapped commands are ide
nt
ified when a command starts before previous commands to the same device have completed. It is possible for Commands to be overlapped at the I/O subsystem level (which Bus Hound displays), but not at the hardware level.
Multiple DI/DO phases
Windows 9x only: if multiple DI/DO phases are listed for the same command, it indicates the transfer was split across multiple memory address ranges
PS2 Mouse data format
Below is the format of the data returned in the data in phase for PS/2 mice. This is known as the MOUSE_INPUT_DATA structure in the Windows
DDK
:
Offset Length Co
nt
e
nt
0 2 Not used
2 2 Position type:
0000h = relative position
0001h = absolute position
4 2 Button flags:
0001h = left button down
0002h = left button up
0004h = right button down
0008h = right button up
0010h = middle button down
0020h = middle button up
0040h = button 4 down
0080h = button 4 up
0100h = button 5 down
0200h = button 5 up
0400h = mouse wheel
6 2 Mouse wheel data
8 4 Not used
12 4 X position
16 4 Y position
20 4 Device specific information
PS2 Keyboard data format
Below is the format of the data returned in the data in phase for PS/2 keyboards. This is known as the KEYBOARD_INPUT_DATA structure in the Windows
DDK
:
Offset Length Co
nt
e
nt
0 2 Not used
2 2 Scan code of key
4 2 Flags:
0000h = key pressed
0001h = key released
0002h = extended scan code E0
0004h = extended scan code E1
6 2 Not used
8 4 Device specific information
The Save Window
The Save button saves all captured data to the specified file. The format of the file can be either a text file co
nt
aining standard ASCII characters or a Zip file. The data will be saved in the same column order and byte width as seen on the screen.
A comme
nt
can be provided that will be placed i
nt
o the header of the captured data. The curre
nt
date and time can be included in the comme
nt
by inserting %c anywhere inside the comme
nt
. If saving to a zip file, the comme
nt
is also used for the zip file comme
nt
.
The Settings Window
This Window allows you to customize the capture process. Checkbox options in this window are applied insta
nt
ly. Numeric e
nt
ries are applied by pressing the apply button, switching to another window, or exiting Bus Hound.
Buffer Size
Specifies the number of kilobytes of RAM to use for capturing data. The size is limited only by system RAM. If not enough RAM is available to satisfy the requested size, the size is reduced to available RAM. If you need to get as much space as possible, besides adding more RAM to a system you can also try setting the buffer size before starting other applications. Note: allocating a very large buffer size under Windows
95
/
98
/Me can take a minute.
Max Phase
Specifies the maximum number of bytes that will be captured on each phase. Example: if Max Phase is set to 32 bytes and a 64K read operation occurs, only the first 32 bytes of the read will be captured. This option is useful for keeping the size of the captured data to a minimum.
Stop When...
These are triggers that allow the capture to automatically stop when the specified condition is met. Any combination of triggers may be selected. When a trigger condition is met, the capture stops and the trigger text is highlighted in red.
Any Other Error stops the capture when an error occurs that does not fall i
nt
o any of the other categories.
Buffer Full stops the capture when Bus Hound's buffer is full. If Buffer Full is deselected, capturing co
nt
inues after the buffer is full, keeping the most rece
nt
ly captured data.
Bus Reset stops the capture when a bus reset occurs.
Data Overrun stops the capture when a data overrun or data underrun occurs.
Hardware Error stops the capture when a hardware error occurs.
Invalid Command stops the capture when an invalid command is issued.
Media Error stops the capture when a device reports a media error such as a bad sector.
No Media stops the capture when a device reports no media is prese
nt
.
Not Ready stops the capture upon a not ready, timeout, or busy condition.
Text Pattern / Hex Pattern stops the capture when the specified data pattern is detected in the captured data. For text patterns, the match is case sensitive. The pattern is checked against the data transferred in any phase including commands, data, and status.
Vendor Error stops the capture when a vendor unique error occurs.
Windows Error stops the capture when an operating system type error occurs.
Phases to Capture
Co
nt
ains a list of all the phase types Bus Hound can capture. Placing a check mark next to a phase allows it to be captured. Removing a check mark next to a phase results in the phase not being captured. This option is useful for filtering out phases that are not of i
nt
erest or including special operating system phases that are off by default.
To the right of the check box, a white circle may appear. This indicates the phase has been detected and exists in the captured data. If the circle blinks bright green, it is a real time activity light indicating the phase has occurred and has been captured.
Merge Repeated Commands
When selected, if a command occurs that is ide
nt
ical to the previous command, the new command will not be logged separately. Instead, the repeat cou
nt
of the previous command is increme
nt
ed. This option is useful for compacting the captured data when a device is being co
nt
inually polled with the same command.
Enable Sounds
If this option is enabled, Bus Hound will make an audible "ping" if the capture, settings, or devices window is up and a trigger condition is met.
Columns to Display
Place a checkmark in the boxes to include the desired columns in the Capture Window. The selected columns will also be included in drag & drop and save operations. See the section “The Capture Window” for more details about each column.
The Devices Window
The list of devices represe
nt
s every device on the system which Bus Hound supports. The list automatically refreshes to reflect new or removed devices. To select/deselect a device to capture, click in the check box next to the device. The selection will be applied insta
nt
ly.
Each device is assigned a number which is in pare
nt
hesis before the name of the device. This number is displayed in the capture window under the "Device" column. The number reflects the order in which the device was added to the system.
If a device is displayed in a light fo
nt
, it indicates the device is not curre
nt
ly prese
nt
on the system.
Capture new devices
Selecting this checkbox will automatically capture data for new devices that are detected. This feature is useful for capturing the first commands se
nt
to hot plugged devices.
Device Properties
This window pane displays details about the device such as the performance. The performance is calculated by summing the total bytes transferred divided by the total elapsed time of the commands. The performance statistics are cleared when the run button is pressed in the Capture window.
Send Commands
You can send your own custom commands to a device using Bus Commander. To start Bus Commander, highlight a device with the mouse and click the “Send Commands” button or simply double click the device. Bus Commander is a very powerful compleme
nt
ary tool that lets you submit USB, 1394, ATA and SCSI commands to devices. You can also perform operations like bus resets and hardware port i/o.
Files Installed
BUSHOUND.EXE - Bus Hound application
BUSCMDR.EXE - Bus Commander application
BHUNINST.EXE - uninstaller
BHLOG.EXE - capture to disk tool (site license version only)
BHOUND3.VXD - device driver for Windows
95
,
98
, Me
BHOUND4.SYS - device driver for Windows
NT
4.0
BHOUND5.SYS - device driver for Windows
98
, Me, 2000, 2003, XP
HELP
.RTF - product
help
file (this file)
Site License
The site license version of Bus Hound includes the bhlog.exe command line tool in the folder where Bus Hound is installed. bhlog spools captured data to a disk file in real time. This tool raises the maximum capture size from available RAM to available disk space. bhlog also has the ability to retain captured data in the eve
nt
a system freezes or reboots by directing captured data to a file on a network drive.
FAQ
1. What type of I/O is captured?
Bus Hound takes a snap shot of packets se
nt
across the bus. This includes commands, data, status, and timing of each command. Bus Hound does not monitor individual hardware signals.
2. Will Bus Hound change the behavior of my devices?
No. Bus Hound simply “listens” for packets. Bus Hound does not alter commands, does not send its own commands, does not replace any system drivers, and does not access the hardware. The system and devices will operate ide
nt
ically whether Bus Hound is installed or not.
3. Will Bus Hound degrade system performance?
Customers capturing data from extremely fast devices in parallel have been impressed by Bus Hound’s ability not to effect performance. Bus Hound is even more innocuous when in the stopped state.
4. Which devices are supported?
All IDE, SCSI, USB and 1394 devices are supported including disk drives, mice, scanners, web cams, and everything else. Devices that emulate one of these buses are also supported such as certain parallel port devices.
5. Why are there duplicate devices?
For some devices, Windows first forms high level packets that are then translated i
nt
o low level packets which are in turn se
nt
to the hardware. Bus Hound shows several devices so you can choose which level of I/O you wish to capture.
6. What does capturing I/O for a co
nt
roller do?
Some co
nt
rollers receive commands and some do not. You can experime
nt
capturing data for a co
nt
roller to see if the packets are of i
nt
erest.
7. What if Bus Hound does not show a device?
No devices are displayed when the system is started in safe mode. This is a safety feature to keep safe mode as clean as possible.
Devices which are marked with a problem in device manager are not displayed.
SCSI adapters are not displayed under Windows
95
/
98
/Me unless they have one or more devices attached.
8. Why are some devices grayed out?
A grayed out device indicates it is curre
nt
ly not attached to the system.
9. Windows
95
/
98
/Me crashes when pressing run. What do I do?
Due to limitations in the Windows 9x architecture, if too many device drivers ask to receive notification of I/O completion, the system will crash. Microsoft device drivers and other installed software such as Bus Hound need such notifications. To resolve this, remove software likely to have additional device drivers installed for the device. For CD/DVD drives, an easy solution is to rename the legacy scsi1hlp.vxd to scsi1hlp.bak which is in the windows/system/iosubsys folder.
10. Why am I not able to capture all 1394 eve
nt
s?
Some 1394 devices Bus Hound displays are logical devices such as AV/VHS devices. Select devices further up the tree to capture bus activity for such devices.
While Bus Hound logs every isochronous transaction, there is no practical way for Bus Hound to see every asynchronous transaction. If you need to see more 1394 activity, note Bus Hound can capture a great deal more in operating systems prior to XP, particularly for SBP-2 devices.
11. Why am I not seeing task file (ATA) commands for IDE hard drives?
Bus Hound captures ATA commands only when an application or driver explicitly sends an ATA command (eg: SMART, IDE
NT
IFY). For normal file system requests, Bus Hound captures SCSI CDB's instead of ATA commands due to the monolithic nature of the Windows IDE device driver. Note the CDB's captured have a one to one relationship with ATA commands and can be easily translated to their native ATA equivale
nt
. Also note the data captured with the CDB is ide
nt
ical to the ATA data transfer.
12. Where can I get more detailed information on the captured data?
For your convenience, please visit www.perisoft.net/engineer for handy reference data and specifications. Also please note the following resources:
Specification Location
USB www.usb.org
SCSI www.t10.org
IDE, ATA, ATAPI www.t13.org
1394, Firewire www.1394ta.org or www.ieee.org
Windows
DDK
www.microsoft.com/
ddk
14. Where do I get support?
Visit www.perisoft.net. Any questions, comme
nt
s, or problem reports on the free or full version are welcome.
DDK
学习笔记(转)
下面这是kruglinski关于学习驱动编写的文章。虽然是入门级文章,但是也需要对驱动有一些了解后才可以看的比较透彻。 《
DDK
学习笔记》1---入门 1.驱动程序的结构:1.1、一个入口点(DriverE
nt
ry):用于创建设备对象及符号连接,以及其它初使化操作,如分配池内存等.1.2、一个出口(DriverUnload):删除符号连接与设备对象,并释放已经分配的各种资源,如池...
DDK
的一些笔记
DDK
的一些笔记,比较乱, 以后有时间再整理吧; typedef struct _RWCO
NT
EXT //读写的线程环境; { struct _URB urb; //共享的urb; ULONG_PTR va; //...
我的
DDK
学习经验(转帖)
(老是老了点,但是还是值得一看。)我的
DDK
学习经验转载辅大美少女梦工场BBS站 自从97年1月我在Program版Post鼓励有心网友学习Window Device Driver以来,陆续收到一些人询问如何下手.现在我已没时间玩BBS,因除了3D显示卡Driver要Tune外,还被派去做一些杂7杂8的事情.趁教师节比较有空,写下这封我学习
DDK
的经验,如果那站的站主觉得对网友有帮助,就尽
DDK
学习经验
http://soft.zol.com.cn/2004/1209/140217.shtml
DDK
学习经验类型:转载 作者:zsq 日期:2004-12-09 14:31:00 作者 WeiPo.bbs@csie.nctu.edu.tw (Weber), 看板 programming 标题 我的
DDK
学习经验 时间 交大资工凤凰城资讯站 (Fri Oct 3 13:02
C语言
69,336
社区成员
243,078
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章