Declare Function waveOutGetDevCaps Lib "winmm.dll" Alias "waveOutGetDevCapsA" (ByVal uDeviceID As Long, lpCaps As WAVEOUTCAPS, ByVal uSize As Long) As Long
Platforms: Win 95/98, Win NT
waveOutGetDevCaps reads the capabilities and other information about a given waveform output device. This information is placed in the structure passed as lpCaps. This function can determine what operations a waveform output device can perform. The function returns 0 if successful, or a non-zero error code if an error occured.
' List the names and number of channels of every installed waveform output
' device. Note how we only check the valid device identifiers.
Dim outinfo As WAVEOUTCAPS ' receives info about each device
Dim numdevs As Long ' number of installed devices
Dim thisdev As Long ' counter for which device we're checking
Dim outname As String ' buffer for device's name
Dim retval As Long ' return value
' First, determine the number of waveform output devices.
numdevs = waveOutGetNumDevs()
' Loop through each device and display the desired information. Keep in mind that the first
' device has an identifier of 0, etc.
For thisdev = 0 To numdevs - 1
' Get the capabilities of the device
retval = waveOutGetDevCaps(thisdev, outinfo, Len(outinfo))
If retval = 0 Then ' only continue if the above function succeeded
Debug.Print "Device #"; thisdev
' Extract device name from fixed-length string
outname = Left(outinfo.szPname, InStr(outinfo.szPname, vbNullChar) - 1)
Debug.Print " "; outname;
' Display number of channels -- i.e., is it mono or stereo?
If outinfo.nChannels = 1 Then
Debug.Print " (mono)"
Else
Debug.Print " (stereo)"
End If
End If
Next thisdev
Category: Audio
Go back to the alphabetical Function listing.
Go back to the Reference section index.
This page is copyright © 2000 Paul Kuliniewicz. Copyright Information.
Go back to the Windows API Guide home page.
E-mail: vbapi@vbapi.com Send Encrypted E-Mail
This page is at http://www.vbapi.com/ref/w/waveoutgetdevcaps.html