devicetopology.idl revision 930b5f872e89407f445d4000d4e4aaecaa6a0998
/*
* Core Audio device topology definitions
*
* Copyright 2009 Maarten Lankhorst
*
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*
*/
/*
* Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
* other than GPL or LGPL is available it will apply instead, Oracle elects to use only
* the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
* a choice of LGPL license versions is made available with the language indicating
* that LGPLv2 or any later version may be used, or where a choice of which version
* of the LGPL is applied is otherwise unspecified.
*/
interface IPart;
interface IControlInterface;
interface IDeviceTopology;
interface IControlChangeNotify;
import "oaidl.idl";
import "ocidl.idl";
import "propidl.idl";
cpp_quote("#ifndef E_NOTFOUND")
cpp_quote("#define E_NOTFOUND HRESULT_FROM_WIN32(ERROR_NOT_FOUND)")
cpp_quote("#endif")
cpp_quote("#define DEVTOPO_HARDWARE_INITIATED_EVENTCONTEXT 0x64726148 /* 'draH' */")
cpp_quote("DEFINE_GUID(EVENTCONTEXT_VOLUMESLIDER, 0xe2c2e9de, 0x09b1, 0x4b04,0x84,0xe5, 0x07, 0x93, 0x12, 0x25, 0xee, 0x04);")
cpp_quote("#define _IKsControl_")
cpp_quote("#include <ks.h>")
cpp_quote("#include <ksmedia.h>")
cpp_quote("#ifndef _KS_")
} KSDATAFORMAT;
{
{
struct {
};
};
} KSIDENTIFIER;
typedef enum
{
eConnTypeUnknown = 0,
typedef enum
{
eGeoLocRear = 1,
typedef enum
{
eGenLocPrimaryBox = 0,
typedef enum
{
ePortConnJack = 0,
{
{
} LUID;
typedef enum
{
{
{
cpp_quote("#endif")
typedef enum
{
In = 0,
} DataFlow;
typedef enum
{
Connector = 0,
} PartType;
typedef enum
{
Unknown_Connector = 0,
[
]
interface IKsControl : IUnknown
{
);
);
);
}
[
]
interface IPerChannelDbLevel : IUnknown
{
);
[out] float *pfMinLevelDB,
[out] float *pfMaxLevelDB,
[out] float *pfStepping
);
);
);
);
);
}
[
]
interface IAudioVolumeLevel : IPerChannelDbLevel
{
/* Empty */
}
[
]
interface IAudioChannelConfig : IUnknown
{
);
);
}
[
]
interface IAudioLoudness : IUnknown
{
);
);
}
[
]
interface IAudioInputSelector : IUnknown
{
);
);
}
[
]
interface IAudioOutputSelector : IUnknown
{
);
);
}
[
]
interface IAudioMute : IUnknown
{
);
);
}
[
]
interface IAudioBass : IPerChannelDbLevel
{
/* Empty */
}
[
]
interface IAudioMidRange : IPerChannelDbLevel
{
/* Empty */
}
[
]
interface IAudioTreble : IPerChannelDbLevel
{
/* Empty */
}
[
]
interface IAudioAutoGainControl : IUnknown
{
);
);
}
[
]
interface IAudioPeakMeter : IUnknown
{
);
);
}
[
]
interface IDeviceSpecificProperty : IUnknown
{
);
);
);
);
}
[
]
interface IKsFormatSupport : IUnknown
{
);
);
}
[
]
interface IKsJackDescription : IUnknown
{
);
);
}
[
]
interface IKsJackDescription2 : IUnknown
{
);
);
}
[
]
interface IKsJackSinkInformation : IUnknown
{
);
}
[
]
interface IPartsList : IUnknown
{
);
);
}
[
]
{
);
);
);
);
);
);
);
);
);
);
);
);
);
};
[
]
interface IConnector : IUnknown
{
);
);
);
HRESULT Disconnect(void);
);
);
);
);
}
[
]
{
/* Empty IUnknown interface.. */
}
[
]
interface IControlInterface : IUnknown
{
);
);
}
[
]
interface IControlChangeNotify : IUnknown
{
);
}
[
]
interface IDeviceTopology : IUnknown
{
);
);
);
);
);
);
);
}
[
version(1.0)
]
{
[
]
{
interface IDeviceTopology;
}
}