The approach to writing drivers for each of the various types of audio devices is the same. Each type of driver requires an entry-point function with a different name, but the structure of each of these functions is identical. They all have similar messages to process, although some types have unique messages for operations exclusive to that particular type of device. This section presents information that applies to writing device drivers for all types of audio devices. Sections later in the chapter give an overview of the required and optional messages for each particular type of audio device and an overview of the data structures associated with the messages.