See also WIDM_GETDEVCAPS
typedef struct waveincaps_tag { UINT wMid; UINT wPid; VERSION vDriverVersion; char szPname[MAXPNAMELEN]; DWORD dwFormats; UINT wChannels; } WAVEINCAPS; The <k>WAVEINCAPS</k> structure describes the capabilities of a waveform input device. <parm> <i><k>wMid</k> <d>Specifies a manufacturer ID for the device driver for the waveform input device. Manufacturer IDs are defined in the <e>Multimedia Programmer's Reference</e> in the Microsoft Windows Software Development Kit. <i><k>wPid</k> <d>Specifies a product ID for the waveform input device. Product IDs are defined in the <e>Multimedia Programmer's Reference</e> in the Microsoft Windows Software Development Kit. <i><k>vDriverVersion</k> <d>Specifies the version number of the device driver for the waveform input device. The high-order byte is the major version number, and the low-order byte is the minor version number. The numbering is up to the driver developer but should be changed with each driver release. <i><k>szPname[MAXPNAMELEN]</k> <d>Specifies the product name in a NULL-terminated string. <i><k>dwFormats</k> <d>Specifies which standard formats are supported. The supported formats are specified with a logical OR of the following flags: <list> <i>WAVE_FORMAT_1M08 <d>11.025 kHz, Mono, 8-bit <i>WAVE_FORMAT_1S08 <d>11.025 kHz, Stereo, 8-bit <i>WAVE_FORMAT_1M16 <d>11.025 kHz, Mono, 16-bit <i>WAVE_FORMAT_1S16 <d>11.025 kHz, Stereo, 16-bit <i>WAVE_FORMAT_2M08 <d>22.05 kHz, Mono, 8-bit <i>WAVE_FORMAT_2S08 <d>22.05 kHz, Stereo, 8-bit <i>WAVE_FORMAT_2M16 <d>22.05 kHz, Mono, 16-bit <i>WAVE_FORMAT_2S16 <d>22.05 kHz, Stereo, 16-bit <i>WAVE_FORMAT_4M08 <d>44.1 kHz, Mono, 8-bit <i>WAVE_FORMAT_4S08 <d>44.1 kHz, Stereo, 8-bit <i>WAVE_FORMAT_4M16 <d>44.1 kHz, Mono, 16-bit <i>WAVE_FORMAT_4S16 <d>44.1 kHz, Stereo, 16-bit </list> <i><k>wChannels</k> <d>Specifies whether the device supports mono (1) or stereo (2) input. </parm> <cmt>Drivers can support other formats in addition to those specified in the <k>dwFormats</k> field. </cmt></ref> <ref id=WAVEOPENDESC>WAVEOPENDESC <sa>WODM_OPEN, WIDM_OPEN</sa> <syn>typedef struct waveopendesc_tag { HWAVE hWave; LPWAVEFORMAT lpFormat; DWORD dwCallback; DWORD dwInstance; } WAVEOPENDESC;
This structure contains information needed by a waveform input or waveform output device driver when devices are opened with a WODM_OPEN or WIDM_OPEN message.
hWave
Specifies the client's handle to the device, assigned by MMSYSTEM. Use this handle when notifying the client with the DriverCallback function.
lpFormat
Specifies a far pointer to a WAVEFORMAT structure, indicating the waveform data format requested by the client.
dwCallback
Specifies either the address of a callback function, a window handle, or a task handle, depending on the flags specified in the dwParam2 parameter of the WODM_OPEN or WIDM_OPEN message. If this field contains a handle it is contained in the low-order word. The driver uses this information to notify the client using the DriverCallback function.
dwInstance
Specifies a DWORD of instance information for the client. This instance information is returned to the client whenever the driver notifies the client using the DriverCallback function.