• ▼MSDN Library - April 2000
    • ▶Welcome to the MSDN Library
    • ▶Visual Studio 6.0 Documentation
    • ▶Office Developer Documentation
    • ▶Windows CE Documentation
    • ▶Platform SDK
    • ▶SDK Documentation
    • ▼DDK Documentation
      • About DDK Documentation
      • ▼Windows 95 DDK
        • ▼Windows 95 Documentation
          • ▶Legal Information
          • ▶Programmer's Guide
          • ▼Design Guide
            • ▶Introduction to the Design Guide
            • Overview of Audio Device Drivers
            • ▶Virtual Communications Device Drivers
            • ▶Display Drivers
            • ▶Infrared Communications for Windows 95 Product Description
            • ▶Windows 95 Keyboard Driver
            • ▶Overview of the Modem Development Kit
            • ▶Mouse Overview
            • ▼Multimedia Device Drivers
              • Types of Multimedia Device Drivers
              • Sample Multimedia Device Drivers
              • Structure of Multimedia Device Drivers
              • Header Files for Multimedia Device Drivers
              • Interacting with Multimedia Device Drivers
              • ▶Initializing and Configuring Multimedia Device Drivers
              • ▶Multimedia Device Information (INF) Files
              • ▶Writing Multimedia Device Drivers
              • ▼Audio Device Drivers
                • Sample Device Drivers
                • Different Types of Audio Devices
                • Writing an Audio Device Driver
                • Structure of an Audio Device Driver
                • How Applications Communicate with Audio Device Drivers
                • Naming Audio Device Drivers
                • Registry Entries for Audio Device Drivers
                • ▶Module-Definition File
                • ▶Installable Driver Interface
                • Writing a VxD
                • Entry-Point Functions
                • Reentrancy Considerations with Entry-Point Functions
                • Opening and Closing Devices
                • ▶Data Transfer Model
                • Preparing Data Blocks
                • ▶Handling Errors
                • Notifying Clients with the DriverCallback Function
                • Writing a Waveform Output Driver
                • The Entry Point for Waveform Output Drivers
                • ▶Waveform Output Driver Messages
                • Waveform Output Driver Structures
                • Writing a Waveform Input Driver
                • Entry Point for Waveform Input Drivers
                • ▶Waveform Input Driver Messages
                • Waveform Input Driver Structures
                • Writing a MIDI Output Driver
                • ▶Entry Point for MIDI Output Drivers
                • Handling Running Status Output
                • Required MIDI Messages for Internal Synthesizers
                • ▶MIDI Output Driver Messages
                • MIDI Output Driver Structures
                • Writing a MIDI Input Driver
                • Entry Point for MIDI Input Drivers
                • Time Stamping MIDI Input
                • Handling Running Status Input
                • ▶MIDI Input Driver Messages
                • MIDI Input Driver Structures
                • Writing a MIDI Throughput Device Driver
                • Writing an Auxiliary Audio Device Driver
                • Entry Point for Auxiliary Audio Device Drivers
                • ▶Auxiliary Audio Device Driver Messages
                • Auxiliary Audio Device Driver Structures
                • Writing a Mixer Device Driver
                • Entry Point for Mixer Device Drivers
                • ▶Mixer Device Driver Messages
                • Reference
                • ▶Functions
                • ▼Messages
                  • AUXDM_GETDEVCAPS
                  • AUXDM_GETNUMDEVS
                  • AUXDM_GETVOLUME
                  • AUXDM_SETVOLUME
                  • DRVM_ADD_THRU
                  • DRVM_IOCTL
                  • DRVM_REMOVE_THRU
                  • MIDM_ADDBUFFER
                  • MIDM_CLOSE
                  • MIDM_GETDEVCAPS
                  • MIDM_GETNUMDEVS
                  • MIDM_GETPOS
                  • MIDM_OPEN
                  • MIDM_PREPARE
                  • MIDM_PROPERTIES
                  • MIDM_RESET
                  • MIDM_START
                  • MIDM_STOP
                  • MIDM_UNPREPARE
                  • MIM_CLOSE
                  • MIM_DATA
                  • MIM_ERROR
                  • MIM_LONGDATA
                  • MIM_LONGERROR
                  • MIM_OPEN
                  • MODM_CACHEDRUMPATCHES
                  • MODM_CACHEPATCHES
                  • MODM_CLOSE
                  • MODM_DATA
                  • MODM_GETDEVCAPS
                  • MODM_GETNUMDEVS
                  • MODM_GETPOS
                  • MODM_GETVOLUME
                  • MODM_LONGDATA
                  • MODM_OPEN
                  • MODM_PAUSE
                  • MODM_PREPARE
                  • MODM_PROPERTIES
                  • MODM_RESET
                  • MODM_RESTART
                  • MODM_SETVOLUME
                  • MODM_STOP
                  • MODM_STRMDATA
                  • MODM_UNPREPARE
                  • MOM_CLOSE
                  • MOM_DONE
                  • MOM_OPEN
                  • MXDM_CLOSE
                  • MXDM_GETCONTROLDETAILS
                  • MXDM_GETDEVCAPS
                  • MXDM_GETLINECONTROLS
                  • MXDM_GETLINEINFO
                  • MXDM_GETNUMDEVS
                  • MXDM_INIT
                  • MXDM_OPEN
                  • MXDM_SETCONTROLDETAILS
                  • WIDM_ADDBUFFER
                  • WIDM_CLOSE
                  • WIDM_GETDEVCAPS
                  • WIDM_GETNUMDEVS
                  • WIDM_GETPOS
                  • WIDM_OPEN
                  • WIDM_PREPARE
                  • WIDM_RESET
                  • WIDM_START
                  • WIDM_STOP
                  • WIDM_UNPREPARE
                  • WIM_CLOSE
                  • WIM_DATA
                  • WIM_OPEN
                  • WODM_BREAKLOOP
                  • WODM_CLOSE
                  • WODM_GETDEVCAPS
                  • WODM_GETNUMDEVS
                  • WODM_GETPITCH
                  • WODM_GETPLAYBACKRATE
                  • WODM_GETPOS
                  • WODM_GETVOLUME
                  • WODM_OPEN
                  • WODM_PAUSE
                  • WODM_PREPARE
                  • WODM_RESET
                  • WODM_RESTART
                  • WODM_SETPITCH
                  • WODM_SETPLAYBACKRATE
                  • WODM_SETVOLUME
                  • WODM_UNPREPARE
                  • WODM_WRITE
                  • WOM_CLOSE
                  • WOM_DONE
                  • WOM_OPEN
                • ▶Structures
              • ▶MCI Device Drivers
              • ▶Video Capture Device Drivers
              • ▶Audio Compression Manager Drivers
              • ▶Joystick Device Drivers
              • ▶Video Compression and Decompression Drivers
            • ▶Networking
            • ▶Pen Device Driver
            • ▶Printer Driver Overview
            • ▶Storage Technology Reference
          • ▶Kernel Services Guide
          • ▶Networking and Configuration Guide
        • ▶Legacy Printing Documentation (Windows 3.1)
      • ▶Windows 98 Driver Development Kit
      • ▶Windows 2000 Driver Development Kit
      • ▶Windows NT 4.0 DDK
      • ▶Smart Card DDK
    • ▶Windows Resource Kits
    • ▶Knowledge Base
    • ▶Technical Articles
    • ▶Backgrounders
    • ▶Specifications
    • ▶Books
    • ▶Partial Books
    • ▶Periodicals
    • ▶Samples