obtaining a mixer for a given device interfaceJerry asked for some sample code... Here's a sample that obtains the device interface given a device ID, and then opens a handle to the interface. Note that the first parameter to waveInMessage must be a device ID, not a waveIn handle - the documentation on this used to be wrong but was recently fixed. UINT DeviceID = 0; ULONG Size = 0; waveInMessage ((HWAVEIN) DeviceID, DRV_QUERYDEVICEINTERFACESIZE, (DWORD_PTR) &Size, 0); if (Size > 0) { char *Info = new char[Size]; if (waveInMessage (0, DRV_QUERYDEVICEINTERFACE, (DWORD_PTR) Info, (DWORD_PTR) Size) == MMSYSERR_NOERROR) { HANDLE hDev = CreateFileW ((WCHAR *) Info, 0, 0, NULL, OPEN_EXISTING, 0, NULL); ... } } Jeff ----- Original Message ----- From: Jerry Evans To: wdmaudiodev@xxxxxxxxxxxxx Sent: Tuesday, October 04, 2005 9:53 PM Subject: [wdmaudiodev] Re: obtaining a mixer for a given device interface Jeff, Have you got some example code you could share on this ? Many thx. Jerry ----- Original Message ----- From: Jeff Pages To: wdmaudiodev@xxxxxxxxxxxxx Sent: Thursday, July 21, 2005 6:37 AM Subject: [wdmaudiodev] Re: obtaining a mixer for a given device interface Given a mixer Device ID, you can obtain its corresponding device interface by calling mixerMessage with DRV_QUERYDEVICEINTERFACE (and DRV_QUERYDEVICEINTERFACESIZE). See the latest DDK under WDM Audio Extensions to Legacy Windows Multimedia APIs for details. This should (hopefully) match with one of the device interfaces you found from SetupDiEnumDeviceInterfaces. Jeff Pages Innes Corporation Pty Ltd