the windows 9x device driver developer resources listmembers.tripod.com/delimiter_v/resource.doc ·...

54
Microsoft Technical Support Frequently Asked Questions The Essential Windows 9x DDK Resource Database Copyright © 1999 Microsoft Corporation. Last Revised 12 October, 1999 The purpose of this document is to help the DDK developer find the documentation needed for the developer’s specific interests. This document addresses the WHERE not the WHAT. Microsoft cannot confirm or guarantee the accuracy, nor support the contents of non- officially-documented operating system internals referenced in third-party documentation. Common keywords. Note that you can conduct a key-word-only search by explicitly preserving case when setting up your search. Key Word Description ATAPI ATAPI device technology AUDIO Audio devices BIOS BIOS firmware related technology CARDBUS Card Bus CDROM CD-ROM technology COMM Serial and Parallel ports DDK Device Driver development kit DEBUG Kernel level debugging DEVELOP Third party contract device driver developers DISPLAY Display (video) driver information DVD DVD device technology GENERAL General device driver development information (may address many technologies) HARDWARE General “IBM PC compatible” hardware technology HID Human input devices IDE IDE device technology Page 1

Upload: lamdat

Post on 29-Mar-2018

236 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: The Windows 9x Device Driver Developer Resources Listmembers.tripod.com/Delimiter_V/resource.doc · Web viewKB PCMCIA PLUGPLAY 1998 Q196123, “PRB: Windows 98: PCMCIA Memory Windows

Microsoft Technical Support Frequently Asked Questions

The Essential Windows 9x DDK Resource Database

Copyright © 1999 Microsoft Corporation.

Last Revised 12 October, 1999

The purpose of this document is to help the DDK developer find the documentation needed for the developer’s specific interests. This document addresses the WHERE not the WHAT.

Microsoft cannot confirm or guarantee the accuracy, nor support the contents of non-officially-documented operating system internals referenced in third-party documentation.

Common keywords. Note that you can conduct a key-word-only search by explicitly preserving case when setting up your search.

Key Word DescriptionATAPI ATAPI device technologyAUDIO Audio devicesBIOS BIOS firmware related technologyCARDBUS Card BusCDROM CD-ROM technologyCOMM Serial and Parallel portsDDK Device Driver development kitDEBUG Kernel level debuggingDEVELOP Third party contract device driver developersDISPLAY Display (video) driver informationDVD DVD device technologyGENERAL General device driver development information (may address many technologies)HARDWARE General “IBM PC compatible” hardware technologyHID Human input devicesIDE IDE device technologyIEEE1394 FireWireIFS Installable File System technologyINFRARED Infrared and wirelessINTRO Device driver development information for beginnersIOS Input Output Subsystem technologyKERNEL Windows 9x VMM (Virtual Memory Manager)KEYBOARD Keyboard hardware technologyMAPI Messaging API

Page 1

Page 2: The Windows 9x Device Driver Developer Resources Listmembers.tripod.com/Delimiter_V/resource.doc · Web viewKB PCMCIA PLUGPLAY 1998 Q196123, “PRB: Windows 98: PCMCIA Memory Windows

Microsoft Technical Support Frequently Asked Questions

MMEDIA MultimediaMODEM Data modemMOUSE Mouse devicesMSDOS Legacy DOS and DOS API technology, including interruptsNETWORK NetworksPCI PCI busPCMCIA Also known as PC CardPLUGPLAY Plug and Play device driver technologyPOWER ACPI, APM etc., Power Management topicsPRINTING Printer driverSAMPLE Sample device driver code and VxD codeSCSI SCSI disk drive technologySCSIPORT SCSI and ATAPI miniport driver technologySTILLIMAGE Still imageSTORAGE General physical storage technology (disk drive, CDROM, DVD, tape drive etc)STREAMING Streaming mediaTAPI Telephony APITHREADS Information about multithreaded application developmentTOOLS General device driver developer tools.USB Universal Serial BusVIDCAP Video captureVXD Generic VXD technologyWDM Windows Driver Model

Note that you can sort the following table using Word, by using the mouse to select the desired columns to sort on, then from the menu select Table / Sort

Resource Type

Keywords Date (Note 3)

Title How to Obtain Comments

Book TAPI MAPI Communications Programming for Windows 95

Charles A. Mirho, Andre Terrisse (Microsoft Press) 1-55615-668-5

The Developer’s Guide to TAPI and MAPI in Windows 95

Book MSDOS DOS Internals Geoff Chappell (Addison-Wesley)0-201-60835-9

See also his web site: http://www.ozemail.com.au/~geoffch/

Book PLUGPLAY Inside the Registry for Microsoft Windows 95

Günter Born1-57231-424-9

Contains information about hardware keys and INF files

Book IFS IOS Inside the Windows 95 File Stan Mitchell (O'Reilly & See web site http://www.sourcequest.com/win95ifs.

Page 2

Page 3: The Windows 9x Device Driver Developer Resources Listmembers.tripod.com/Delimiter_V/resource.doc · Web viewKB PCMCIA PLUGPLAY 1998 Q196123, “PRB: Windows 98: PCMCIA Memory Windows

Microsoft Technical Support Frequently Asked Questions

SAMPLE TOOLS

System Associates) 1-56592-200-X

Includes a great tool for observing all sorts of internals (including IFS hook), called MultiMon. Includes IFS sample code.

Book MSDOS Microsoft MS-DOS Programmer's Reference (Version 5)

Microsoft Corporation (Microsoft Press)1-55615-329-5

Book HARDWARE MSDOS

PC Intern Michael Tischer, Bruno Jennrich (Abacus)1-55755-304-1

The Encyclopedia of System Programming (heavy focus on hardware)

Book ASM CPU Pentium Processor User’s Manual, Volume 3: Architecture and Programming Manual

Intel Corporation (1993) The Pentium architecture and instruction set. Printed in 1993. Phone 800-548-4725. This material is available in PDF format at the Intel web site: http://www.intel.com

Book GENERAL INTROTOOLS

Systems Programming for Windows 95

Walter Oney (Microsoft Press). 1-55615-949-8

See his web site for book errata and DDK annotations: http://www.oneysoft.com

Book SCSI ATAPI ASPI

The Book of SCSI Peter M. Ridge (No Starch Press) 1-886411-02-6

SCSI hardware, software, ASPI.

Book HARDWARE TOOLS

1994 The Indispensable PC Hardware Book

Hans-Peter Messmer (Addison-Wesley)0-201-62424-9

Detailed hardware information including hardware register I/O

Book MSDOS 1988 The MS-DOS Encyclopedia Ray Duncan (Microsoft Press)1-55615-049-0

The official Microsoft DOS internals book.

Book HARDWARE SCSI ATAPI IDE

The SCSI Bus and IDE Interface Friedhelm Schmidt (Addison-Wesley)0-201-42284-0

SCSI and IDE hardware.

Book KERNEL MSDOS

Unauthorized Windows 95 Developers Resource Kit

Andrew Schulman (IDG Books) 1-56884-305-4 (with disk) 1-56884-169-8 (no disk)

Includes information about Windows 95 architecture and its handling of DOS.

Book MSDOS VXD

Undocumented DOS, 2nd edition Andrew Schulman (Addison Wesley)0-201-63287-X

Internal DOS and Dos Interrupts

Book VXD Windows 95 System Programming Secrets

Matt Pietrek (IDG Books) 1-56884-318-6

Book GENERAL INTRO

Writing Windows Device Drivers Daniel Norton (Addison Wesley) 0-201-57795-X

Book GENERAL INTRO

Writing Windows Virtual Device Drivers

David Thielen and Bryan Woodruff (Addison Wesley)

Page 3

Page 4: The Windows 9x Device Driver Developer Resources Listmembers.tripod.com/Delimiter_V/resource.doc · Web viewKB PCMCIA PLUGPLAY 1998 Q196123, “PRB: Windows 98: PCMCIA Memory Windows

Microsoft Technical Support Frequently Asked Questions

0-201-62706-X (may be replaced by:) 0-201-48921-X

Book GENERAL INTRO

Writing Windows VxDs and Device Drivers

Karen Hazzah (R&D Publications) 0-13-100181-7

General VxD and Driver DLL information

Book GENERAL INTRO

Writing Windows VxDs and Device Drivers, Second Edition

Karen Hazzah (R & D Books) 0-87930-438-3

(Second ed.)General VxD and Driver DLL information

Internet TOOLS http://www.eardc.swt.edu/cgi-bin/ucon/ucon.pl

Units Conversion Tool

Internet GENERAL 1999 http://www.metrics.com/WinFAQ/

The Windows [3.x]FAQ and Windows [3.1] Programmer FAQ (which unfortunatelyhave not been updated since 1994)

Internet POWER ACPI http://www.teleport.com/~acpi ACPI (Advanced Configuration and Power Interface)

Internet TOOLS Acronyms http://frogs/pages/url/babel95c.htm

Three Letter Acronyms (TLAs) etc.

Internet TOOLS Acronyms http://ntrk/resource/docs/acronyms.txt

Three Letter Acronyms (TLAs) etc.

Internet SAMPLE Bayside Computing http://www.baysidec.com/src/vxd95/index.htm

Sample VxD source code.

Internet DEVELOP Black Diamond Software http://www.blackdiamond.com

Custom Device Driver Development

Internet DDK WDM USB

Blue Water Systems http://www.bluewatersystems.com

Device driver tools -WinRT – Programs and header files to allow Win32 programmers to control hardware devicesWinDK – Development library easing the development of WDM kernel mode device drivers.

Internet GENERAL VXD

Cherry Hill Software http://www.chsw.com/ DDK books and sample device driver code

Internet USB Compaq http://www.compaq.com/ USB - OpenHCI Spec (search for OpenHCI)Internet Computer Clinic http://www.compuclinic.com/ OSR2 FAQInternet Dan Norton’s DDK resource page http://www.albany.net/

~danorton/ddk/Another web site with lots of links

Internet TOOLS Data Transit http://www.data-transit.com Company offers hardware bus analyzersInternet David Solomon Expert Seminars http://www.solsem.com Device Driver TrainingInternet TOOLS Deja News http://www.dejanews.com This web site archives internet discussion groups

(usenet / news groups), including those relating to device driver development (conduct a search on VXD for example).

Internet Device Bay http://www.device-bay.orgInternet DVD DVD Demystified http:// Info about the book “DVD Demystified” by Jim

Page 4

Page 5: The Windows 9x Device Driver Developer Resources Listmembers.tripod.com/Delimiter_V/resource.doc · Web viewKB PCMCIA PLUGPLAY 1998 Q196123, “PRB: Windows 98: PCMCIA Memory Windows

Microsoft Technical Support Frequently Asked Questions

www.videodiscovery.com/vdyweb/people/jhtaylor.htm

Taylor.

Internet EDN Magazine http://www.ednmag.comInternet EE Times http://techweb.cmp.com/eet/

823Internet File Formats http://wotsit.simsware.com A repository of file formats. Multimedia device

driver developers will find this site useful.Internet IEEE1394 Firewire / 1394 Trade Association http://www.firewire.orgInternet STORAGE

IFS IOS SAMPLEDEVELOP

Geoff Chappell http://www.ozemail.com.au/~geoffch/

Offering bug fixes, samples and consulting services. Author of the book DOS Internals.

Internet GENERAL INTRO

Hardware Development for IHV’s and OEM’s

http://www.microsoft.com/hwdev/

Hardware developer site, includes specs, resources and news.

Internet PRINTING IEEE http://www.fapo.com/ieee1284.htm

IEEE 1284 ECP/LPT Spec.

Internet USB Intel http://www.intel.com USB - UHCI Design Guide (search function, select the “PC Development Support” area, and search for UHCI)

Internet CPU, ASM Intel Online documentation http://www.x86.org/intel.doc/IntelDocs.html

Intel Documentation Pointers

Internet CPU, ASM Intel Secrets http://www.x86.org/ Intel Secrets Home PageInternet display International Color Consortium http://www.color.orgInternet Internet Resources for Windows

Developershttp://www.r2m.com/windev A web site containing lots of web links, including a

Device Driver sectionInternet GENERAL 1999 Microsoft Corp. ftp://ftp.microsoft.com Microsoft’s FTP site.Internet PLUGPLAY 1999 Microsoft Corp. ftp://ftp.microsoft.com/

developr/drg/Plug-and-Play/Plug and Play Specifications

Internet GENERAL INTRO SAMPLE

Microsoft Device Driver Development Support Resources

http://support.microsoft.com/support/ddk

Microsoft DDK Tools, Samples, third-party links, etc.

Internet DEVELOP Microsoft Hardware Development Resources

http://www.microsoft.com/hwdev/wdmrsc.htm

This site contains a list of third party Device Driver Developers.

Internet DDKSAMPLE

Microsoft Windows 98 Device Driver Kit

http://www.microsoft.com/ddk

Downloadable for free. The starting point for Windows 98 device drivers.Includes support for WDM technology.

Internet DDKSAMPLE

Microsoft Windows NT Device Driver Kit

http://www.microsoft.com/ddk

Downloadable for free. Contains SCSI miniport and WDM information that is relevant to Windows 95/98 development as well.

Internet DDK Nu-Mega Technologies (Soft-ICE) home page

http://www.numega.com/ Debuggers, the Soft-Ice system.

Page 5

Page 6: The Windows 9x Device Driver Developer Resources Listmembers.tripod.com/Delimiter_V/resource.doc · Web viewKB PCMCIA PLUGPLAY 1998 Q196123, “PRB: Windows 98: PCMCIA Memory Windows

Microsoft Technical Support Frequently Asked Questions

Internet IFS O’Reilly Associates home page http://www.oreilly.com/publishing/windows/

Book publisher

Internet hardware Online Chip Directory http://www.hitex.com/chipdir/index.htm

Very extensive chip directory

Internet CDROM DVD UDF

Optical Storage Technology Association

http://www.osta.org OSTA is an international trade association dedicated to promoting use of writeable optical technology for storing computer data and images. Includes standards relating to the UDF file system format, including CDROM and DVD technologies

Internet COM HARDWARE

Pacific CommWare http://www.turbocom.com High speed serial communications

Internet PRINTING Parallel Port Central http://www.lvr.com/parport.htm

A collection of files and links to material about the PC's parallel port, including ECP, EPP, bi-directional, and IEEE-1284 modes.

Internet LPT ECP HARDWARE

Parallel Technologies www.lpt.com Everything LPT/ECP

Internet SAMPLE STORAGE SCSI

PASSTHRU http://support.microsoft.com/support/ddk

Sample SCSI passthrough Vendor Supplied Driver (VSD)

Internet TOOLS Patents http://patents.cnidr.org/access/access.html

U.S. Patent Database Access

Internet DDK SAMPLEIFS

PCA USA http://www.pcausa.com Network Driver and IFSMGR samples & toolkits

Internet PCI PCI SIG http://www.pcisig.com PCI Special Interest GroupInternet DEVELOP 1999 R2M Software http://www.r2m.com/windev/ A list of Windows developersInternet MSDOS Ralf Brown's Interrupt List http://www-cgi.cs.cmu.edu/

afs/cs.cmu.edu/user/ralf/pub/WWW/files.html

The mother of all DOS Interrupt lists. If the URL shown does not work, perform an internet search for “Ralf Brown”.

Internet IFS Shetef Solutions http://www.shetef.com Windows Software Products. Shareware system monitoring tools.

Internet CDROM IDE ATAPI DVD

Small Form Factor ftp://fission.dt.wdc.com/pub/standards/SFF/specs/

SFF standards

Internet SysProg Home Page http://members.tripod.com/~sysprog/

Development tools, including a program that lets you observe debug messages without using a debugger

Internet DDK SAMPLE

Tetradyne http://www.tetradyne.com Driver Tools - "VxBuild(tm)". Including sample code.

Internet CDROM The CD Information Center http://www.cd-info.com Contains information and lots of links relating to

Page 6

Page 7: The Windows 9x Device Driver Developer Resources Listmembers.tripod.com/Delimiter_V/resource.doc · Web viewKB PCMCIA PLUGPLAY 1998 Q196123, “PRB: Windows 98: PCMCIA Memory Windows

Microsoft Technical Support Frequently Asked Questions

CD-ROM technologyInternet TOOLS The Driver Forum http://www.driverforum.com/ General device driver discussion forum.Internet IFS SAMPLE The System Internals web site http://www.sysinternals.com Includes sample code to monitor IFS activity for

both NT and Windows 95Internet HARDWAR

ETom’s Hardware Guide http://sysdoc.pair.com/ Hardware news

Internet USB Universal Serial Bus Home Page http://www.usb.orgInternet INTRO DDK Vireo Software http://www.vireo.com/ VTOOLSD home pageInternet CDROM Walnut Creek CDROM ftp://ftp.cdrom.com/ CDROM resourcesInternet ALL Walter Oney Software http://www.oneysoft.com Author, and SeminarsInternet WindoWatch http://www.windowatch.com WindoWatch MagazineInternet Windows 95 Annoyances http://

www.creativelement.comKB GENERAL Q029519, “How to Write a Driver

for a Custom Hardware Device”MSDN Library (Note 1) This article describes how to manage custom

communications hardware through an I/O interrupt.KB DEBUG Q058010, “WDEB386

Debugger’s Use of COM Port”MSDN Library (Note 1) Using the /C: command-line switch

KB GENERAL Q063937, “SAMPLE: VDS.exe Demonstrates DMA in Windows 3.0”

MSDN Library (Note 1) VDS.exe is a sample that contains the Virtual DMA Specification supportedby Windows enhanced mode and standard mode.

KB DEBUG Q064123, “PRB: Encountering an INT01 with WDEB386”

MSDN Library (Note 1) Interpretation of debugger halting on an INT01

KB GENERAL Q067590, “SAMPLE: VWFD.exe VxD Helps MS-DOS Application Query Screen State”

MSDN Library (Note 1) The enhanced mode Microsoft Windows environment does not provide any facility through which an MS-DOS (non-Windows) application can determine whether it is running in a window or full screen. VWFD.exe is a file that contains a virtual device (VxD) that provides this information and a sample MS-DOS application that uses the VxD services.

KB VXD Q068250, “SAMPLE: VFINTD.exe Capturing Global Interrupts in Enhanced Mode”

MSDN Library (Note 1) VFINTD.exe is a sample application that is used later in this article to demonstrate how to virtualize a particular IRQ.

KB GENERAL Q068975, “”SAMPLE: I/O Device Serialization and Virtualization

MSDN Library (Note 1) This article describes two techniques you can use in your application to support or simulate hardware devices that an application can employ when Microsoft Windows is running in 386 enhanced mode.

KB STORAGE MSDOS

Q069912, “MS-DOS Partitioning Summary”

MSDN Library (Note 1)

KB DEBUG Q072379, “Tips on Using MSDN Library (Note 1) WINDOWS 3.x Info that applies to Windows

Page 7

Page 8: The Windows 9x Device Driver Developer Resources Listmembers.tripod.com/Delimiter_V/resource.doc · Web viewKB PCMCIA PLUGPLAY 1998 Q196123, “PRB: Windows 98: PCMCIA Memory Windows

Microsoft Technical Support Frequently Asked Questions

WDEB386” 3.0/3.1 debugger only.KB VXD Q072899, “SAMPLE:

VPostD.exe Calls PostMessage from a Virtual Device (VxD)”

MSDN Library (Note 1) In the Microsoft Windows graphical environment, a virtual device (VxD) can indirectly call the PostMessage function.

KB DEBUG Q073333, “PRB: WDEB386 Does Not Find Driver Symbol Files”

MSDN Library (Note 1) WINDOWS 3.x Info that applies to Windows 3.0 / 3.1.

KB DEBUG Q074605, “Advanced WDEB386 Features and Tips”

MSDN Library (Note 1) Information about breakpoints (bp / br), conditional execution (j) and the default command (z)

KB DISPLAY Q074808, “How Display Drivers Use Shadow RAM”

MSDN Library (Note 1)

KB VXD Q074810, “Calling Windows Functions from a Device Driver”

MSDN Library (Note 1) Some device drivers need to call functions provided by the user dynamic link library (DLL) of Microsoft Windows. The MessageBox() function is an example of one of these functions.

KB DISPLAY Q074994, “Display Drivers and Background Drawing to Memory Bitmaps”

MSDN Library (Note 1)

KB DISPLAY Q075005, “Handling NULL lpDrawMode in a Display Driver”

MSDN Library (Note 1)

KB VCOMM Q075006 “Virtual Communications Driver Functional Structure”

MSDN Library (Note 1) In the Microsoft Windows graphical environment, the virtual communications driver (VCD) is the virtual device (VxD) that "virtualizes" COM ports. Its main role is to arbitrate COM port use between virtual machines (VMs). This article discusses the various functions of the VCD and the routines that it uses.

KB COMM Q075006, “Virtual Communications Driver Functional Structure”

MSDN Library (Note 1) In the Microsoft Windows graphical environment, the virtual communications driver (VCD) is the virtual device (VxD) that "virtualizes" COM ports.

KB DISPLAY Q075008, “Virtual Display Device I/O Trapping”

MSDN Library (Note 1)

KB DEBUG Q075252, “Tips on Installing WDEB386”

MSDN Library (Note 1) WINDOWS 3.x Info that applies to Windows 3.0/3.1 debugger only.

KB DISPLAY Q075742, “Display Driver Compatibility

MSDN Library (Note 1)

KB VXD Q076301, “SAMPLE: VFood.exe Contains Basic Virtual Device (VxD) Structure”

MSDN Library (Note 1) VFood.exe is a sample that contains code to a virtual device (VxD) for the Microsoft Windows operating system. This code demonstrates the basic features of a Windows VxD and how to implement them.

KB DEBUG Q076473, “PRB: No Output from MSDN Library (Note 1) How to properly install WIN386.EXE

Page 8

Page 9: The Windows 9x Device Driver Developer Resources Listmembers.tripod.com/Delimiter_V/resource.doc · Web viewKB PCMCIA PLUGPLAY 1998 Q196123, “PRB: Windows 98: PCMCIA Memory Windows

Microsoft Technical Support Frequently Asked Questions

VxD Debug_Out and Trace_Out Macros”

KB VXD SAMPLE

Q077403, “SAMPLE: MsgMode.exe Uses Message Mode Services & VMM w/VxD”

MSDN Library (Note 1) MsgMode.exe is a sample virtual device that demonstrates how to use the message mode services and the virtual machine manager (VMM) Time Out services. MSGMODE uses the VMM Hook_Device_Service to detect keyboard and mouse activity.

KB DEBUG Q077987, “Debugging GP Faults with WDEB386”

MSDN Library (Note 1) WINDOWS 3.x Interpreting GP Faults with Windows version 3.0 / 3.1

KB VXD Q084000, “Obtaining a Virtual Device (VxD) ID Number”

MSDN Library (Note 1) The DECLARE_VIRTUAL_DEVICE line of every virtual device (VxD) used in the Microsoft Windows graphical environment contains a VxD identifier (ID) field. This field contains either the unique number assigned to that virtual device or the constant Undefined_Device_ID.

KB DEBUG Q085897, “WDEB386-Compatible Timing Card Available”

MSDN Library (Note 1) Third party timer card supporting the gs and gh commands

KB DISPLAY Q086616, “Display Driver and Printer Driver Testing”

MSDN Library (Note 1)

KB PRINTING SAMPLE

Q086996, “FILE: PW0562.exe Printer Compatibility Testing Application Note”

MSDN Library (Note 1) PW0562.exe is an application note that contains information regarding the printer compatibility testing program offered by Microsoft Compatibility Lab (MCL).

KB DISPLAY Q087005, “Display Driver Compatibility Testing Appnote Available”

MSDN Library (Note 1)

KB PRINTING SAMPLE

Q088855, “FILE: PSHlp.exe PostScript Driver 3.5 Help File”

MSDN Library (Note 1) PSHlp.exe contains all the sources required to build the PostScript driver Help file, including the .HPJ files, the rich-text format (.RTF) sources, and the included bitmap (.bmp) files. This file is intended only for developers who already have the Windows 3.1 DDK.

KB DISPLAY Q089330, “Complete Text PW0563: Display Compatibility Testing”

MSDN Library (Note 1)

KB VXD KEYBOARD SAMPLE

Q089494, “SAMPLE: VHotKeyd.exe VxD Hot Keys in Windows 386 Enhanced Mode”

MSDN Library (Note 1) VHotKeyd.exe is a sample VxD that demonstrates the steps necessary to reflect a hot key into the system virtual machine.

KB PRINTING Q091023, “SAMPLE: Minidriver MSDN Library (Note 1) The sample Blockout.exe contains source code that

Page 9

Page 10: The Windows 9x Device Driver Developer Resources Listmembers.tripod.com/Delimiter_V/resource.doc · Web viewKB PCMCIA PLUGPLAY 1998 Q196123, “PRB: Windows 98: PCMCIA Memory Windows

Microsoft Technical Support Frequently Asked Questions

SAMPLE Dump() and BlockOut() Callbacks”

demonstrates the Dump() and FilterGraphics() [or BlockOut()] callback functions (Appendix A). This source code is not included in Appendix A, "Minidriver Callback Functions," of the Microsoft Windows version 3.1 Device Development Kit (DDK) Minidriver manual.

KB DISPLAY Q092532, “PRB: Display Monitor Goes Blank After the Logo Display”

MSDN Library (Note 1)

KB DISPLAY Q092648, “PRB: Linear Addr Mode Display Driver & MS-DOS Virtual Machines”

MSDN Library (Note 1)

KB GENERAL VXD

1993 Q094385, “Microsoft Systems Journal: February 1993”

MSDN Library (Note 1) VXD sample code

KB GENERAL 1993 Q094671, “Categories and Keywords for All Knowledge Base Articles”

MSDN Library (Note 1) General KB search keywords

KB GENERAL VXD

1993 Q097832, “Microsoft Systems Journal: May 1993”

MSDN Library (Note 1) VXD sample code

KB GENERAL 1993 Q101908, “Comprehensive List of WRK Version 3.1 Doc Errors, Part 2”

MSDN Library (Note 1) This article contains a comprehensive list of documentation errors in the "Microsoft Windows Resource Kit" (WRK) guide for version 3.1

KB GENERAL VXD

1993 Q102555, “How Windows NT and Windows 95 Handle Floating-Point Calculations”

MSDN Library (Note 1) Windows NT and Windows 95 provide environments to run Win32, Win16, and MS-DOS applications. Windows NT also supports POSIX and OS/2 applications. This article explains how each of these environments provides floating-point support to applications.

KB DISPLAY SAMPLE

1993 Q103212, “SAMPLE: Developing Windows 3.1 Video Drivers”

MSDN Library (Note 1) This article discusses how display driver writers can get the best performance possible from their video drivers.

KB DEBUG 1993 Q105275, “Using the ‘BR’ Command in WDEB386.EXE

MSDN Library (Note 1) More information about hardware breakpoints

KB PRINTING 1993 Q105498, “Adding Custom Page Sizes for PostScript Driver”

MSDN Library (Note 1) Custom page sizes can be added to the PostScript driver by updating the source code for the driver contained in the Windows 3.1 DDK.

KB PRINTING 1993 Q105499, “BUG: UNIDRV Does Not Create Black Plane”

MSDN Library (Note 1) (Win 3.1) UNIDRV.DLL does not create a black plane for a minidriver that has sPins == PinsPerPass == 1 in its RESOLUTION structure. This occurs regardless of the number of color planes and the setting of the DC_EXTRACT_BLACK bit in

Page 10

Page 11: The Windows 9x Device Driver Developer Resources Listmembers.tripod.com/Delimiter_V/resource.doc · Web viewKB PCMCIA PLUGPLAY 1998 Q196123, “PRB: Windows 98: PCMCIA Memory Windows

Microsoft Technical Support Frequently Asked Questions

UNITOOL.KB PRINTING 1993 Q105500, “UNIDRV Does Not

Send Black Plane to Dump() Function”

MSDN Library (Note 1) (Win 3.1) If a minidriver implements its own Dump() function, it must handle black extraction in that function.

KB MOUSE HID 1993 Q107693, “HOWTO: How to Detect Mouse and Mouse Port”

MSDN Library (Note 1) A Windows-based application can use the GetSystemMetrics() function to determine whether or not a serial mouse is connected to the computer. A Windows-based application must use the Inquire() function documented in the Windows Device Driver Kit (DDK).

KB COMM 1993 Q107696, “Modifying COMM.DRV to Support up to Nine Ports”

MSDN Library (Note 1) (Win 3.1) COMM.DRV can be modified to handle up to nine ports.

KB COMM 1993 Q107697, “BUG: Sharing IRQ with COM1 Causes System to Reboot”

MSDN Library (Note 1) When COM1 and another communications (COM) port are active and share the same IRQ using the Windows 3.1 COMM.DRV, the system hangs or reboots.

KB COMM 1993 Q108309, “FIX: Posting WM_COMMNOTIFY Messages May Fail”

MSDN Library (Note 1) (Win 3.1) When using WM_COMMNOTIFY messages in a communications application, these messages may appear to have stopped being posted.

KB COMM 1993 Q108314, “Using More Than Four Communications Ports in Windows”

MSDN Library (Note 1) In theory, it is possible to use more than four communications (COM) ports in a Windows-based application. In practice, however, due to the limitation imposed by the Windows 3.1 communications (comm) driver, only a maximum of four communications ports can be used.

KB GENERAL 1994 Q110405, “PRB: MASM 6.x and the Windows 3.1 DDK”

MSDN Library (Note 1) The Macro Assembler (MASM) versions 6.0 and later may fail and report errors when you try to build a virtual device driver (VxD) or sample from the Windows 3.1 Device Driver Kit (DDK).

KB DEBUG 1994 Q114473 “Intel Privileged and Sensitive Instructions”

MSDN Library (Note 1) The Intel architecture defines "privileged" instructions and "sensitive" instructions.

KB STORAGE SCSIPORT

1994 Q116450, “BufferAccessScsiPortControlled Flag Information”

MSDN Library (Note 1)

KB GENERAL 1994 Q118331, “How to Search for Windows DDK Articles by KBSubcategory”

MSDN Library (Note 1) Old Device Driver KB search keywords

KB GENERAL 1994 Q120079, “PRB: INT 2Fh 1684h May Return ES == 0 and DI != 0”

MSDN Library (Note 1) (Win 3.1) A DLL that calls INT 2Fh function 1684h (Get Device API Entry Point) tocommunicate with a VxD may receive ES == 0 and DI != 0.

Page 11

Page 12: The Windows 9x Device Driver Developer Resources Listmembers.tripod.com/Delimiter_V/resource.doc · Web viewKB PCMCIA PLUGPLAY 1998 Q196123, “PRB: Windows 98: PCMCIA Memory Windows

Microsoft Technical Support Frequently Asked Questions

KB DISPLAY 1994 Q120565, “How to Read Text Mode Screen of MS-DOS Session in Windows”

MSDN Library (Note 1) (Win 3.1) Sometimes it is necessary to read the text from the screen of an MS-DOS session running under Windows version 3.1 in 386 Enhanced mode. Use a simple VxD to read the screen in an MS-DOS session.

KB DEBUG 1994 Q121093 “Points to Remember When Writing a Debugger for Win32s”

MSDN Library (Note 1) This article is intended for developers of debugging tools for the Win32s environment. It covers the issues that should be to taken into consideration while writing debugging tools for the Win32s environment.

KB DISPLAY 1994 Q121319, “Missing Display Options in Display Property Sheet”

MSDN Library (Note 1)

KB PRINTING 1994 Q121661, “How to Use the TrueType Fonts Built into the Printer”

MSDN Library (Note 1) Some printers have TrueType (TT) fonts built into the printer. Printer drivers can increase their throughput by using the printer's internal TrueType device fonts instead of downloading the fonts to the printer.

KB PRINTING 1994 Q121663, “PRB: UNIDRV.DLL Maps Solid-Color Pens to Black on Mono Printer”

MSDN Library (Note 1) (Win 3.1) The UNIDRV.DLL (versions 3.1.4 and earlier) file does not map solid-color pens on a monochrome device (printer) to the gray scale. UNIDRV.DLL maps all solid-colored pens to black.

KB DISPLAY 1994 Q123334, “Requirements for Animated Cursors”

MSDN Library (Note 1)

KB NETWORK 1994 Q123458, “Windows for Workgroups NDDK Frequently Asked Questions”

MSDN Library (Note 1) (Win 3.1) This article answers questions frequently asked about the NDIS 3.0 specification and NDDK for Windows For Workgroups.

KB NETWORK 1994 Q123463, “BUG: MSODISUP.386 Giving Bad Value for Link Speed Causes Hang”

MSDN Library (Note 1) Windows for Workgroups version 3.11 hangs (stops responding), particularly with Remote LAN drivers such as RLN, when you attempt to run a protocol stack (such as NetBEUI) over ODI.

KB DISPLAY 1994 Q124267, “Display Adapter Information and Useful Switches”

MSDN Library (Note 1)

KB GENERAL VXD

1995 Q124729, “How to Program DMA Transfers in the Protected Mode Windows Environment”

MSDN Library (Note 1) The process for performing DMA transfers in the protected mode Windows environment should be similiar to the process for performing DMA transfers in the real mode MS-DOS environment.

KB DEBUG 1995 Q125635, “”BUG: Win 3.1 Kernel Debugger 3.10.46 Locks Up on Pentium Sys

MSDN Library (Note 1) When running the Microsoft Windows version 3.1 Kernel Debugger version 3.10.46 on a Pentium-based computer, a sign-on banner message will

Page 12

Page 13: The Windows 9x Device Driver Developer Resources Listmembers.tripod.com/Delimiter_V/resource.doc · Web viewKB PCMCIA PLUGPLAY 1998 Q196123, “PRB: Windows 98: PCMCIA Memory Windows

Microsoft Technical Support Frequently Asked Questions

display, and the computer will subsequently lock up.

KB NETWORK 1995 Q125700, “INFO: Windows 95 Support for Net Function Calls”

MSDN Library (Note 1) Windows 95 supports a subset of Net function calls. This is a list of the supported functions.

KB STORAGE COMM

1995 Q125717, “Limitations of Overlapped I/O in Windows 95”

MSDN Library (Note 1) Windows 95 does not support overlapped operations on files, disk, pipes, or mailslots, but does support overlapped operations on serial and parallel communication ports.

KB DEBUG 1995 Q125868 “How to Display Debugging Messages in Windows 95”

MSDN Library (Note 1) This article is mainly applicable to using WDEB386 while developing Win16 code

KB GENERAL VXD`

1995 Q126282, “DOCERR: DeviceIoControl Requires OVERLAPPED Struct w/ Async.”

MSDN Library (Note 1)

KB NETWORK 1995 Q126365, “How to Write NDIS 3 MAC Drivers for WFW 3.11 or Windows 95”

MSDN Library (Note 1) If your goal is to get your net card working on multiple platforms as quickly and easily as possible, write a Windows NT Mini port driver. A miniport driver written for Windows NT version 3.1 or 3.5 is binary compatible with Windows 95. Development for this driver is done under the Windows NT Environment and cannot be done under Windows 95 or Windows version 3.x.

KB STORAGE 1995 Q126855, “Windows 95 Support for Large IDE Hard Disks”

MSDN Library (Note 1)

KB DISPLAY 1995 Q127139, “Troubleshooting Video Problems in Windows 95”

MSDN Library (Note 1)

KB STORAGE MSDOS

1995 Q130179, “Troubleshooting MS-DOS Compatibility Mode on Hard Disks”

MSDN Library (Note 1)

KB STORAGE MSDOS

1995 Q131030, “How to Build Your Own VxDCall Wrappers for Windows 95”

MSDN Library (Note 1) The sample found on the Microsoft Development Platform DDK CD in \DDK\BASE\SAMPLES\CVXD32 implements two methods of "wrapping" VxDCalls in the C programming language.

KB DISPLAY 1995 Q132729, “Windows 95 Does Not Prevent Choosing Unsupported Resolution”

MSDN Library (Note 1)

KB PRINTING 1995 Q133005, “INFO: HP's Windows 95 JetAdmin Software Is Not Extensible”

MSDN Library (Note 1) Hewlett-Packard's Windows 95 JetAdmin software contains no API interface and isnot extensible.

KB DISPLAY 1995 Q133726, “EISA Bus Computer MSDN Library (Note 1)

Page 13

Page 14: The Windows 9x Device Driver Developer Resources Listmembers.tripod.com/Delimiter_V/resource.doc · Web viewKB PCMCIA PLUGPLAY 1998 Q196123, “PRB: Windows 98: PCMCIA Memory Windows

Microsoft Technical Support Frequently Asked Questions

Detects Display Adapter Incorrectly”

KB STORAGE 1995 Q137176, “PRB: DeviceIoControl Int 13h Does Not Support Hard Disks”

MSDN Library (Note 1)

KB CDROM 1995 Q137813, “How Win32 Applications Can Read CD-ROM in Windows 95”

Some Win32 applications, such as multimedia applications and games, need to read directly from compact discs to implement custom access or read caching to optimize CD-ROM access for specific purposes. This article provides information and example code that demonstrates how Win32 applications can read from compact discs on Windows 95.

KB LPT 1995 Q138432 “How to Set the ECP Mode Addressing on LPT Ports”

MSDN Library (Note 1) The built-in Lpt.vxd port provider in Windows 95 implements the IEEE Parallel interface P1284. One of the interesting features of the ECP mode is the ability to address up to 128 separate I/O devices. This can be accomplished at the application level with the DeviceIoControl function or from a VxD with _VCOMM_EscapeCommFunction.

KB STORAGE 1995 Q138899, “Description of the Ios.log File”

MSDN Library (Note 1)

KB DEBUG 1995 Q138983 “PATCH: MASM 6.11d Patch Available”

MSDN Library (Note 1) See the file README.TXT contained in this update for other information and installation instructions.

KB PLUGPLAY BIOS

1995 Q139998, “BUG: Plug & Play BIOS Problem with Vendor Defined Descriptors”

MSDN Library (Note 1) When you run the Windows System Debugger with a Configuration Manager echo level of 3, (“.y 3” dot command) debug output reports this error:BIOS ERROR: More resource tag seen but we don't have resources to give.

KB GENERAL 1995 Q139999, “BUG: DeleteFile Returns Wrong Value If VxD Removed from Memory”

MSDN Library (Note 1) If an application uses DeleteFile to remove a VxD from memory, DeleteFile will return 0 (false) if the function succeeds, and will return nonzero (true) if the function fails.

KB MODEM 1995 Q140323 “Microsoft Unimodem V Readme.txt File”

MSDN Library (Note 1) The information in this article is a copy of the information in the Readme.txt file included with Microsoft Unimodem V.

KB STORAGE 1995 Q140418, “Detailed Explanation of FAT Boot Sector”

MSDN Library (Note 1)

KB STORAGE SCSI PRINTING

1995 Q140656, “BUG: SCSI Printers Don't Work in Windows 95”

MSDN Library (Note 1) Under Windows 95, a fault in Ios.vxd occurs if a SCSI printer is powered on and plugged into a configured SCSI port. Because the fault doesn't

Page 14

Page 15: The Windows 9x Device Driver Developer Resources Listmembers.tripod.com/Delimiter_V/resource.doc · Web viewKB PCMCIA PLUGPLAY 1998 Q196123, “PRB: Windows 98: PCMCIA Memory Windows

Microsoft Technical Support Frequently Asked Questions

allow complete printer installation, the printer cannot be used under Windows 95. The printer will have to be turned off or unplugged from the SCSI port in order for Windows 95 to boot successfully.

KB STORAGE SCSIPORT

1995 Q140728, AdapterSettings Entry for SCSI Miniport under Windows 95

MSDN Library (Note 1)

KB STORAGE PCI DISPLAY

1995 Q140730, “Accessing PCI Device's Configuration Space from Device Driver”

MSDN Library (Note 1)

KB STORAGE SCSIPORT

1995 Q140732 PRB:, “Windows 95 Doesn’t Load SCSI Miniport Driver”

MSDN Library (Note 1)

KB DEBUG 1995 Q140793, “PRB: MAP File Line Number Incompatible with Nu-Mega Msym.exe”

MSDN Library (Note 1) When the Nu-Mega MS-DOS utility Msym.exe is run on a VxD .map file containing line number information, the resulting SoftICE symbol file contains no line number information.

KB GENERAL 1995 Q141131, “Why OpenVxDHandle Is Not Contained in Kernel32.lib”

MSDN Library (Note 1) The Kernel32.lib file in the combined Windows 95 or Windows NT Win32 SDK does not contain the OpenVxDHandle function because this function isspecific to Windows 95 only. You can use LoadLibrary and GetProcAddress toobtain the address of the OpenVxDHandle function in order to performdynamic linking from an application.

KB GENERAL 1995 Q141146, “Long Dir/File Names Not Supported by CreateFile to Open VxDs”

MSDN Library (Note 1) In your CreateFile call, you can only use directory names and file names that have eight or fewer characters with extensions of three or fewer characters. Long names prevent the VxD from loading.

KB GENERAL PLUGPLAY

1995 Q141147, “Calling Configuration Manager from Windows 95 Apps and DLLs”

MSDN Library (Note 1) From a 16-bit Windows-based application or DLL, you can make calls to the Windows 95 Configuration Manager. However, a 32-bit application or DLL cannot make Configuration Manager calls directly; to do so, it must thunk to 16-bit code.

KB DEBUG PRINTING

1995 Q141160 “How To Build Environment Required for Printer Drivers”

MSDN Library (Note 1) Printer driver debugging techniques

KB PRINTING 1995 Q141161, “DOCERR: Return Value for DrvGetPrinterData”

MSDN Library (Note 1) The Windows 95 DDK documentation for DrvGetPrinterData incorrectly states:“DrvGetPrinterData returns TRUE if successful;

Page 15

Page 16: The Windows 9x Device Driver Developer Resources Listmembers.tripod.com/Delimiter_V/resource.doc · Web viewKB PCMCIA PLUGPLAY 1998 Q196123, “PRB: Windows 98: PCMCIA Memory Windows

Microsoft Technical Support Frequently Asked Questions

otherwise, returns FALSE.”The DrvGetPrinterData returns FALSE if successful, otherwise, it returns TRUE.

KB PRINTING 1995 Q141162, “How To Debug a Print Driver with 32-bit Application”

MSDN Library (Note 1) To debug a print driver with a 32-bit application such as Write or Notepad, you have to use the Kernel debugger (WDEB386.EXE) shipped with Microsoft WIN32 SDK.

KB PRINTING 1995 Q141206, “DOCERR: Return Value for DrvSetPrinterData”

MSDN Library (Note 1) The Windows 95 DDK documentation for DrvSetPrinterData incorrectly states:“DrvSetPrinterData returns TRUE if successful; otherwise, returns FALSE”.The DrvSetPrinterData returns FALSE if successful, otherwise, it returnsTRUE.

KB PRINTING 1995 Q141207, “DIB_Enable Sets dpTechnology Field to DT_DISPLAY”

MSDN Library (Note 1) When called to fill the GDIINFO structure from a printer driver, the DIB_Enable function in DIBENGINE.DLL sets the dpTechnology bit in the GDIINFO structure to DT_DISPLAY.

KB PRINTING 1995 Q141208, “Color Support in Windows Printer Driver”

MSDN Library (Note 1) A Windows 95 print driver is capable of rendering images into a 4-, 8-, 16-, 24-, or 32-bits-per-pixel Device Independent Bitmap format.

KB VCOMM 1996 Q141230 “How to Monitor or Intercept COMM Data Traffic in Windows 95”

MSDN Library (Note 1) In Windows 95, you may sometimes want to set up a way to intercept all COMM data passing from any application to and from the hardware in use. Generally, not all traffic is successfully caught.

KB VCOMM 1996 Q141232 PRB: “VCD_Virtualize_Port Works in 3.1 but Fails in Windows 95”

MSDN Library (Note 1) To claim a COM port in Windows 3.1, VCD services were sometimes employed. VCD is the virtualizer for the serial ports. In particular, the VCD_Virtualize_Port call was used. However, programmers find that this call fails in Windows 95 as if the port has already been virtualized.

KB MODEM 1996 Q142730 “How to Create and Use the Modemlog.txt File”

MSDN Library (Note 1) This article describes how to create and use a Modemlog.txt file for troubleshooting modem problems using 32-bit communications programs.

KB MODEM TAPI

1996 Q150619 “32-Bit TAPI Programs Cannot Select Installed Modem”

MSDN Library (Note 1) A 32-bit TAPI program may not be able to access installed modems. Even though there is a modem installed, the program may start the Install New Modem Wizard, or may not allow you to select a modem.

KB PRINTING 1996 Q151866, “DOCERR: Parameters for fnOEMGetFontCmd”

MSDN Library (Note 1) The Windows 95 DDK documentation for the minidriver callback function, fnOEMGetFontCmd, has been incorrectly documented.

Page 16

Page 17: The Windows 9x Device Driver Developer Resources Listmembers.tripod.com/Delimiter_V/resource.doc · Web viewKB PCMCIA PLUGPLAY 1998 Q196123, “PRB: Windows 98: PCMCIA Memory Windows

Microsoft Technical Support Frequently Asked Questions

KB PRINTING 1996 Q151871, “DOCERR: Incorrect Parameters for fnOEMDump Callback Function.”

MSDN Library (Note 1) The Windows 95 DDK documentation for the minidriver callback functionfnOEMDump has been incorrectly stated.

KB PRINTING 1996 Q151886, “PARSEPJL.OBJ Source Code Not Available”

MSDN Library (Note 1) Source code for PARSEPJL.OBJ is not available from Microsoft.

KB PRINTING 1996 Q151887, “BUG: Print Processors Will Not Be Deleted with DeletePrintPro”

MSDN Library (Note 1) Under Win95, the Win32 API DeletePrintProcessor function will not remove the print processor from the list of installed print processors or remove the print processor from the \WINDOWS\SYSTEM directory.

KB PRINTING 1996 Q151888, “User-defined Paper Size and UNIDRV.DLL”

MSDN Library (Note 1) The UNIDRV.DLL in Windows 3.1 does not fully support user-defined paper sizes. However, the UNIDRV.DLL in Windows 95 does fully support user- defined paper sizes.

KB PRINTING COMM

1996 Q151889, “Cannot Replace Default Port Monitor for Standard Printer Ports”

MSDN Library (Note 1) The default port monitor that handles the standard printer ports (LPT1-LPT9 and COM1-COM9) cannot be replaced with a different port monitor.

KB PRINTING 1996 Q151890, “PRB: Cannot Install a Print Processor Named WINPRINT”

MSDN Library (Note 1) Under Windows 95, a print processor cannot be installed if it has a name of "WinPrint." In Windows 95, SPOOLSS.DLL contains default print subsystem components, one of which is the default print processor called "WinPrint."

KB PRINTING 1996 Q151891, “How To Call GDI Functions from a Print Driver”

MSDN Library (Note 1) A print driver can call GDI functions having the same name as printer-driver entry-point functions by explicitly or implicitly reloading GDI.

KB PRINTING 1996 Q151892, “How To Use QUERYDIBSUPPORT in Printer Driver”

MSDN Library (Note 1) A printer driver should set flags based on the drivers capability for the DIB when it gets calls to the Control function with the QUERYDIBSUPPORT escape.

KB PRINTING 1996 Q151895, “DOCERR: Parameters for FnOEMDownloadFontHeader Incorrect”

MSDN Library (Note 1) The Windows 95 DDK documentation for the minidriver callback function fnOEMDownLoadFontHeader has been incorrectly stated.

KB PRINTING 1996 Q152250, “No Support for Dosxxxx Functions in Sample Net-print Providers”

MSDN Library (Note 1) The Windows 95 DDK does not contain any libraries or header files that support the Dosxxxx functions in the sample net-print provider.

KB PRINTING 1996 Q152380, “BUG: WORDPAD/NOTEPAD for WIN95 Do Not Request Size of DEVMO”

MSDN Library (Note 1) Wordpad and Notepad for Windows 95 do not request the size of the DEVMODE structure when the printer driver is not the default driver.

KB GENERAL 1996 Q152535, “Windows 95 DDK MSDN Library (Note 1) The Microsoft Windows Hardware Quality Labs

Page 17

Page 18: The Windows 9x Device Driver Developer Resources Listmembers.tripod.com/Delimiter_V/resource.doc · Web viewKB PCMCIA PLUGPLAY 1998 Q196123, “PRB: Windows 98: PCMCIA Memory Windows

Microsoft Technical Support Frequently Asked Questions

Compatibility Tests are Outdated” (WHQL) maintains current CTs that should be used instead.

KB GENERAL 1996 Q152536, “DOCERR: Ddkenv.bat Called Before VC++ and MASM Batch Files”

MSDN Library (Note 1) The Windows 95 Device Driver Kit (DDK) documentation erroneously states that in order to set the build environment, you should call the ddkenv.bat file first before calling the Visual C++ and MASM batch files. The order of these calls is incorrect and should be reversed.

KB DEBUG 1996 Q152537, “How To Generate Map Files with Line Numbers”

MSDN Library (Note 1) This article describes how to use the Visual C++ linker to generate map files containing line number information for source-level debugging.

KB MMEDIA 1996 Q152538, “Modifying DDKENV.BAT to Build 16-Bit Multimedia Drivers”

MSDN Library (Note 1) The Windows 95 Device Driver Kit (DDK) contains a number of sample multimedia device drivers. Many of these drivers contain both a 16-bit DRV component and a 32-bit VXD component. In order to build the 16-bit multimedia driver components, you can run three batch files in the order listed in this article.

KB MMEDIA 1996 Q152539, “Windows 95 Multimedia MCI Device Drivers Must Be 16-bit”

MSDN Library (Note 1) Windows 95 multimedia MCI device drivers must be 16-bit drivers. The Windows 95 MCI architecture ensures compatibility with MCI drivers written for previous versions of the Windows operating system.

KB PLUGPLAY 1996 Q152540, “How To Use Configuration Manager to Get Free Resource Info”

MSDN Library (Note 1) This article describes how to obtain free resource information on memory, IO, DMA, and IRQ in Windows 95 by using the CONFIGMG_Query_Arbitrator_Free_Data function.

KB GENERAL 1996 Q152542, “DOCERR: WM_DEVICECHANGE Message Replaces WM_STARTSESSION”

MSDN Library (Note 1) The WM_STARTSESSION message does not actually exist. Instead, you can use the WM_DEVICECHANGE message as listed in the \ddk\inc32\dbt.h header file.

KB KEYBOARD 1996 Q153380, “How to Modify VxD in VKD_Define_Hot_Key to Detect All Keys”

MSDN Library (Note 1) Certain key combinations do not register as a single event, so drivers that need to detect them must keep track of the key history.

KB MOUSE HID 1996 Q153381, “PRB: Odd VMOUSE Int 15 Calls Appear Instead of AX=0C2xx”

MSDN Library (Note 1) If you are debugging your PS/2 device and watching INT 15h calls, you may see some odd function calls generated by VMOUSE.

KB MOUSE HID 1996 Q153382, “How to Add Middle Mouse Button from a VxD Using Simple Hook”

MSDN Library (Note 1) A VxD can hook the MD_Manipulate_Pointer_Message call using Hook_Device_Service to modify mouse information sent in messages. But if you just want

Page 18

Page 19: The Windows 9x Device Driver Developer Resources Listmembers.tripod.com/Delimiter_V/resource.doc · Web viewKB PCMCIA PLUGPLAY 1998 Q196123, “PRB: Windows 98: PCMCIA Memory Windows

Microsoft Technical Support Frequently Asked Questions

to cause a middle button status during message updates, you can hook a similar but simpler VMD_Set_Middle_Button call.

KB PLUGPLAY 1996 Q153383, “How to Use/Replace Windows 95 Hardware Wizard in Custom Code”

MSDN Library (Note 1) The short answer to emulating Hardware Wizard is that you cannot. Running the Hardware Wizard is another matter. It is easy to do this in anapplication by using the WinExec() function to run the following line:control.exe sysdm.cpl,Add New Hardware

KB VCOMM 1996 Q153384 “VCOMM Port Drivers EscapeCommFunction and DeviceIOControl”

MSDN Library (Note 1) EscapeCommFunction and DeviceIOControl calls to VCOMM are reflected to the port drivers registered with VCOMM. They have default behavior as well as being available to developers as general purpose I/O and control in custom port drivers.

KB DEBUG 1996 Q153386, “How to Use Conditional Debug_Out & Trace_Out Debugging Strings”

MSDN Library (Note 1) To avoid adding extra code to your source just to test or branch around debug message strings, you can use the built-in conditional macros in addition to the more plain Trace_Out and Debug_Out.

KB MOUSE HID 1996 Q153966, “Serial Mouse Sample Builds but Doesn't Install”

MSDN Library (Note 1) The INF file described in this article repairs the problem

KB DISPLAY 1997 Q156126, “Troubleshooting Windows 95 Using Safe Mode”

MSDN Library (Note 1)

KB SCSIPORT 1997 Q160667, “Miniport Driver Fails Using Certain ScsiPort APIs”

MSDN Library (Note 1)

KB DEBUG VXD GENERAL

1997 Q163358, “PRB: DDKDEBUG.BAT Copies Some Drivers to the Wrong Directory”

MSDN Library (Note 1) The DDKDEBUG batch file copies all debug binaries to the \windows\system\vmm32 path, but some of the binaries belong elsewhere. The contents of this KB article have been incorporated into the document you are currently reading.

KB PRINTING 1997 Q165719, “INFO: Windows 95 Printer Drivers are 16-Bit”

MSDN Library (Note 1) You must use a 16-bit compiler, such as MSVC 1.5, when you build a Windows 95 printer driver.

KB STORAGE IDE ATAPI SCSI

1997 Q168180, “HOWTO: Eject Removable Media on Windows 95”

MSDN Library (Note 1) Some Win32 applications need to have the ability to eject removable media from a drive on Windows 95. To do so safely, an application should first make sure that no other applications are currently using the media.

KB STORAGE SCSIPORT

1997 Q169584, “BUG: Win95: ScsiPortGetDeviceBase Does Not Return Linear Address”

MSDN Library (Note 1)

Page 19

Page 20: The Windows 9x Device Driver Developer Resources Listmembers.tripod.com/Delimiter_V/resource.doc · Web viewKB PCMCIA PLUGPLAY 1998 Q196123, “PRB: Windows 98: PCMCIA Memory Windows

Microsoft Technical Support Frequently Asked Questions

KB VCOMM 1997 Q170083 “HOWTO: Set Modem Lines Initial States in Win95 SERIAL.VXD”

MSDN Library (Note 1) The default Win95 COMM driver is a VCOMM port driver. Sometimes, you may need to set different default initial serial ports for the modem lines.

KB VCOMM 1997 Q170845 “SerialKey Accessibility Option Does Not Work in OSR2”

MSDN Library (Note 1) When you turn on the SerialKey option in the Accessibility Options tool in Control Panel, the SerialKey feature may not seem to work. In addition, turning on the SerialKey option may cause the computer to stop responding (hang) with a page fault error message.

KB DEBUG 1997 Q173168 “PATCH: MASM 6.12 Patch Available”

MSDN Library (Note 1) See the README.TXT contained in this update for other information and installation instructions.

KB GENERAL VXD

1997 Q175377, “DOC: _BlockOnID Function Uses the Block_Thread_Idle Option Flag”

MSDN Library (Note 1) The VMMcall _BlockOnID function accommodates the Block_Thread_Idle Flags option. If Block_Thread_Idle is set, VMM considers the thread to be "idle" if it blocks. A VxD can use this option to improve overall system performance.

KB GENERAL VXD

1997 Q175378, “DOC: Interrupt 2Fh Function 1684h Name-based Usage”

MSDN Library (Note 1) The Windows 95 Device Driver Kit documentation describes how a 16-bit ring 3 application can retrieve the entry point for a VxD's service functions, by specifying the VxD's unique device ID. The documentation omitted an alternate way to specify a VxD by indicating its VxD name.

KB DEBUG 1997 Q175416 “HOWTO: Obtain a NDIS Trace on Win95 for an NDIS Driver”

MSDN Library (Note 1) NDIS debugging techniques

KB PRINTING 1997 Q177303, “BUG: Printer Property Folder Displays Unnecessary Dialog Box”

MSDN Library (Note 1) The Details Port Settings button of the Printer Property folder displays an unnecessary dialog box when the port is a network port.

KB DEBUG 1997 Q177759 “PATCH: MASM 6.13 Patch Available”

MSDN Library (Note 1) Updates MASM 6.1x to accommodate new Pentium Pro, MMX and AMD 3D features.

KB DEBUG 1998 Q182539 “HOWTO: Debug NDIS WAN Miniports for MSDUN 1.2x”

MSDN Library (Note 1) This article shows you how to set tracing options to debug Network Driver Interface Specification (NDIS) wide area network (WAN) Miniports on Windows 95 with Microsoft Dial-Up Networking 1.2x. It also includes the address of the Web site you can visit to download debug binaries.

KB STORAGE IFS

1998 Q183173, “BUG: IFSMGR_Ring0FileIO / Level 3 Volume Lock Conflict”

MSDN Library (Note 1) If you are using IFSMGR_Ring0FileIO services, you might encounter file access problems when you run utility programs, such as DEFRAG, while IFSMGR_Ring0FileIO files are open. This KB article offers a remedy.

Page 20

Page 21: The Windows 9x Device Driver Developer Resources Listmembers.tripod.com/Delimiter_V/resource.doc · Web viewKB PCMCIA PLUGPLAY 1998 Q196123, “PRB: Windows 98: PCMCIA Memory Windows

Microsoft Technical Support Frequently Asked Questions

KB NETWORK 1998 Q185783, “SAMPLE: IPInst.exe Determines Whether TCP/IP Is Installed”

MSDN Library (Note 1) IPInst.exe contains a network installation sample application that you can use to determine whether TCP/IP is installed on a computer.

KB POWER 1998 Q190524, “PRB: Standby Power State Not Supported in Windows 98”

MSDN Library (Note 1) Windows 98 does not allow the system to enter a "standby" power state. Instead, the system might enter a "suspend" power state.

KB WDM 1998 Q190526, “PRB: WDM Drivers Cannot Access All Registry Keys”

MSDN Library (Note 1) Under OSR 2.1 and OSR 2.5, a WDM driver that calls ZwOpenKey() is only able to access registry keys under HKEY_LOCAL_MACHINE. Any attempts to read or write to other locations in the registry fail.

KB WDM 1998 Q190527, “PRB: Using Linked URBs in a WDM Driver Causes Page-Faults”

MSDN Library (Note 1) The USB Request Block (URB) structure, which a WDM driver uses to submit a request to a USB device, defines an "UrbLink" element that is intended to allow the driver to submit a linked list of URBs to the WDM USB driver stack.

KB VCOMM PLUGPLAY

1998 Q191814, “SAMPLE: VCEnum.exe Demonstrates Walking Device Nodes List”

MSDN Library (Note 1) VCEnum.exe is a sample that demonstrates the following:

How to walk the list of device nodes registered with VCOMM.

How to examine the current logical configuration of a device node.

How to examine the Friendly Name of a port device node.

How to display information with terminal input in response to debug_query.

KB POWER 1998 Q192485, “BUG: PMPI IdleAc/Dc Not Implemented Under Windows 98”

MSDN Library (Note 1) The Windows Power Management Configuration Tools Design Notes and Reference documents the IdleAc and IdleDc power action policy members of the USER_POWER_POLICY structure, which is used by the Power Management Profile Interface (PMPI). Under Windows 98, the functionality documented for the IdleAc and IdleDc members is not implemented.

KB STORAGE IOS SCSI

1998 Q192586, “SAMPLE: Passthru.exe - Sample SCSI Passthrough VSD”

MSDN Library (Note 1) Passthru.exe is a sample that demonstrates how to create the necessary data structures to implement a SCSI passthrough call-down.

KB STORAGE IOS

1998 Q192602, “FILE: IOSFAQ.exe - IOS Port Driver Frequently Asked Questions”

MSDN Library (Note 1) IOSFAQ.exe is a file that contains IOS_Port_DriverFAQ.doc. This document addresses common questions that arise when you are developing an IOS portdriver, located in the

Page 21

Page 22: The Windows 9x Device Driver Developer Resources Listmembers.tripod.com/Delimiter_V/resource.doc · Web viewKB PCMCIA PLUGPLAY 1998 Q196123, “PRB: Windows 98: PCMCIA Memory Windows

Microsoft Technical Support Frequently Asked Questions

Windows 9x I/O Subsystem (IOS).KB STORAGE

IOS1998 Q192603, “FILE: DskDrive.exe -

Removing/Adding Disk Drives Under Win95/98”

MSDN Library (Note 1) DskDrive.exe is a file that contains Disk_Drives.doc. The Windows 95 I/O Subsystem (IOS) contains internal mechanisms for managing the removal and addition of disk drive letters and entire physical devices.

KB STORAGE IOS IDE ATAPI CDROM

1998 Q192604, “FILE: HotSwap.exe - Hot Swapping IDE or ATAPI CDROM Devices”

MSDN Library (Note 1) HotSwap.exe is a file that contains Hot_Swapping.doc. This document discusses the options available to device driver developers who wish to configure an IDE hard disk drive or ATAPI CD-ROM drive to be inserted and removed ("hot swapped") after Windows 95 has started up.

KB STORAGE IOS SCSIPORT

1998 Q192605, “FILE: MiniPort.exe - Writing SCSI Miniport Drivers for Win95/98”

MSDN Library (Note 1) MiniPort.exe is a file that contains SCSI_Miniport_Drivers.doc. This document supplements the SCSI Miniport documentation in the Windows 95 DDK (STORAGE.DOC).

KB STORAGE IOS MSDOS

1998 Q192606, “FILE: MBtFAQ.exe - Windows 95 or Windows 98 Master Boot Record”

MSDN Library (Note 1) MBtFAQ.exe is a file that contains Mstr_Boot_Rec_FAQ.doc. This document discusses how to develop device drivers that access Windows 95 or Windows 98 disk drives at the Master Boot Record, disk partition and head/cylinder/sector levels. Developers of disk encryption products and disk partitioning products will find this information useful.

KB STORAGE IFS VCACHE

1998 Q192607, “FILE: VCache.exe - How to Use VCACHE Services”

MSDN Library (Note 1) VCache.exe is a file that contains VCache.doc. VCache.doc is a white paper that elaborates on VCACHE as originally defined in the Windows 95 DDK (see \DDK\DOCS\KERNEL\KERNEL.DOC and \DDK\INC32\VCACHE.H).

KB STORAGE SCSIPORT

1998 Q194639, “PRB: SCSI Miniport Driver Never Receives SRB_FUNCTION_SHUTDOWN”

MSDN Library (Note 1) A SCSI miniport driver might not receive SRB_FUNCTION_SHUTDOWN, which isused to indicate that Windows 95 is shutting down. This article offers a remedy.

KB PLUGPLAY 1998 Q194640, “HOWTO: Install Optional Components from 32-Bit Application Components”

MSDN Library (Note 1) After you install Windows 95, you might need to add one or more of the Windows 95 optional components. For example, "Games" is a Windows 95 optional component.

KB POWER 1998 Q194939, “HOWTO: Monitor System Power Events in VxDs”

MSDN Library (Note 1) Monitoring system power events from a VxD involves using the _SHELL_HookSystemBroadcast service to install a callback procedure into the broadcast notification chain. WM_POWERBROADCAST messages are used in

Page 22

Page 23: The Windows 9x Device Driver Developer Resources Listmembers.tripod.com/Delimiter_V/resource.doc · Web viewKB PCMCIA PLUGPLAY 1998 Q196123, “PRB: Windows 98: PCMCIA Memory Windows

Microsoft Technical Support Frequently Asked Questions

both APM and ACPI systems to notify applications and drivers of system power events.

KB NETWORK 1998 Q194940, “HOWTO: Programmatically Change the SMMType”

MSDN Library (Note 1) The current RAS architecture for Windows 95 does not provide support to programmatically manipulate "SMM Type" for a RAS phone book entry.

KB POWER 1998 Q195309, “PRB: Windows 98 - Battery Status Is Slow to Update”

MSDN Library (Note 1) On Windows 98 ACPI systems the battery status, such as whether the battery is charging or discharging, is slow to update.

KB DISPLAY 1998 Q195310, “INFO: MapSL, MapLS, UnMapLS Function Documentation”

MSDN Library (Note 1) The MapSL, MapLS, UnMapLS pointer translation routines are used in Windows 95 and Windows 98 Device Driver Kit sample code. However, these are not documented functions. This article provides the documentation for these routines that Windows 9x display driver developers need.

KB PCMCIA PLUGPLAY

1998 Q195317, “PRB: Filtering of PCMCIA Device IRQ Request Mask”

MSDN Library (Note 1) PCMCIA devices might appear to be unable to use all the possible IRQs specified in the device's BASIC_LOG_CONF IRQ Request Mask.

KB INFRARED 1998 Q195554, “BUG: Infrared Device Stops Functioning During Data Transfer”

MSDN Library (Note 1) There is a known hardware problem with some older infrared controllers [National Semiconductor Fast Infrared Controllers] that causes them to stop functioning while transmitting or receiving at speeds greater than 115 kilobytes per second (Kbps).

KB POWER 1998 Q196121, “BUG: PCI Device Fails After Suspend/Resume on Windows 95 OSR2”

MSDN Library (Note 1) Under Windows 95 OSR2, following a suspend/resume sequence, a PCI device may fail to work properly. Examining the device in Device Manager shows that the device has been disabled in hardware, displaying error code 29.

KB PCMCIA PLUGPLAY

1998 Q196122, “PRB: Windows 98: PCMCIA Devices Show Error 7 in Device Manager”

MSDN Library (Note 1) PCMCIA devices that install properly under Windows 95 may fail to install under Windows 98. The device fails to start and Device Manager shows error code 7.

KB PCMCIA PLUGPLAY

1998 Q196123, “PRB: Windows 98: PCMCIA Memory Windows May Fail Below 1 MB”

MSDN Library (Note 1) Under Windows 98, PCMCIA devices used with Texas Instruments (TI) 113x CardBus controllers may fail to receive memory windows below 1 megabyte (MB). Specifying a specific configuration tuple memory address below 1 MB does not work, nor does using an .inf file override to force the window below 1 MB.

KB STORAGE IDE ATAPI

1998 Q196550, “HOWTO: Access IDE Controller Registers Using IDE Passthrough”

MSDN Library (Note 1) Windows 95 device driver programmers can use the IOS IOR_IDE_PASS_THROUGHCommand to directly access an IDE disk

Page 23

Page 24: The Windows 9x Device Driver Developer Resources Listmembers.tripod.com/Delimiter_V/resource.doc · Web viewKB PCMCIA PLUGPLAY 1998 Q196123, “PRB: Windows 98: PCMCIA Memory Windows

Microsoft Technical Support Frequently Asked Questions

controller's command and controlRegisters, if using Windows 95 Version B (also known as OSR2) or later.

KB STORAGE SCSI DVD

1998 Q197004, “Fatal Exception in CDVSD Starting Windows 98”

MSDN Library (Note 1) This behavior can occur when you start your computer if a CD-ROM is not in the DVD drive or when a CD-ROM is ejected from the DVD drive if you are using a third-party Small Computer System Interface (SCSI) miniport driver. An incorrect calldown method is used if an IOS VSD is installed between the CDVSD and SCSIPORT layers and the DVD CD-ROM supports Group 2 timeout commands.

KB NETWORK 1998 Q198582, “HOWTO: NDIS Miniport Binary-Compatibility on Windows 98 and Windows 2000”

MSDN Library (Note 1) There are several special considerations that a developer must observe to successfully ship a binary-compatible NDIS Miniport driver for Windows 2000 and Windows 98. The considerations are caused by differences in the implementation of NDIS and WMI on these platforms.

KB PLUGPLAY POWER

1998 Q198664, “DOC: How to call CONFIGMG_Get(Set)_DevNode_PowerCapabilities”

MSDN Library (Note 1) Early versions of the Windows 98 DDK, including the July and October 1998 MSDN releases, incorrectly documented how to use the CONFIGMG_Get_DevNode_PowerCapabilities and CONFIGMG_Set_DevNode_PowerCapabilities services.

KB ACPI 1998 Q198836, “PRB: Memory Corruption or PC Hangs Entering C3 CPU Pwr State”

MSDN Library (Note 1) If the power management settings are configured to allow the processor (CPU) to enter the C3 power state on a computer supporting the Advanced Configuration and Power Interface (ACPI) specification, one or more of the following symptoms might occur: (1) Memory is corrupted after several minutes of inactivity, or (2) The computer stops responding (hangs) after several minutes of inactivity.

KB STORAGE IDE

1998 Q199886 “PC 98 Hardware Devices May Not Work Correctly in Windows 98”

MSDN Library (Note 1) After you install Windows 98, you may not have full functionality with some PC 98 hardware. This behavior occurs because the Smartvsd.vxd file is not included in the retail version of Windows 98. This file is present in the Windows\System\Iosubsys folder on a computer that is upgraded from Microsoft Windows 95, but this file is not present

Page 24

Page 25: The Windows 9x Device Driver Developer Resources Listmembers.tripod.com/Delimiter_V/resource.doc · Web viewKB PCMCIA PLUGPLAY 1998 Q196123, “PRB: Windows 98: PCMCIA Memory Windows

Microsoft Technical Support Frequently Asked Questions

after completing a fresh install of Windows 98.KB PLUGPLAY 1998 Q199988, “PRB: OSR2 Device

Manager Driver Properties Display Incorrectly”

MSDN Library (Note 1) In Windows 95 OEM Service Release (OSR) version 2, Device Manager does not correctly display the properties for drivers.

KB DISPLAY 1998 Q200876, “HOWTO: Get Information for a Given Display Driver”

MSDN Library (Note 1) This article describes a technique that allows an application to get informationabout a specified display device on a Windows 95 or Windows 98 system.

KB WDM USB 1998 Q200916, “PRB: OSR 2.1 - OHCI Driver May Not Break Up Transfers Correctly”

MSDN Library (Note 1) When transferring data over an OHCI controller in Windows 95 OSR 2.x, a page-fault may occur or invalid data may be transferred if the data buffer used for the transfer has physically contiguous memory that spans more than two pages of memory.

KB WDM USB 1998 Q200977, “PRB: Can't Set MaxTransfer Size for USB Composite Device”

MSDN Library (Note 1) A WDM driver can typically set the MaximumTransferSize for a USB device via the URB_FUNCTION_SELECT_CONFIGURATION function. However, attempts to use URB_FUNCTION_SELECT_CONFIGURATION to set the MaximumTransferSize for the endpoints of a function on a composite USB device will fail.

KB PCMCIA 1998 Q201018, “INFO: Explanation of CardBus Registry Entries in PCMCIA.INF”

MSDN Library (Note 1) The PCMCIA.INF file shipped in Windows 98 has several registry entries used specifically by the cardbus socket services driver (CBSS.VXD). This article explains how each of these registry values is used by CBSS.VXD.

KB PLUGPLAY 1998 Q201678, "Multiple Disk Install Causes Error in Windows 98".

MSDN Library (Note 1) Under Windows 98, if the installation requires more than one disk, Windows 98displays an error message if the LayoutFile= entry is used. Single disk installsare not affected by this problem.

KB GENERAL 1998 Q201685, “HOWTO: Programmatically Retrieve a VxD's Version Information”

MSDN Library (Note 1) On Windows 95/98, the GetFileVersionInfo() and GetFileVersionInfoSize() APIs can be used to retrieve 32-bit version information from a virtual device driver (VxD). However, on Windows NT these functions fail when called for a VxD. GetLastError() returns zero. This behavior is by design, because VxDs are specific to the Windows 95/98 operating systems.

KB WDM SAMPLE

1998 Q202060, “HOWTO: Use Testdrv.sys from Windows 98 DDK as a WDM PnP Driver”

MSDN Library (Note 1) The Windows 98 DDK contains sample source code for a generic WDM driver in the ddk\src\general\sys directory. Building this sample yields a binary file

Page 25

Page 26: The Windows 9x Device Driver Developer Resources Listmembers.tripod.com/Delimiter_V/resource.doc · Web viewKB PCMCIA PLUGPLAY 1998 Q196123, “PRB: Windows 98: PCMCIA Memory Windows

Microsoft Technical Support Frequently Asked Questions

named Testdrv.sys. This article discusses how to create an inf and modify the sample so that it can be used as a generic WDM PnP driver.

KB STORAGE SMART IDE SAMPLE

1998 Q208048, “SAMPLE: SmartApp.exe Accesses SMART Stats in IDE Drives”

MSDN Library (Note 1) SmartApp.exe is a sample Win32 application that demonstrates how to access the SMART (Self Monitoring, Analysis and Reporting Technology) capabilities built into IDE disk drives.

KB STORAGE IDE ATAPI SCSI

1998 Q214522, “Err Msg: An Exception 0E has Occurred at 0028:C0021E77 in VxD IOS(01) + 00001197...”

MSDN Library (Note 1) When you attempt to format a floppy disk using an LS-120 floppy disk drive drive with a third-party ATAPI/IDE miniport driver, and you get a blue screen, this article describes the hotfix to correct this.

KB POWER 1999 Q216306, “PRB: SetSuspendState() Fails Under Windows 98”

MSDN Library (Note 1) Calling SetSuspendState() from a Win32 application always results in a failure Code. Under Windows 98, the SetSuspendState() function exported by Powrprof.dll is not implemented and always returns FALSE.

KB WDM 1999 Q216308, “BUG: Calling IoDeleteDevice May Unexpectedly Unload Driver”

MSDN Library (Note 1) If a Windows 98 WDM driver's AddDevice routine calls IoCreateDevice followed by IoDeleteDevice, the driver may be unloaded unexpectedly and the memory freed, all before the AddDevice routine finishes execution. This could theoretically allow another thread to prematurely overwrite the driver's memory, causing potential system instability.

KB WDM IEEE1394

1999 Q221823, “INFO: 1394 Device Not Being Detected”

MSDN Library (Note 1) If a 1394 device is plugged into a 1394 host controller and Windows 98 fails to detect it, selecting the Support Non-Compliant Devices check box may correct this problem.

KB WDM IEEE1394

1999 Q221933, “HOWTO: How 1394 Diagnostic Mode Works”

MSDN Library (Note 1) A 1394 host controller can be put into Diagnostic Mode so that every detected 1394 device gets assigned the same specific hardware/device ID. Based on this hardware/device ID, a diagnostic driver such as 1394Diag.sys can load and offer test/debug options for the 1394 device.

KB WDM IEEE1394

1999 Q221938, “INFO: SONYDCAM Sample Does Not Support DV Cameras”

MSDN Library (Note 1) The SONYDCAM sample in the Win98 DDK supports only the Sony CCM-DS250 desktop camera. The CCM-DS250 is a fully digital desktop conferencing camera that adopts the IEEE 1394-1995 "FireWire" standard but does not support the DV (digital video) format.

KB WDM USB 1999 Q222584, “BUG: Blue Screen Occurs When Disabling a USB

MSDN Library (Note 1) When running on Windows 95 OSR 2.1 or OSR 2.5, a blue screen appears when manually or

Page 26

Page 27: The Windows 9x Device Driver Developer Resources Listmembers.tripod.com/Delimiter_V/resource.doc · Web viewKB PCMCIA PLUGPLAY 1998 Q196123, “PRB: Windows 98: PCMCIA Memory Windows

Microsoft Technical Support Frequently Asked Questions

Controller” programmatically disabling a USB host controller.KB WDM USB 1999 Q222600, “INFO: Bulk Transfer

URB's Can Specify More Than 64 Bytes”

MSDN Library (Note 1) The Universal Serial Bus 1.00 specification defines bulk transfers to be 4, 8, 16, 32 or 64 bytes in length. However, the TransferBufferLength field of _URB_BULK_OR_INTERRUPT_TRANSFER can specify a much larger byte size.

KB WDM IEEE1394

1999 Q222614, “INFO: WIN1394 Not Detecting Any 1394 Devices”

MSDN Library (Note 1) Win1394.exe gives the following error when there are no 1394 devices plugged into the 1394 host controller and/or the 1394 host controller is not inDiagnostic Mode:Device 1394DIAG failed to open

KB WDM 1999 Q222820, “PRB: WDM Driver Written in C++ May Fail to Load”

MSDN Library (Note 1) A WDM driver written in C++ fails to load under Windows 98 if it uses one of the following WDM functions: RtlLargeIntegerAdd RtlEnlargedIntegerMultiply RtlEnlargedUnsignedMultiply RtlEnlargedUnsignedDivide RtlLargeIntegerNegate RtlLargeIntegerSubtract

KB PCMCIA 1999 Q222821, “INFO: PCMCIA Interrupt Sharing Under Windows 98”

MSDN Library (Note 1) PCMCIA devices can utilize either shared (PCI) interrupts or non-shared (ISA) interrupts. Windows 98 determines the requested interrupt type by examining the TPCE_IR Interrupt Request Description Structure in the Configuration Table Entry Tuple.

KB POWER PCI 1999 Q222824, “FIX: Windows 98: Reenumerating PCI Device Can Cause Reboot”

MSDN Library (Note 1) On a Windows 98 ACPI system, reenumerating a Peripheral Component Interconnect (PCI) device may cause the system to crash. For example, if a user employs Device Manager to remove a PCI device and then refreshes, the system can unexpectedly reboot. This problem is evident on systems using the Intel PIIX4 chipset.

KB WDM AUDIO

1999 Q222946, “BUG: Windows 98: Shutdown Hangs With WDM Audio Driver Installed”

MSDN Library (Note 1) If a WDM audio driver is installed on Windows 98 and the system is idle for at least 2 minutes then the system hangs on shutdown. Eventually, after approximately 2 or more minutes, shutdown completes.

KB IFS IOS 1999 Q223282, “INFO: Using IFSMGR_InstallFileSystemApiHook in Windows 98”

MSDN Library (Note 1) Under Windows 98, programs that use the IFSMGR_InstallFileSystemApiHook service to encrypt and/or otherwise modify the content of executable files need to disable the new operation

Page 27

Page 28: The Windows 9x Device Driver Developer Resources Listmembers.tripod.com/Delimiter_V/resource.doc · Web viewKB PCMCIA PLUGPLAY 1998 Q196123, “PRB: Windows 98: PCMCIA Memory Windows

Microsoft Technical Support Frequently Asked Questions

type ENUMH_MAPCACHEBLOCK in the service FS_EnumerateHandle, in order to intercept the entire executable file.

KB STORAGE IFS IOS

1999 Q223294, “INFO: The Windows 98 PageFile_Call_Async_Manager Service”

MSDN Library (Note 1) Windows 98 added a new feature, PageFile_Call_Async_Manager, that allows the Memory Manager to asynchronously write out page file (swap file) buffers during periods of time when VFAT file system activity is not busy.

KB STORAGE DVD

1999 Q223809 “DVD Device Reports Drive/Disc Error Until Media Is Reinserted”

MSDN Library (Note 1) If there is a DVD disc in the DVD player when you start Windows 98 and all of the computer's IRQs are in use, you may receive the following error message when you start the MediaMatics Express player:

No valid drive/disc found

After you eject and reinsert the disc, or you query the drive using Windows Explorer, the problem no longer occurs.

KB NETWORK 1999 Q224784, “HOWTO: Writing WDM/NDIS Miniports for Windows”

MSDN Library (Note 1) Cutting-edge network devices use such new hardware interfaces as USB and 1394 to connect to the PC. These new hardware interfaces require Windows Driver Model (WDM) miniport drivers to support them. However, Windows 2000 and Windows 98 provide specialized interfaces and support for network drivers. An NDIS miniport is required. Therefore, such a network device requires an NDIS miniport driver in which the upper-edge provides an NDIS miniport interface and the lower-edge provides a WDM miniport interface.

KB IFS 1999 Q225489, “BUG: IFSMGR_ParseOneElement Fails with Certain Character Combinations”

MSDN Library (Note 1) In the Installable File System Manager (IFSMGR) VxD for Windows 95 version 4.0.950 and later, the IFSMGR_ParseOneElement function fails under certain conditions. The failure of this function under prescribed conditions is evident in the original version of Windows 95 (version 4.0.950), and all subsequent versions of Windows up to and including the original version of Windows 98.

KB IOS 1999 Q225497, “PRB: Windows 95 May Fail to Boot Due to I/O Subsystem Failure [win95x]”

MSDN Library (Note 1) Under some circumstances Windows 95 may fail to boot, and will display the following error message:“Error: An I/O subsystem driver failed to load Either a file in the .\iosubsys subdirectory is corrupt

Page 28

Page 29: The Windows 9x Device Driver Developer Resources Listmembers.tripod.com/Delimiter_V/resource.doc · Web viewKB PCMCIA PLUGPLAY 1998 Q196123, “PRB: Windows 98: PCMCIA Memory Windows

Microsoft Technical Support Frequently Asked Questions

or the system is low on memory.” This article describes the cause.

KB WDM 1999 Q229803, “BUG: The 98 DDK VALUEADD Sample Causes a Blue Screen to Occur”

MSDN Library (Note 1) Valueadd.sys causes a blue screen to occur when a Win32 application tries to do a CreateFile() call to it.

KB POWER 1999 Q230470, “INFO: Windows 98: Set Power Management with _VPOWERD_Get_Mode”

MSDN Library (Note 1) VxDs running under Windows 98 can use the _VPOWERD_Get_Mode service to determine the power management mode of the system.

KB WDM 1999 Q231904, “PRB: URB_FUNCTION_RESET_PIPE Fails When Called at Raised IRQL”

MSDN Library (Note 1) Submitting a URB of type URB_FUNCTION_RESET_PIPE will fail if sent at an IRQL other than PASSIVE_LEVEL.

KB WDM USB 1999 Q231912, “BUG: USB Bulk Bandwidth Reclamation Disabled In IRP Completion”

MSDN Library (Note 1) Under Windows 98, bulk Universal Serial Bus (USB) transfers that are scheduled within the completion handler of a transfer for a control endpoint will only transfer one data packet per frame on UHCI controllers.

KB GENERAL 1999 Q232536, “HOWTO: Enumerate and Run Available Control Panel Applets”

MSDN Library (Note 1) This article explains how to extract a list of available Control Panel applets and how to execute them from the command line or from another program.

KB GENERAL 1999 Q232585, “INFO: AddMonitor May Return Error 87: ERROR_INVALID_PARAMETER”

MSDN Library (Note 1) The AddMonitor() function installs a local port monitor and links the configuration, data, and monitor files. Users may sporadically experience error code 87, ERROR_INVALID_PARAMETER," on some computers and not on others. This article explains the problem and presents the solution.

KB IFS IOS 1999 Q238548, “FIX: Win98 Performance Degradation After Intensive File Activity”

MSDN Library (Note 1) A problem in the file cache manager in Windows 98 may cause system performance reduction after intensive file transfer activity has occurred. The problem disappears if the system is restarted.

KB IOS PCMCIA IDE STORAGE

1999 Q239113, “BUG: FDISK Fails on Reinsertion of PCMCIA/PCCARD ATA Disk Drives”

MSDN Library (Note 1) If a PCMCIA (Personal Computer Memory Card International Association) or PCCARD (a form of PCMCIA that uses the PCI bus instead of ISA bus) ATA (Advanced Technology Attachment) disk storage device is unplugged and then plugged back in, the device works correctly, with the exception that attempts to run FDISK from an MS-DOS prompt fail after the user replies to FDISK's "large disk support" prompt.

KB IOS IDE 1999 Q239119, “BUG: FDISK Reports MSDN Library (Note 1) FDISK, when run from an MS-DOS box after

Page 29

Page 30: The Windows 9x Device Driver Developer Resources Listmembers.tripod.com/Delimiter_V/resource.doc · Web viewKB PCMCIA PLUGPLAY 1998 Q196123, “PRB: Windows 98: PCMCIA Memory Windows

Microsoft Technical Support Frequently Asked Questions

STORAGE Incorrect Disk Capacity for PCMCIA ATA Drives”

Windows has been started, reports the wrong disk size for PCCARD-based ATA drives that contain a storage capacity greater than 1023 cylinders. This issue generally applies to disk drives that do not appear in real mode prior to protected-mode windows (this problem occurs, for example, with drives where the controller has no BIOS extension, so MS-DOS has no way of knowing that they exist).

KB IOS SCSI IDE

1999 Q242348, “SAMPLE Ideinf.exe: .inf File for Windows 9x Dual IDE Controllers”

MSDN Library (Note 1) This article points to a downloadable document, Ideinf.doc, contained within the self-extracting file Ideinf.exe. Ideinf.doc contains a sample multifunction .inf file and a description of the components within a multifunction .inf file.

MSDN THREADS 1994/01/11

Detecting Deadlocks in Multithreaded Win32 Applications

This is the first in a series of three articles that deal with deadlocks in multithreaded Win32®-based applications.

MSDN GENERAL Microsoft Developer Network Library CD (and other CDs)

(Microsoft Press) A primary reference source for Microsoft device driver documentation.http://msdn.microsoft.com

MSDN DDKSAMPLE

Microsoft Windows 95 Device Driver Kit

(supplied to MSDN Professional subscribers). Check Microsoft’s web site http://msdn.microsoft.com/developer

The starting point for Windows 95 device drivers. Useful also for non-WDM-based Windows 98 device drivers. (Note 4)

MSDN DDKCOMM

1998 Microsoft Windows 95 Device Driver Kit – July 1998 - Documentation Updates – COMM.DOC

(supplied to MSDN Professional subscribers). Check Microsoft’s web site http://msdn.microsoft.com/developer

Updated COMM technology documentation, in Word format (prints nicely). (Note 4)

MSDN DDKDISPLAY

1998 Microsoft Windows 95 Device Driver Kit – July 1998 - Documentation Updates – DISPLAY.DOC

(supplied to MSDN Professional subscribers). Check Microsoft’s web site http://msdn.microsoft.com/developer

Updated DISPLAY technology documentation, in Word format (prints nicely). (Note 4)

MSDN DDKDISPLAY

1998 Microsoft Windows 95 Device Driver Kit – July 1998 - Documentation Updates – GRAPHCNT..DOC

(supplied to MSDN Professional subscribers). Check Microsoft’s web site http://msdn.microsoft.com/developer

Updated DISPLAY technology documentation, in Word format (prints nicely). (Note 4)

MSDN DDKINTRO

1998 Microsoft Windows 95 Device Driver Kit – July 1998 - Documentation Updates –

(supplied to MSDN Professional subscribers). Check Microsoft’s web site

Update introduction to Windows DDK documentation, in Word format (prints nicely). (Note 4)

Page 30

Page 31: The Windows 9x Device Driver Developer Resources Listmembers.tripod.com/Delimiter_V/resource.doc · Web viewKB PCMCIA PLUGPLAY 1998 Q196123, “PRB: Windows 98: PCMCIA Memory Windows

Microsoft Technical Support Frequently Asked Questions

INTRO.DOC http://msdn.microsoft.com/developer

MSDN DDKGENERAL

1998 Microsoft Windows 95 Device Driver Kit – July 1998 - Documentation Updates – VXDS.DOC

(supplied to MSDN Professional subscribers). Check Microsoft’s web site http://msdn.microsoft.com/developer

Updated VxD technology documentation, in Word format (prints nicely). (Note 4)

MSDN DDKGENERAL

1998 Microsoft Windows 95 Device Driver Kit – July 1998 - Documentation Updates – KERNEL.DOC

(supplied to MSDN Professional subscribers). Check Microsoft’s web site http://msdn.microsoft.com/developer

Updated Kernel (VMM) technology documentation, in Word format (prints nicely). (Note 4)

MSDN DDKKEYCNT

1998 Microsoft Windows 95 Device Driver Kit – July 1998 - Documentation Updates – KEYCNT.DOC

(supplied to MSDN Professional subscribers). Check Microsoft’s web site http://msdn.microsoft.com/developer

Updated Keyboard technology documentation, in Word format (prints nicely). (Note 4)

MSDN DDKMMEDIA

1998 Microsoft Windows 95 Device Driver Kit – July 1998 - Documentation Updates – MMEDIA.DOC

(supplied to MSDN Professional subscribers). Check Microsoft’s web site http://msdn.microsoft.com/developer

Updated Multimedia technology documentation, in Word format (prints nicely). (Note 4)

MSDN DDKKEYBOARD

1998 Microsoft Windows 95 Device Driver Kit – July 1998 - Documentation Updates – KEYCNT.DOC

(supplied to MSDN Professional subscribers). Check Microsoft’s web site http://msdn.microsoft.com/developer

Updated COMM technology documentation, in Word format (prints nicely). (Note 4)

MSDN DDKSTORAGE

1998 Microsoft Windows 95 Device Driver Kit – July 1998 - Documentation Updates – STORAGE.DOC

(supplied to MSDN Professional subscribers). Check Microsoft’s web site http://msdn.microsoft.com/developer

Updated physical storage technology documentation, in Word format (prints nicely). (Note 4)

MSDN DDKDEBUG

1998 Microsoft Windows 95 Device Driver Kit – July 1998 - Documentation Updates – UTILS.DOC

(supplied to MSDN Professional subscribers). Check Microsoft’s web site http://msdn.microsoft.com/developer

Updated WDEB386 Debugger documentation, in Word format (prints nicely). (Note 4)

MSDN DDKSAMPLE

Microsoft Windows 98 Device Driver Kit

(supplied to MSDN Professional subscribers). Check Microsoft’s web site http://msdn.microsoft.com/developer

The starting point for Windows 98 device drivers.Includes support for WDM technology. Downloadable for free at http://www.microsoft.com/ddk

Page 31

Page 32: The Windows 9x Device Driver Developer Resources Listmembers.tripod.com/Delimiter_V/resource.doc · Web viewKB PCMCIA PLUGPLAY 1998 Q196123, “PRB: Windows 98: PCMCIA Memory Windows

Microsoft Technical Support Frequently Asked Questions

MSDN DDKSAMPLE

Microsoft Windows NT Device Driver Kit

(supplied to MSDN Professional subscribers). Check Microsoft’s web site http://msdn.microsoft.com/developer

Contains SCSI miniport and WDM information that is relevant to Windows 95/98 development as well. Downloadable for free at http://www.microsoft.com/ddk

MSDN THREADS 1994/03/11

Putting DLDETECT to Work This article complements the “Detecting Deadlocks in Multithreaded Win32 Applications” and “The Implementation of DLDETECT.EXE” articles in the Microsoft® Development Library. It describes a constructive process for rewriting a multithreaded application as a Petri net that can be fed into DLDETECT.EXE to derive the formal properties of the application.

MSDN THREADS 1994/01/14

The Implementation of DLDETECT.EXE

Following up on the article “Detecting Deadlocks in Multithreaded Win32 Applications”, this article describes the implementation of DLDETECT.EXE, a Microsoft® Foundation Class Library (MFC) application that aids developers in analyzing the properties of their multithreaded applications.

MSDN GENERAL INTRO

The Little Device Driver Writer MSDN Library (Note 1) Intro to writing Windows 95 and Windows NT hardware device drivers, including the I/O models, driver design and debugging strategies

MSDN GENERAL INTRO

The VxD Writer’s Resource Book, or VxD Writing as a Martial Art

MSDN Library (Note 1) An overview of virtual device driver (VxD) programming and a comprehensive reading list.

MSDN GENERAL INTRO

What's New in Windows 95 for VxD Writers?

MSDN Library (Note 1) Explains the changes that VxD writers have to expect when porting their VxDs to Windows 95.

Periodical GENERAL Dr. Dobb’s Journal http://www.ddj.com/ or phone 800-456-1215

Occasional device driver articles

Periodical GENERAL Microsoft Hardware Newsletter For individuals who want to subscribe to this newsletter, please include your name, title, company name, and company description, in email addressed to [email protected]. Microsoft will send you the NDA required to request a subscription.

Contains up-to-date hardware developer information.

Periodical GENERAL Microsoft Systems Journal Phone: 800-666-1084 or 303-678-0439

Frequently contains material relevant to device driver developers

Page 32

Page 33: The Windows 9x Device Driver Developer Resources Listmembers.tripod.com/Delimiter_V/resource.doc · Web viewKB PCMCIA PLUGPLAY 1998 Q196123, “PRB: Windows 98: PCMCIA Memory Windows

Microsoft Technical Support Frequently Asked Questions

Periodical GENERAL Windows Developer’s Journal (Formerly, Windows/Dos Developer’s Journal)

http://www.wdj.com/Phone: 800-365-1425 or 303-678-0439

Occasional device driver articles

Periodical GENERAL Windows Tech Journal Phone: 800-234-0386 Occasional device driver articles

Note 1. MSDN Articles and Knowledge Base (KB) article content can be obtained using any of the following techniques:

Install and use the MSDN Library CD, or Use http://support.microsoft.com to search for KB article content. Access Microsoft’s web site, http://msdn.microsoft.com, or You can obtain KB articles by email. For information about a specific KB article, send email to Microsoft Technical Support ([email protected]) with the KB

article number in the subject field of the email. You will receive email containing the article. For example, placing “Q119591” in the subject field will send you the following article: “How to Obtain Microsoft Support from Online Services"

Note 2. To locate articles in the MSDN Library, use the title as the search key when querying the MSDN Library CD.

Note 3. The Date field contains the publish date, except referencing an Internet web site the date field contains the date the web site was last tested.

Note 4. The July 1998 and later versions of the Windows 95 DDK CD-ROM contain updated documentation in the folder \NEW95DOC; this folder is NOT automatically copied from the CD-ROM to the hard disk when the kit is installed.

You can find many of the books referenced in this document at http://www.amazon.com or http://www.barnesandnoble.com.

Page 33