xref: /reactos/sdk/include/psdk/tuner.idl (revision c2c66aff)
1*c2c66affSColin Finck
2*c2c66affSColin Finck
3*c2c66affSColin Finckcpp_quote("#pragma once")
4*c2c66affSColin Finck
5*c2c66affSColin Finck#include <olectl.h>
6*c2c66affSColin Finck#ifndef DO_NO_IMPORTS
7*c2c66affSColin Finckimport "oaidl.idl";
8*c2c66affSColin Finckimport "comcat.idl";
9*c2c66affSColin Finckimport "strmif.idl";
10*c2c66affSColin Finckimport "bdaiface.idl";
11*c2c66affSColin Finckimport "regbag.idl";
12*c2c66affSColin Finck#else
13*c2c66affSColin Finckcpp_quote("#include <bdaiface.h>")
14*c2c66affSColin Finck#endif
15*c2c66affSColin Finck
16*c2c66affSColin Finckinterface ITuningSpaceContainer;
17*c2c66affSColin Finckinterface ITuningSpace;
18*c2c66affSColin Finckinterface IEnumTuningSpaces;
19*c2c66affSColin Finckinterface ITuneRequest;
20*c2c66affSColin Finckinterface ITuner;
21*c2c66affSColin Finckinterface ITunerCap;
22*c2c66affSColin Finckinterface IScanningTuner;
23*c2c66affSColin Finckinterface IEnumComponentTypes;
24*c2c66affSColin Finckinterface IComponentTypes;
25*c2c66affSColin Finckinterface IComponentType;
26*c2c66affSColin Finckinterface ILanguageComponentType;
27*c2c66affSColin Finckinterface IEnumComponents;
28*c2c66affSColin Finckinterface IComponents;
29*c2c66affSColin Finckinterface IComponent;
30*c2c66affSColin Finckinterface IMPEG2ComponentType;
31*c2c66affSColin Finckinterface IMPEG2Component;
32*c2c66affSColin Finckinterface ILocator;
33*c2c66affSColin Finckinterface IATSCLocator;
34*c2c66affSColin Finckinterface IDVBSLocator;
35*c2c66affSColin Finckinterface IDVBTLocator;
36*c2c66affSColin Finckinterface IDVBCLocator;
37*c2c66affSColin Finckinterface IDigitalCableLocator;
38*c2c66affSColin Finckinterface IAnalogLocator;
39*c2c66affSColin Finckinterface IDigitalCableTuneRequest;
40*c2c66affSColin Finckinterface IDigitalCableTuningSpace;
41*c2c66affSColin Finck
42*c2c66affSColin Finck[
43*c2c66affSColin Finck    object,
44*c2c66affSColin Finck    uuid(901284E4-33FE-4b69-8D63-634A596F3756),
45*c2c66affSColin Finck    dual,
46*c2c66affSColin Finck    oleautomation,
47*c2c66affSColin Finck    nonextensible,
48*c2c66affSColin Finck    pointer_default(unique)
49*c2c66affSColin Finck]
50*c2c66affSColin Finckinterface ITuningSpaces : IDispatch
51*c2c66affSColin Finck{
52*c2c66affSColin Finck    HRESULT get_Count(
53*c2c66affSColin Finck        [out] long *Count);
54*c2c66affSColin Finck
55*c2c66affSColin Finck    HRESULT get__NewEnum(
56*c2c66affSColin Finck        [out] IEnumVARIANT** NewEnum);
57*c2c66affSColin Finck
58*c2c66affSColin Finck    HRESULT get_Item(
59*c2c66affSColin Finck        [in] VARIANT varIndex,
60*c2c66affSColin Finck        [out] ITuningSpace** TuningSpace);
61*c2c66affSColin Finck
62*c2c66affSColin Finck    HRESULT get_EnumTuningSpaces(
63*c2c66affSColin Finck        [out] IEnumTuningSpaces** NewEnum);
64*c2c66affSColin Finck}
65*c2c66affSColin Finck
66*c2c66affSColin Finck[
67*c2c66affSColin Finck    object,
68*c2c66affSColin Finck    uuid(5B692E84-E2F1-11d2-9493-00C04F72D980),
69*c2c66affSColin Finck    dual,
70*c2c66affSColin Finck    oleautomation,
71*c2c66affSColin Finck    hidden,
72*c2c66affSColin Finck    nonextensible,
73*c2c66affSColin Finck    pointer_default(unique)
74*c2c66affSColin Finck]
75*c2c66affSColin Finckinterface ITuningSpaceContainer : IDispatch
76*c2c66affSColin Finck{
77*c2c66affSColin Finck    HRESULT get_Count(
78*c2c66affSColin Finck        [out] long *Count);
79*c2c66affSColin Finck
80*c2c66affSColin Finck    HRESULT get__NewEnum(
81*c2c66affSColin Finck        [out] IEnumVARIANT** NewEnum);
82*c2c66affSColin Finck
83*c2c66affSColin Finck    HRESULT get_Item(
84*c2c66affSColin Finck        [in] VARIANT varIndex,
85*c2c66affSColin Finck        [out] ITuningSpace** TuningSpace);
86*c2c66affSColin Finck
87*c2c66affSColin Finck    HRESULT put_Item(
88*c2c66affSColin Finck        [in] VARIANT varIndex,
89*c2c66affSColin Finck        [in] ITuningSpace *TuningSpace);
90*c2c66affSColin Finck
91*c2c66affSColin Finck    HRESULT TuningSpacesForCLSID(
92*c2c66affSColin Finck        [in] BSTR SpaceCLSID,
93*c2c66affSColin Finck        [out] ITuningSpaces** NewColl);
94*c2c66affSColin Finck
95*c2c66affSColin Finck    HRESULT _TuningSpacesForCLSID(
96*c2c66affSColin Finck        [in] REFCLSID SpaceCLSID,
97*c2c66affSColin Finck        [out] ITuningSpaces** NewColl);
98*c2c66affSColin Finck
99*c2c66affSColin Finck    HRESULT TuningSpacesForName(
100*c2c66affSColin Finck        [in] BSTR Name,
101*c2c66affSColin Finck        [out] ITuningSpaces** NewColl);
102*c2c66affSColin Finck
103*c2c66affSColin Finck    HRESULT FindID(
104*c2c66affSColin Finck        [in] ITuningSpace *TuningSpace,
105*c2c66affSColin Finck        [out] long *ID);
106*c2c66affSColin Finck
107*c2c66affSColin Finck    HRESULT Add(
108*c2c66affSColin Finck        [in] ITuningSpace* TuningSpace,
109*c2c66affSColin Finck        [out] VARIANT* NewIndex);
110*c2c66affSColin Finck
111*c2c66affSColin Finck    HRESULT get_EnumTuningSpaces(
112*c2c66affSColin Finck        [out] IEnumTuningSpaces **ppEnum);
113*c2c66affSColin Finck
114*c2c66affSColin Finck    HRESULT Remove(
115*c2c66affSColin Finck        [in] VARIANT Index);
116*c2c66affSColin Finck
117*c2c66affSColin Finck    HRESULT get_MaxCount(
118*c2c66affSColin Finck        [out] long *MaxCount);
119*c2c66affSColin Finck
120*c2c66affSColin Finck    HRESULT put_MaxCount(
121*c2c66affSColin Finck        [in] long MaxCount);
122*c2c66affSColin Finck}
123*c2c66affSColin Finck
124*c2c66affSColin Finck
125*c2c66affSColin Finck[
126*c2c66affSColin Finck    object,
127*c2c66affSColin Finck    uuid(061C6E30-E622-11d2-9493-00C04F72D980),
128*c2c66affSColin Finck    dual,
129*c2c66affSColin Finck    oleautomation,
130*c2c66affSColin Finck    nonextensible,
131*c2c66affSColin Finck    pointer_default(unique)
132*c2c66affSColin Finck]
133*c2c66affSColin Finckinterface ITuningSpace : IDispatch
134*c2c66affSColin Finck{
135*c2c66affSColin Finck    HRESULT get_UniqueName(
136*c2c66affSColin Finck        [out] BSTR *Name);
137*c2c66affSColin Finck
138*c2c66affSColin Finck    HRESULT put_UniqueName(
139*c2c66affSColin Finck        [in] BSTR Name);
140*c2c66affSColin Finck
141*c2c66affSColin Finck    HRESULT get_FriendlyName(
142*c2c66affSColin Finck        [out] BSTR *Name);
143*c2c66affSColin Finck
144*c2c66affSColin Finck    HRESULT put_FriendlyName(
145*c2c66affSColin Finck        [in] BSTR Name);
146*c2c66affSColin Finck
147*c2c66affSColin Finck    HRESULT get_CLSID(
148*c2c66affSColin Finck        [out] BSTR* SpaceCLSID);
149*c2c66affSColin Finck
150*c2c66affSColin Finck    HRESULT get_NetworkType(
151*c2c66affSColin Finck        [out] BSTR *NetworkTypeGuid);
152*c2c66affSColin Finck
153*c2c66affSColin Finck    HRESULT put_NetworkType(
154*c2c66affSColin Finck        [in] BSTR NetworkTypeGuid);
155*c2c66affSColin Finck
156*c2c66affSColin Finck    HRESULT get__NetworkType(
157*c2c66affSColin Finck        [out] GUID* NetworkTypeGuid);
158*c2c66affSColin Finck
159*c2c66affSColin Finck    HRESULT put__NetworkType(
160*c2c66affSColin Finck        [in] REFCLSID NetworkTypeGuid);
161*c2c66affSColin Finck
162*c2c66affSColin Finck    HRESULT CreateTuneRequest(
163*c2c66affSColin Finck        [out] ITuneRequest **TuneRequest);
164*c2c66affSColin Finck
165*c2c66affSColin Finck    HRESULT EnumCategoryGUIDs(
166*c2c66affSColin Finck        [out] IEnumGUID **ppEnum);
167*c2c66affSColin Finck
168*c2c66affSColin Finck    HRESULT EnumDeviceMonikers(
169*c2c66affSColin Finck        [out] IEnumMoniker **ppEnum);
170*c2c66affSColin Finck
171*c2c66affSColin Finck    HRESULT get_DefaultPreferredComponentTypes(
172*c2c66affSColin Finck        [out] IComponentTypes** ComponentTypes);
173*c2c66affSColin Finck
174*c2c66affSColin Finck    HRESULT put_DefaultPreferredComponentTypes(
175*c2c66affSColin Finck        [in] IComponentTypes* NewComponentTypes);
176*c2c66affSColin Finck
177*c2c66affSColin Finck    HRESULT get_FrequencyMapping(
178*c2c66affSColin Finck        [out] BSTR *pMapping);
179*c2c66affSColin Finck
180*c2c66affSColin Finck    HRESULT put_FrequencyMapping(
181*c2c66affSColin Finck        BSTR Mapping);
182*c2c66affSColin Finck
183*c2c66affSColin Finck    HRESULT get_DefaultLocator(
184*c2c66affSColin Finck        [out] ILocator **LocatorVal);
185*c2c66affSColin Finck
186*c2c66affSColin Finck    HRESULT put_DefaultLocator(
187*c2c66affSColin Finck        [in]ILocator *LocatorVal);
188*c2c66affSColin Finck
189*c2c66affSColin Finck    HRESULT Clone(
190*c2c66affSColin Finck        [out] ITuningSpace **NewTS);
191*c2c66affSColin Finck}
192*c2c66affSColin Finck
193*c2c66affSColin Finck[
194*c2c66affSColin Finck    hidden,
195*c2c66affSColin Finck    restricted,
196*c2c66affSColin Finck    object,
197*c2c66affSColin Finck    uuid(8B8EB248-FC2B-11d2-9D8C-00C04F72D980),
198*c2c66affSColin Finck    pointer_default(unique)
199*c2c66affSColin Finck]
200*c2c66affSColin Finckinterface IEnumTuningSpaces : IUnknown
201*c2c66affSColin Finck{
202*c2c66affSColin Finck    HRESULT Next(
203*c2c66affSColin Finck        [in] ULONG celt,
204*c2c66affSColin Finck        [in, out]ITuningSpace** rgelt,
205*c2c66affSColin Finck        [out] ULONG* pceltFetched);
206*c2c66affSColin Finck
207*c2c66affSColin Finck    HRESULT Skip(
208*c2c66affSColin Finck        [in] ULONG celt);
209*c2c66affSColin Finck
210*c2c66affSColin Finck    HRESULT Reset();
211*c2c66affSColin Finck
212*c2c66affSColin Finck    HRESULT Clone(
213*c2c66affSColin Finck        [out] IEnumTuningSpaces** ppEnum);
214*c2c66affSColin Finck}
215*c2c66affSColin Finck
216*c2c66affSColin Finck[
217*c2c66affSColin Finck    object,
218*c2c66affSColin Finck    hidden,
219*c2c66affSColin Finck    dual,
220*c2c66affSColin Finck    oleautomation,
221*c2c66affSColin Finck    nonextensible,
222*c2c66affSColin Finck    uuid(ADA0B268-3B19-4e5b-ACC4-49F852BE13BA),
223*c2c66affSColin Finck    pointer_default(unique)
224*c2c66affSColin Finck]
225*c2c66affSColin Finckinterface IDVBTuningSpace : ITuningSpace
226*c2c66affSColin Finck{
227*c2c66affSColin Finck    HRESULT get_SystemType(
228*c2c66affSColin Finck        [out] DVBSystemType *SysType);
229*c2c66affSColin Finck
230*c2c66affSColin Finck    HRESULT put_SystemType(
231*c2c66affSColin Finck        [in] DVBSystemType SysType);
232*c2c66affSColin Finck}
233*c2c66affSColin Finck
234*c2c66affSColin Finck[
235*c2c66affSColin Finck    object,
236*c2c66affSColin Finck    hidden,
237*c2c66affSColin Finck    dual,
238*c2c66affSColin Finck    oleautomation,
239*c2c66affSColin Finck    nonextensible,
240*c2c66affSColin Finck    uuid(843188B4-CE62-43db-966B-8145A094E040),
241*c2c66affSColin Finck    pointer_default(unique)
242*c2c66affSColin Finck]
243*c2c66affSColin Finckinterface IDVBTuningSpace2 : IDVBTuningSpace
244*c2c66affSColin Finck{
245*c2c66affSColin Finck    HRESULT get_NetworkID(
246*c2c66affSColin Finck        [out] long *NetworkID);
247*c2c66affSColin Finck
248*c2c66affSColin Finck    HRESULT put_NetworkID(
249*c2c66affSColin Finck        [in] long NetworkID);
250*c2c66affSColin Finck}
251*c2c66affSColin Finck
252*c2c66affSColin Finck[
253*c2c66affSColin Finck    object,
254*c2c66affSColin Finck    hidden,
255*c2c66affSColin Finck    dual,
256*c2c66affSColin Finck    oleautomation,
257*c2c66affSColin Finck    nonextensible,
258*c2c66affSColin Finck    uuid(CDF7BE60-D954-42fd-A972-78971958E470),
259*c2c66affSColin Finck    pointer_default(unique)
260*c2c66affSColin Finck]
261*c2c66affSColin Finckinterface IDVBSTuningSpace : IDVBTuningSpace2
262*c2c66affSColin Finck{
263*c2c66affSColin Finck
264*c2c66affSColin Finck    HRESULT get_LowOscillator(
265*c2c66affSColin Finck        [out] long *LowOscillator);
266*c2c66affSColin Finck
267*c2c66affSColin Finck    HRESULT put_LowOscillator(
268*c2c66affSColin Finck        [in] long LowOscillator);
269*c2c66affSColin Finck
270*c2c66affSColin Finck    HRESULT get_HighOscillator(
271*c2c66affSColin Finck        [out] long *HighOscillator);
272*c2c66affSColin Finck
273*c2c66affSColin Finck    HRESULT put_HighOscillator(
274*c2c66affSColin Finck        [in] long HighOscillator);
275*c2c66affSColin Finck
276*c2c66affSColin Finck    HRESULT get_LNBSwitch(
277*c2c66affSColin Finck        [out] long *LNBSwitch);
278*c2c66affSColin Finck
279*c2c66affSColin Finck    HRESULT put_LNBSwitch(
280*c2c66affSColin Finck        [in] long LNBSwitch);
281*c2c66affSColin Finck
282*c2c66affSColin Finck    HRESULT get_InputRange(
283*c2c66affSColin Finck        [out] BSTR *InputRange);
284*c2c66affSColin Finck
285*c2c66affSColin Finck    HRESULT put_InputRange(
286*c2c66affSColin Finck        [in] BSTR InputRange);
287*c2c66affSColin Finck
288*c2c66affSColin Finck    HRESULT get_SpectralInversion(
289*c2c66affSColin Finck        [out] SpectralInversion *SpectralInversionVal);
290*c2c66affSColin Finck
291*c2c66affSColin Finck    HRESULT put_SpectralInversion(
292*c2c66affSColin Finck        [in] SpectralInversion SpectralInversionVal);
293*c2c66affSColin Finck}
294*c2c66affSColin Finck
295*c2c66affSColin Finck[
296*c2c66affSColin Finck    object,
297*c2c66affSColin Finck    hidden,
298*c2c66affSColin Finck    dual,
299*c2c66affSColin Finck    oleautomation,
300*c2c66affSColin Finck    nonextensible,
301*c2c66affSColin Finck    uuid(E48244B8-7E17-4f76-A763-5090FF1E2F30),
302*c2c66affSColin Finck    pointer_default(unique)
303*c2c66affSColin Finck]
304*c2c66affSColin Finckinterface IAuxInTuningSpace : ITuningSpace
305*c2c66affSColin Finck{
306*c2c66affSColin Finck}
307*c2c66affSColin Finck
308*c2c66affSColin Finck[
309*c2c66affSColin Finck    object,
310*c2c66affSColin Finck    hidden,
311*c2c66affSColin Finck    dual,
312*c2c66affSColin Finck    oleautomation,
313*c2c66affSColin Finck    nonextensible,
314*c2c66affSColin Finck    uuid(B10931ED-8BFE-4AB0-9DCE-E469C29A9729),
315*c2c66affSColin Finck    pointer_default(unique)
316*c2c66affSColin Finck]
317*c2c66affSColin Finckinterface IAuxInTuningSpace2 : IAuxInTuningSpace
318*c2c66affSColin Finck{
319*c2c66affSColin Finck    HRESULT get_CountryCode([out] long *CountryCodeVal);
320*c2c66affSColin Finck
321*c2c66affSColin Finck    HRESULT put_CountryCode([in] long NewCountryCodeVal);
322*c2c66affSColin Finck}
323*c2c66affSColin Finck
324*c2c66affSColin Finck[
325*c2c66affSColin Finck    object,
326*c2c66affSColin Finck    hidden,
327*c2c66affSColin Finck    dual,
328*c2c66affSColin Finck    oleautomation,
329*c2c66affSColin Finck    nonextensible,
330*c2c66affSColin Finck    uuid(2A6E293C-2595-11d3-B64C-00C04F79498E),
331*c2c66affSColin Finck    pointer_default(unique)
332*c2c66affSColin Finck]
333*c2c66affSColin Finckinterface IAnalogTVTuningSpace : ITuningSpace
334*c2c66affSColin Finck{
335*c2c66affSColin Finck    HRESULT get_MinChannel(
336*c2c66affSColin Finck        [out] long *MinChannelVal);
337*c2c66affSColin Finck
338*c2c66affSColin Finck    HRESULT put_MinChannel(
339*c2c66affSColin Finck        [in] long NewMinChannelVal);
340*c2c66affSColin Finck
341*c2c66affSColin Finck    HRESULT get_MaxChannel(
342*c2c66affSColin Finck        [out] long *MaxChannelVal);
343*c2c66affSColin Finck
344*c2c66affSColin Finck    HRESULT put_MaxChannel(
345*c2c66affSColin Finck        [in] long NewMaxChannelVal);
346*c2c66affSColin Finck
347*c2c66affSColin Finck    HRESULT get_InputType(
348*c2c66affSColin Finck        [out] TunerInputType *InputTypeVal);
349*c2c66affSColin Finck
350*c2c66affSColin Finck    HRESULT put_InputType(
351*c2c66affSColin Finck        [in] TunerInputType NewInputTypeVal);
352*c2c66affSColin Finck
353*c2c66affSColin Finck    HRESULT get_CountryCode(
354*c2c66affSColin Finck        [out] long *CountryCodeVal);
355*c2c66affSColin Finck
356*c2c66affSColin Finck    HRESULT put_CountryCode(
357*c2c66affSColin Finck        [in] long NewCountryCodeVal);
358*c2c66affSColin Finck}
359*c2c66affSColin Finck
360*c2c66affSColin Finck[
361*c2c66affSColin Finck    object,
362*c2c66affSColin Finck    hidden,
363*c2c66affSColin Finck    dual,
364*c2c66affSColin Finck    oleautomation,
365*c2c66affSColin Finck    nonextensible,
366*c2c66affSColin Finck    uuid(0369B4E2-45B6-11d3-B650-00C04F79498E),
367*c2c66affSColin Finck    pointer_default(unique)
368*c2c66affSColin Finck]
369*c2c66affSColin Finckinterface IATSCTuningSpace : IAnalogTVTuningSpace
370*c2c66affSColin Finck{
371*c2c66affSColin Finck    HRESULT get_MinMinorChannel(
372*c2c66affSColin Finck        [out] long *MinMinorChannelVal);
373*c2c66affSColin Finck
374*c2c66affSColin Finck    HRESULT put_MinMinorChannel(
375*c2c66affSColin Finck        [in] long NewMinMinorChannelVal);
376*c2c66affSColin Finck
377*c2c66affSColin Finck    HRESULT get_MaxMinorChannel(
378*c2c66affSColin Finck        [out] long *MaxMinorChannelVal);
379*c2c66affSColin Finck
380*c2c66affSColin Finck    HRESULT put_MaxMinorChannel(
381*c2c66affSColin Finck        [in] long NewMaxMinorChannelVal);
382*c2c66affSColin Finck
383*c2c66affSColin Finck    HRESULT get_MinPhysicalChannel(
384*c2c66affSColin Finck        [out] long *MinPhysicalChannelVal);
385*c2c66affSColin Finck
386*c2c66affSColin Finck    HRESULT put_MinPhysicalChannel(
387*c2c66affSColin Finck        [in] long NewMinPhysicalChannelVal);
388*c2c66affSColin Finck
389*c2c66affSColin Finck    HRESULT get_MaxPhysicalChannel(
390*c2c66affSColin Finck        [out] long *MaxPhysicalChannelVal);
391*c2c66affSColin Finck
392*c2c66affSColin Finck    HRESULT put_MaxPhysicalChannel(
393*c2c66affSColin Finck        [in] long NewMaxPhysicalChannelVal);
394*c2c66affSColin Finck}
395*c2c66affSColin Finck
396*c2c66affSColin Finck[
397*c2c66affSColin Finck    object,
398*c2c66affSColin Finck    hidden,
399*c2c66affSColin Finck    dual,
400*c2c66affSColin Finck    oleautomation,
401*c2c66affSColin Finck    nonextensible,
402*c2c66affSColin Finck    uuid(013F9F9C-B449-4ec7-A6D2-9D4F2FC70AE5),
403*c2c66affSColin Finck    pointer_default(unique)
404*c2c66affSColin Finck]
405*c2c66affSColin Finckinterface IDigitalCableTuningSpace : IATSCTuningSpace
406*c2c66affSColin Finck{
407*c2c66affSColin Finck    HRESULT get_MinMajorChannel(
408*c2c66affSColin Finck        [out] long *MinMajorChannelVal);
409*c2c66affSColin Finck
410*c2c66affSColin Finck    HRESULT put_MinMajorChannel(
411*c2c66affSColin Finck        [in] long NewMinMajorChannelVal);
412*c2c66affSColin Finck
413*c2c66affSColin Finck    HRESULT get_MaxMajorChannel(
414*c2c66affSColin Finck        [out] long *MaxMajorChannelVal);
415*c2c66affSColin Finck
416*c2c66affSColin Finck    HRESULT put_MaxMajorChannel(
417*c2c66affSColin Finck        [in] long NewMaxMajorChannelVal);
418*c2c66affSColin Finck
419*c2c66affSColin Finck    HRESULT get_MinSourceID(
420*c2c66affSColin Finck        [out] long *MinSourceIDVal);
421*c2c66affSColin Finck
422*c2c66affSColin Finck    HRESULT put_MinSourceID(
423*c2c66affSColin Finck        [in] long NewMinSourceIDVal);
424*c2c66affSColin Finck
425*c2c66affSColin Finck    HRESULT get_MaxSourceID(
426*c2c66affSColin Finck        [out] long *MaxSourceIDVal);
427*c2c66affSColin Finck
428*c2c66affSColin Finck    HRESULT put_MaxSourceID(
429*c2c66affSColin Finck        [in] long NewMaxSourceIDVal);
430*c2c66affSColin Finck}
431*c2c66affSColin Finck
432*c2c66affSColin Finck[
433*c2c66affSColin Finck    object,
434*c2c66affSColin Finck    hidden,
435*c2c66affSColin Finck    dual,
436*c2c66affSColin Finck    oleautomation,
437*c2c66affSColin Finck    nonextensible,
438*c2c66affSColin Finck    uuid(2A6E293B-2595-11d3-B64C-00C04F79498E),
439*c2c66affSColin Finck    pointer_default(unique)
440*c2c66affSColin Finck]
441*c2c66affSColin Finckinterface IAnalogRadioTuningSpace : ITuningSpace
442*c2c66affSColin Finck{
443*c2c66affSColin Finck    HRESULT get_MinFrequency(
444*c2c66affSColin Finck        [out] long *MinFrequencyVal);
445*c2c66affSColin Finck
446*c2c66affSColin Finck    HRESULT put_MinFrequency(
447*c2c66affSColin Finck        [in] long NewMinFrequencyVal);
448*c2c66affSColin Finck
449*c2c66affSColin Finck    HRESULT get_MaxFrequency(
450*c2c66affSColin Finck        [out] long *MaxFrequencyVal);
451*c2c66affSColin Finck
452*c2c66affSColin Finck    HRESULT put_MaxFrequency(
453*c2c66affSColin Finck        [in] long NewMaxFrequencyVal);
454*c2c66affSColin Finck
455*c2c66affSColin Finck    HRESULT get_Step(
456*c2c66affSColin Finck        [out] long *StepVal);
457*c2c66affSColin Finck
458*c2c66affSColin Finck    HRESULT put_Step(
459*c2c66affSColin Finck        [in] long NewStepVal);
460*c2c66affSColin Finck}
461*c2c66affSColin Finck
462*c2c66affSColin Finck[
463*c2c66affSColin Finck    object,
464*c2c66affSColin Finck    hidden,
465*c2c66affSColin Finck    dual,
466*c2c66affSColin Finck    oleautomation,
467*c2c66affSColin Finck    nonextensible,
468*c2c66affSColin Finck    uuid(39DD45DA-2DA8-46BA-8A8A-87E2B73D983A),
469*c2c66affSColin Finck    pointer_default(unique)
470*c2c66affSColin Finck]
471*c2c66affSColin Finckinterface IAnalogRadioTuningSpace2 : IAnalogRadioTuningSpace {
472*c2c66affSColin Finck    HRESULT get_CountryCode([out] long *CountryCodeVal);
473*c2c66affSColin Finck    HRESULT put_CountryCode([in] long NewCountryCodeVal);
474*c2c66affSColin Finck}
475*c2c66affSColin Finck[
476*c2c66affSColin Finck    object,
477*c2c66affSColin Finck    nonextensible,
478*c2c66affSColin Finck    uuid(07DDC146-FC3D-11d2-9D8C-00C04F72D980),
479*c2c66affSColin Finck    dual,
480*c2c66affSColin Finck    oleautomation,
481*c2c66affSColin Finck    pointer_default(unique)
482*c2c66affSColin Finck]
483*c2c66affSColin Finckinterface ITuneRequest : IDispatch
484*c2c66affSColin Finck{
485*c2c66affSColin Finck    HRESULT get_TuningSpace(
486*c2c66affSColin Finck        [out] ITuningSpace **TuningSpace);
487*c2c66affSColin Finck
488*c2c66affSColin Finck    HRESULT get_Components(
489*c2c66affSColin Finck        [out] IComponents **Components);
490*c2c66affSColin Finck
491*c2c66affSColin Finck    HRESULT Clone(
492*c2c66affSColin Finck        [out] ITuneRequest **NewTuneRequest);
493*c2c66affSColin Finck
494*c2c66affSColin Finck    HRESULT get_Locator(
495*c2c66affSColin Finck        [out] ILocator **Locator);
496*c2c66affSColin Finck
497*c2c66affSColin Finck    HRESULT put_Locator(
498*c2c66affSColin Finck        [in] ILocator *Locator);
499*c2c66affSColin Finck}
500*c2c66affSColin Finck
501*c2c66affSColin Finck[
502*c2c66affSColin Finck    object,
503*c2c66affSColin Finck    nonextensible,
504*c2c66affSColin Finck    uuid(0369B4E0-45B6-11d3-B650-00C04F79498E),
505*c2c66affSColin Finck    dual,
506*c2c66affSColin Finck    oleautomation,
507*c2c66affSColin Finck    pointer_default(unique)
508*c2c66affSColin Finck]
509*c2c66affSColin Finckinterface IChannelTuneRequest : ITuneRequest
510*c2c66affSColin Finck{
511*c2c66affSColin Finck    HRESULT get_Channel(
512*c2c66affSColin Finck        [out] long *Channel);
513*c2c66affSColin Finck
514*c2c66affSColin Finck    HRESULT put_Channel(
515*c2c66affSColin Finck        [in] long Channel);
516*c2c66affSColin Finck}
517*c2c66affSColin Finck
518*c2c66affSColin Finck[
519*c2c66affSColin Finck    object,
520*c2c66affSColin Finck    nonextensible,
521*c2c66affSColin Finck    uuid(0369B4E1-45B6-11d3-B650-00C04F79498E),
522*c2c66affSColin Finck    dual,
523*c2c66affSColin Finck    oleautomation,
524*c2c66affSColin Finck    pointer_default(unique)
525*c2c66affSColin Finck]
526*c2c66affSColin Finckinterface IATSCChannelTuneRequest : IChannelTuneRequest
527*c2c66affSColin Finck{
528*c2c66affSColin Finck    HRESULT get_MinorChannel(
529*c2c66affSColin Finck        [out] long *MinorChannel);
530*c2c66affSColin Finck
531*c2c66affSColin Finck    HRESULT put_MinorChannel(
532*c2c66affSColin Finck        [in] long MinorChannel);
533*c2c66affSColin Finck}
534*c2c66affSColin Finck
535*c2c66affSColin Finck[
536*c2c66affSColin Finck    object,
537*c2c66affSColin Finck    nonextensible,
538*c2c66affSColin Finck    uuid(BAD7753B-6B37-4810-AE57-3CE0C4A9E6CB),
539*c2c66affSColin Finck    dual,
540*c2c66affSColin Finck    oleautomation,
541*c2c66affSColin Finck    pointer_default(unique)
542*c2c66affSColin Finck]
543*c2c66affSColin Finckinterface IDigitalCableTuneRequest : IATSCChannelTuneRequest
544*c2c66affSColin Finck{
545*c2c66affSColin Finck    HRESULT get_MajorChannel(
546*c2c66affSColin Finck        [out] long *pMajorChannel);
547*c2c66affSColin Finck
548*c2c66affSColin Finck    HRESULT put_MajorChannel(
549*c2c66affSColin Finck        [in] long MajorChannel);
550*c2c66affSColin Finck
551*c2c66affSColin Finck    HRESULT get_SourceID(
552*c2c66affSColin Finck        [out] long *pSourceID);
553*c2c66affSColin Finck
554*c2c66affSColin Finck    HRESULT put_SourceID(
555*c2c66affSColin Finck        [in] long SourceID);
556*c2c66affSColin Finck}
557*c2c66affSColin Finck
558*c2c66affSColin Finck
559*c2c66affSColin Finck[
560*c2c66affSColin Finck    object,
561*c2c66affSColin Finck    nonextensible,
562*c2c66affSColin Finck    uuid(0D6F567E-A636-42bb-83BA-CE4C1704AFA2),
563*c2c66affSColin Finck    dual,
564*c2c66affSColin Finck    oleautomation,
565*c2c66affSColin Finck    pointer_default(unique)
566*c2c66affSColin Finck]
567*c2c66affSColin Finckinterface IDVBTuneRequest : ITuneRequest
568*c2c66affSColin Finck{
569*c2c66affSColin Finck    HRESULT get_ONID(
570*c2c66affSColin Finck        [out] long *ONID);
571*c2c66affSColin Finck
572*c2c66affSColin Finck    HRESULT put_ONID(
573*c2c66affSColin Finck        [in] long ONID);
574*c2c66affSColin Finck
575*c2c66affSColin Finck    HRESULT get_TSID(
576*c2c66affSColin Finck        [out] long *TSID);
577*c2c66affSColin Finck
578*c2c66affSColin Finck    HRESULT put_TSID(
579*c2c66affSColin Finck        [in] long TSID);
580*c2c66affSColin Finck
581*c2c66affSColin Finck    HRESULT get_SID(
582*c2c66affSColin Finck        [out] long *SID);
583*c2c66affSColin Finck
584*c2c66affSColin Finck    HRESULT put_SID(
585*c2c66affSColin Finck        [in] long SID);
586*c2c66affSColin Finck}
587*c2c66affSColin Finck
588*c2c66affSColin Finck[
589*c2c66affSColin Finck    object,
590*c2c66affSColin Finck    nonextensible,
591*c2c66affSColin Finck    uuid(EB7D987F-8A01-42ad-B8AE-574DEEE44D1A),
592*c2c66affSColin Finck    dual,
593*c2c66affSColin Finck    oleautomation,
594*c2c66affSColin Finck    pointer_default(unique)
595*c2c66affSColin Finck]
596*c2c66affSColin Finckinterface IMPEG2TuneRequest : ITuneRequest
597*c2c66affSColin Finck{
598*c2c66affSColin Finck    HRESULT get_TSID(
599*c2c66affSColin Finck        [out] long *TSID);
600*c2c66affSColin Finck
601*c2c66affSColin Finck    HRESULT put_TSID(
602*c2c66affSColin Finck        [in] long TSID);
603*c2c66affSColin Finck
604*c2c66affSColin Finck    HRESULT get_ProgNo(
605*c2c66affSColin Finck        [out] long *ProgNo);
606*c2c66affSColin Finck
607*c2c66affSColin Finck    HRESULT put_ProgNo(
608*c2c66affSColin Finck        [in] long ProgNo);
609*c2c66affSColin Finck}
610*c2c66affSColin Finck
611*c2c66affSColin Finck[
612*c2c66affSColin Finck    object,
613*c2c66affSColin Finck    nonextensible,
614*c2c66affSColin Finck    hidden,
615*c2c66affSColin Finck    uuid(14E11ABD-EE37-4893-9EA1-6964DE933E39),
616*c2c66affSColin Finck    dual,
617*c2c66affSColin Finck    oleautomation,
618*c2c66affSColin Finck    pointer_default(unique)
619*c2c66affSColin Finck]
620*c2c66affSColin Finckinterface IMPEG2TuneRequestFactory : IDispatch
621*c2c66affSColin Finck{
622*c2c66affSColin Finck    HRESULT CreateTuneRequest(
623*c2c66affSColin Finck        [in] ITuningSpace *TuningSpace,
624*c2c66affSColin Finck        [out] IMPEG2TuneRequest **TuneRequest);
625*c2c66affSColin Finck}
626*c2c66affSColin Finck
627*c2c66affSColin Finck[
628*c2c66affSColin Finck    object,
629*c2c66affSColin Finck    hidden,
630*c2c66affSColin Finck    restricted,
631*c2c66affSColin Finck    nonextensible,
632*c2c66affSColin Finck    uuid(1B9D5FC3-5BBC-4b6c-BB18-B9D10E3EEEBF),
633*c2c66affSColin Finck    pointer_default(unique)
634*c2c66affSColin Finck]
635*c2c66affSColin Finckinterface IMPEG2TuneRequestSupport : IUnknown
636*c2c66affSColin Finck{
637*c2c66affSColin Finck}
638*c2c66affSColin Finck
639*c2c66affSColin Finck[
640*c2c66affSColin Finck    object,
641*c2c66affSColin Finck    hidden,
642*c2c66affSColin Finck    nonextensible,
643*c2c66affSColin Finck    uuid(E60DFA45-8D56-4e65-A8AB-D6BE9412C249),
644*c2c66affSColin Finck    pointer_default(unique)
645*c2c66affSColin Finck]
646*c2c66affSColin Finckinterface ITunerCap : IUnknown
647*c2c66affSColin Finck{
648*c2c66affSColin Finck    HRESULT get_SupportedNetworkTypes(
649*c2c66affSColin Finck        [in] ULONG ulcNetworkTypesMax,
650*c2c66affSColin Finck        [out] ULONG *pulcNetworkTypes,
651*c2c66affSColin Finck        [in, out] GUID *pguidNetworkTypes);
652*c2c66affSColin Finck
653*c2c66affSColin Finck    HRESULT get_SupportedVideoFormats(
654*c2c66affSColin Finck        [out] ULONG *pulAMTunerModeType,
655*c2c66affSColin Finck        [out] ULONG *pulAnalogVideoStandard);
656*c2c66affSColin Finck
657*c2c66affSColin Finck    HRESULT get_AuxInputCount(
658*c2c66affSColin Finck        [in, out] ULONG *pulCompositeCount,
659*c2c66affSColin Finck        [in, out] ULONG *pulSvideoCount);
660*c2c66affSColin Finck}
661*c2c66affSColin Finck
662*c2c66affSColin Finck[
663*c2c66affSColin Finck    object,
664*c2c66affSColin Finck    hidden,
665*c2c66affSColin Finck    nonextensible,
666*c2c66affSColin Finck    uuid(28C52640-018A-11d3-9D8E-00C04F72D980),
667*c2c66affSColin Finck    pointer_default(unique)
668*c2c66affSColin Finck]
669*c2c66affSColin Finckinterface ITuner : IUnknown
670*c2c66affSColin Finck{
671*c2c66affSColin Finck    HRESULT get_TuningSpace(
672*c2c66affSColin Finck        [out] ITuningSpace **TuningSpace);
673*c2c66affSColin Finck
674*c2c66affSColin Finck    HRESULT put_TuningSpace(
675*c2c66affSColin Finck        [in] ITuningSpace *TuningSpace);
676*c2c66affSColin Finck
677*c2c66affSColin Finck    HRESULT EnumTuningSpaces(
678*c2c66affSColin Finck        [out] IEnumTuningSpaces **ppEnum);
679*c2c66affSColin Finck
680*c2c66affSColin Finck    HRESULT get_TuneRequest(
681*c2c66affSColin Finck        [out] ITuneRequest **TuneRequest);
682*c2c66affSColin Finck
683*c2c66affSColin Finck    HRESULT put_TuneRequest(
684*c2c66affSColin Finck        [in] ITuneRequest *TuneRequest);
685*c2c66affSColin Finck
686*c2c66affSColin Finck    HRESULT Validate(
687*c2c66affSColin Finck        [in] ITuneRequest *TuneRequest);
688*c2c66affSColin Finck
689*c2c66affSColin Finck    HRESULT get_PreferredComponentTypes(
690*c2c66affSColin Finck        [out] IComponentTypes **ComponentTypes);
691*c2c66affSColin Finck
692*c2c66affSColin Finck    HRESULT put_PreferredComponentTypes(
693*c2c66affSColin Finck        [in] IComponentTypes *ComponentTypes);
694*c2c66affSColin Finck
695*c2c66affSColin Finck    HRESULT get_SignalStrength(
696*c2c66affSColin Finck        [out] long *Strength);
697*c2c66affSColin Finck
698*c2c66affSColin Finck    HRESULT TriggerSignalEvents(
699*c2c66affSColin Finck        [in] long Interval);
700*c2c66affSColin Finck}
701*c2c66affSColin Finck
702*c2c66affSColin Finck[
703*c2c66affSColin Finck    object,
704*c2c66affSColin Finck    hidden,
705*c2c66affSColin Finck    nonextensible,
706*c2c66affSColin Finck    uuid(1DFD0A5C-0284-11d3-9D8E-00C04F72D980),
707*c2c66affSColin Finck    pointer_default(unique)
708*c2c66affSColin Finck]
709*c2c66affSColin Finckinterface IScanningTuner : ITuner
710*c2c66affSColin Finck{
711*c2c66affSColin Finck    HRESULT SeekUp();
712*c2c66affSColin Finck
713*c2c66affSColin Finck    HRESULT SeekDown();
714*c2c66affSColin Finck
715*c2c66affSColin Finck    HRESULT ScanUp(
716*c2c66affSColin Finck        [in] long MillisecondsPause);
717*c2c66affSColin Finck
718*c2c66affSColin Finck    HRESULT ScanDown(
719*c2c66affSColin Finck        [in] long MillisecondsPause);
720*c2c66affSColin Finck
721*c2c66affSColin Finck    HRESULT AutoProgram();
722*c2c66affSColin Finck};
723*c2c66affSColin Finck
724*c2c66affSColin Finck[
725*c2c66affSColin Finck    object,
726*c2c66affSColin Finck    hidden,
727*c2c66affSColin Finck    nonextensible,
728*c2c66affSColin Finck    uuid(04BBD195-0E2D-4593-9BD5-4F908BC33CF5),
729*c2c66affSColin Finck    pointer_default(unique)
730*c2c66affSColin Finck]
731*c2c66affSColin Finckinterface IScanningTunerEx : IScanningTuner
732*c2c66affSColin Finck{
733*c2c66affSColin Finck    HRESULT GetCurrentLocator(
734*c2c66affSColin Finck        [in]ILocator **pILocator);
735*c2c66affSColin Finck
736*c2c66affSColin Finck    HRESULT PerformExhaustiveScan(
737*c2c66affSColin Finck         [in]  long dwLowerFreq,
738*c2c66affSColin Finck         [in]  long dwHigherFreq,
739*c2c66affSColin Finck         [in]  VARIANT_BOOL bFineTune,
740*c2c66affSColin Finck         [in]  HEVENT hEvent);
741*c2c66affSColin Finck
742*c2c66affSColin Finck    HRESULT TerminateCurrentScan(
743*c2c66affSColin Finck         [out] long *pcurrentFreq);
744*c2c66affSColin Finck
745*c2c66affSColin Finck    HRESULT ResumeCurrentScan(
746*c2c66affSColin Finck         [in] HEVENT hEvent);
747*c2c66affSColin Finck
748*c2c66affSColin Finck    HRESULT GetTunerScanningCapability(
749*c2c66affSColin Finck         [out] long *HardwareAssistedScanning,
750*c2c66affSColin Finck         [out] long *NumStandardsSupported,
751*c2c66affSColin Finck         [out] GUID *BroadcastStandards);
752*c2c66affSColin Finck
753*c2c66affSColin Finck    HRESULT GetTunerStatus(
754*c2c66affSColin Finck         [out] long *SecondsLeft,
755*c2c66affSColin Finck         [out] long *CurrentLockType,
756*c2c66affSColin Finck         [out] long *AutoDetect,
757*c2c66affSColin Finck         [out] long *CurrentFreq);
758*c2c66affSColin Finck
759*c2c66affSColin Finck    HRESULT GetCurrentTunerStandardCapability(
760*c2c66affSColin Finck         [in] GUID CurrentBroadcastStandard,
761*c2c66affSColin Finck         [out] long  *SettlingTime,
762*c2c66affSColin Finck         [out] long  *TvStandardsSupported);
763*c2c66affSColin Finck
764*c2c66affSColin Finck    HRESULT SetScanSignalTypeFilter(
765*c2c66affSColin Finck        [in] long ScanModulationTypes,
766*c2c66affSColin Finck        [in] long AnalogVideoStandard);
767*c2c66affSColin Finck};
768*c2c66affSColin Finck
769*c2c66affSColin Finck[
770*c2c66affSColin Finck    object,
771*c2c66affSColin Finck    hidden,
772*c2c66affSColin Finck    nonextensible,
773*c2c66affSColin Finck    uuid(6A340DC0-0311-11d3-9D8E-00C04F72D980),
774*c2c66affSColin Finck    dual,
775*c2c66affSColin Finck    oleautomation,
776*c2c66affSColin Finck    pointer_default(unique)
777*c2c66affSColin Finck]
778*c2c66affSColin Finckinterface IComponentType : IDispatch
779*c2c66affSColin Finck{
780*c2c66affSColin Finck    HRESULT get_Category(
781*c2c66affSColin Finck        [out] ComponentCategory *Category);
782*c2c66affSColin Finck
783*c2c66affSColin Finck    HRESULT put_Category(
784*c2c66affSColin Finck        [in] ComponentCategory Category);
785*c2c66affSColin Finck
786*c2c66affSColin Finck    HRESULT get_MediaMajorType(
787*c2c66affSColin Finck        [out] BSTR *MediaMajorType);
788*c2c66affSColin Finck
789*c2c66affSColin Finck    HRESULT put_MediaMajorType(
790*c2c66affSColin Finck        [in] BSTR MediaMajorType);
791*c2c66affSColin Finck
792*c2c66affSColin Finck    HRESULT get__MediaMajorType(
793*c2c66affSColin Finck        [out] GUID* MediaMajorTypeGuid);
794*c2c66affSColin Finck
795*c2c66affSColin Finck    HRESULT put__MediaMajorType(
796*c2c66affSColin Finck        [in] REFCLSID MediaMajorTypeGuid);
797*c2c66affSColin Finck
798*c2c66affSColin Finck    HRESULT get_MediaSubType(
799*c2c66affSColin Finck        [out] BSTR *MediaSubType);
800*c2c66affSColin Finck
801*c2c66affSColin Finck    HRESULT put_MediaSubType(
802*c2c66affSColin Finck        [in] BSTR MediaSubType);
803*c2c66affSColin Finck
804*c2c66affSColin Finck    HRESULT get__MediaSubType(
805*c2c66affSColin Finck        [out] GUID* MediaSubTypeGuid);
806*c2c66affSColin Finck
807*c2c66affSColin Finck    HRESULT put__MediaSubType(
808*c2c66affSColin Finck        [in] REFCLSID MediaSubTypeGuid);
809*c2c66affSColin Finck
810*c2c66affSColin Finck    HRESULT get_MediaFormatType(
811*c2c66affSColin Finck        [out] BSTR *MediaFormatType);
812*c2c66affSColin Finck
813*c2c66affSColin Finck    HRESULT put_MediaFormatType(
814*c2c66affSColin Finck        [in] BSTR MediaFormatType);
815*c2c66affSColin Finck
816*c2c66affSColin Finck    HRESULT get__MediaFormatType(
817*c2c66affSColin Finck        [out] GUID* MediaFormatTypeGuid);
818*c2c66affSColin Finck
819*c2c66affSColin Finck    HRESULT put__MediaFormatType(
820*c2c66affSColin Finck        [in] REFCLSID MediaFormatTypeGuid);
821*c2c66affSColin Finck
822*c2c66affSColin Finck    HRESULT get_MediaType(
823*c2c66affSColin Finck        [out] AM_MEDIA_TYPE *MediaType);
824*c2c66affSColin Finck
825*c2c66affSColin Finck    HRESULT put_MediaType(
826*c2c66affSColin Finck        [in] AM_MEDIA_TYPE *MediaType);
827*c2c66affSColin Finck
828*c2c66affSColin Finck    HRESULT Clone(
829*c2c66affSColin Finck        [out] IComponentType **NewCT);
830*c2c66affSColin Finck};
831*c2c66affSColin Finck
832*c2c66affSColin Finck[
833*c2c66affSColin Finck    object,
834*c2c66affSColin Finck    hidden,
835*c2c66affSColin Finck    nonextensible,
836*c2c66affSColin Finck    uuid(B874C8BA-0FA2-11d3-9D8E-00C04F72D980),
837*c2c66affSColin Finck    dual,
838*c2c66affSColin Finck    oleautomation,
839*c2c66affSColin Finck    pointer_default(unique)
840*c2c66affSColin Finck]
841*c2c66affSColin Finckinterface ILanguageComponentType : IComponentType
842*c2c66affSColin Finck{
843*c2c66affSColin Finck    HRESULT get_LangID(
844*c2c66affSColin Finck        [out] long *LangID);
845*c2c66affSColin Finck
846*c2c66affSColin Finck    HRESULT put_LangID(
847*c2c66affSColin Finck        [in] long LangID);
848*c2c66affSColin Finck};
849*c2c66affSColin Finck
850*c2c66affSColin Finck[
851*c2c66affSColin Finck    object,
852*c2c66affSColin Finck    hidden,
853*c2c66affSColin Finck    nonextensible,
854*c2c66affSColin Finck    uuid(2C073D84-B51C-48c9-AA9F-68971E1F6E38),
855*c2c66affSColin Finck    dual,
856*c2c66affSColin Finck    oleautomation,
857*c2c66affSColin Finck    pointer_default(unique)
858*c2c66affSColin Finck]
859*c2c66affSColin Finckinterface IMPEG2ComponentType : ILanguageComponentType
860*c2c66affSColin Finck{
861*c2c66affSColin Finck    HRESULT get_StreamType(
862*c2c66affSColin Finck        [out] MPEG2StreamType *MP2StreamType);
863*c2c66affSColin Finck
864*c2c66affSColin Finck    HRESULT put_StreamType(
865*c2c66affSColin Finck        [in] MPEG2StreamType MP2StreamType);
866*c2c66affSColin Finck};
867*c2c66affSColin Finck
868*c2c66affSColin Finck
869*c2c66affSColin Finck[
870*c2c66affSColin Finck    object,
871*c2c66affSColin Finck    hidden,
872*c2c66affSColin Finck    nonextensible,
873*c2c66affSColin Finck    uuid(FC189E4D-7BD4-4125-B3B3-3A76A332CC96),
874*c2c66affSColin Finck    dual,
875*c2c66affSColin Finck    oleautomation,
876*c2c66affSColin Finck    pointer_default(unique)
877*c2c66affSColin Finck]
878*c2c66affSColin Finckinterface IATSCComponentType : IMPEG2ComponentType
879*c2c66affSColin Finck{
880*c2c66affSColin Finck    HRESULT get_Flags(
881*c2c66affSColin Finck        [out] long *Flags);
882*c2c66affSColin Finck
883*c2c66affSColin Finck    HRESULT put_Flags(
884*c2c66affSColin Finck        [in] long flags);
885*c2c66affSColin Finck};
886*c2c66affSColin Finck
887*c2c66affSColin Finck[
888*c2c66affSColin Finck    hidden, restricted,
889*c2c66affSColin Finck    object,
890*c2c66affSColin Finck    uuid(8A674B4A-1F63-11d3-B64C-00C04F79498E),
891*c2c66affSColin Finck    pointer_default(unique)
892*c2c66affSColin Finck]
893*c2c66affSColin Finckinterface IEnumComponentTypes : IUnknown
894*c2c66affSColin Finck{
895*c2c66affSColin Finck    HRESULT Next(
896*c2c66affSColin Finck        [in] ULONG celt,
897*c2c66affSColin Finck        [in, out]IComponentType** rgelt,
898*c2c66affSColin Finck        [out] ULONG* pceltFetched);
899*c2c66affSColin Finck
900*c2c66affSColin Finck    HRESULT Skip(
901*c2c66affSColin Finck        [in] ULONG celt);
902*c2c66affSColin Finck
903*c2c66affSColin Finck    HRESULT Reset(void);
904*c2c66affSColin Finck
905*c2c66affSColin Finck    HRESULT Clone(
906*c2c66affSColin Finck        [out] IEnumComponentTypes** ppEnum);
907*c2c66affSColin Finck}
908*c2c66affSColin Finck
909*c2c66affSColin Finck[
910*c2c66affSColin Finck    object,
911*c2c66affSColin Finck    hidden,
912*c2c66affSColin Finck    nonextensible,
913*c2c66affSColin Finck    uuid(0DC13D4A-0313-11d3-9D8E-00C04F72D980),
914*c2c66affSColin Finck    dual,
915*c2c66affSColin Finck    oleautomation,
916*c2c66affSColin Finck    pointer_default(unique)
917*c2c66affSColin Finck]
918*c2c66affSColin Finckinterface IComponentTypes : IDispatch
919*c2c66affSColin Finck{
920*c2c66affSColin Finck    HRESULT get_Count(
921*c2c66affSColin Finck        [out] long *Count);
922*c2c66affSColin Finck
923*c2c66affSColin Finck    HRESULT get__NewEnum(
924*c2c66affSColin Finck        [out] IEnumVARIANT **ppNewEnum);
925*c2c66affSColin Finck
926*c2c66affSColin Finck    HRESULT EnumComponentTypes(
927*c2c66affSColin Finck        [out] IEnumComponentTypes **ppNewEnum);
928*c2c66affSColin Finck
929*c2c66affSColin Finck    HRESULT get_Item(
930*c2c66affSColin Finck        [in] VARIANT Index,
931*c2c66affSColin Finck        [out] IComponentType **ComponentType);
932*c2c66affSColin Finck
933*c2c66affSColin Finck    HRESULT put_Item(
934*c2c66affSColin Finck        [in] VARIANT Index,
935*c2c66affSColin Finck        [in] IComponentType *ComponentType);
936*c2c66affSColin Finck
937*c2c66affSColin Finck    HRESULT Add(
938*c2c66affSColin Finck        [in] IComponentType *ComponentType,
939*c2c66affSColin Finck        [out] VARIANT *NewIndex);
940*c2c66affSColin Finck
941*c2c66affSColin Finck    HRESULT Remove(
942*c2c66affSColin Finck        [in] VARIANT Index);
943*c2c66affSColin Finck
944*c2c66affSColin Finck    HRESULT Clone([out] IComponentTypes **NewList);
945*c2c66affSColin Finck};
946*c2c66affSColin Finck
947*c2c66affSColin Finck[
948*c2c66affSColin Finck    object,
949*c2c66affSColin Finck    nonextensible,
950*c2c66affSColin Finck    uuid(1A5576FC-0E19-11d3-9D8E-00C04F72D980),
951*c2c66affSColin Finck    dual,
952*c2c66affSColin Finck    oleautomation,
953*c2c66affSColin Finck    pointer_default(unique)
954*c2c66affSColin Finck]
955*c2c66affSColin Finckinterface IComponent : IDispatch
956*c2c66affSColin Finck{
957*c2c66affSColin Finck    HRESULT get_Type(
958*c2c66affSColin Finck        [out] IComponentType** CT);
959*c2c66affSColin Finck
960*c2c66affSColin Finck    HRESULT put_Type(
961*c2c66affSColin Finck        [in] IComponentType* CT);
962*c2c66affSColin Finck
963*c2c66affSColin Finck    HRESULT get_DescLangID(
964*c2c66affSColin Finck        [out] long *LangID);
965*c2c66affSColin Finck
966*c2c66affSColin Finck    HRESULT put_DescLangID(
967*c2c66affSColin Finck        [in] long LangID);
968*c2c66affSColin Finck
969*c2c66affSColin Finck    HRESULT get_Status(
970*c2c66affSColin Finck        [out] ComponentStatus *Status);
971*c2c66affSColin Finck
972*c2c66affSColin Finck    HRESULT put_Status(
973*c2c66affSColin Finck        [in] ComponentStatus Status);
974*c2c66affSColin Finck
975*c2c66affSColin Finck    HRESULT get_Description(
976*c2c66affSColin Finck        [out] BSTR *Description);
977*c2c66affSColin Finck
978*c2c66affSColin Finck    HRESULT put_Description(
979*c2c66affSColin Finck        [in] BSTR Description);
980*c2c66affSColin Finck
981*c2c66affSColin Finck    HRESULT Clone(
982*c2c66affSColin Finck        [out] IComponent **NewComponent);
983*c2c66affSColin Finck
984*c2c66affSColin Finck};
985*c2c66affSColin Finck
986*c2c66affSColin Finck[
987*c2c66affSColin Finck    object,
988*c2c66affSColin Finck    nonextensible,
989*c2c66affSColin Finck    uuid(2CFEB2A8-1787-4A24-A941-C6EAEC39C842),
990*c2c66affSColin Finck    dual,
991*c2c66affSColin Finck    oleautomation,
992*c2c66affSColin Finck    pointer_default(unique)
993*c2c66affSColin Finck]
994*c2c66affSColin Finckinterface IAnalogAudioComponentType : IComponentType
995*c2c66affSColin Finck{
996*c2c66affSColin Finck    HRESULT get_AnalogAudioMode(
997*c2c66affSColin Finck        [out] TVAudioMode *Mode);
998*c2c66affSColin Finck
999*c2c66affSColin Finck    HRESULT put_AnalogAudioMode(
1000*c2c66affSColin Finck        [in] TVAudioMode Mode);
1001*c2c66affSColin Finck}
1002*c2c66affSColin Finck
1003*c2c66affSColin Finck[
1004*c2c66affSColin Finck    object,
1005*c2c66affSColin Finck    nonextensible,
1006*c2c66affSColin Finck    uuid(1493E353-1EB6-473c-802D-8E6B8EC9D2A9),
1007*c2c66affSColin Finck    dual,
1008*c2c66affSColin Finck    oleautomation,
1009*c2c66affSColin Finck    pointer_default(unique)
1010*c2c66affSColin Finck]
1011*c2c66affSColin Finckinterface IMPEG2Component : IComponent
1012*c2c66affSColin Finck{
1013*c2c66affSColin Finck    HRESULT get_PID(
1014*c2c66affSColin Finck        [out] long *PID);
1015*c2c66affSColin Finck
1016*c2c66affSColin Finck    HRESULT put_PID(
1017*c2c66affSColin Finck        [in] long PID);
1018*c2c66affSColin Finck
1019*c2c66affSColin Finck    HRESULT get_PCRPID(
1020*c2c66affSColin Finck        [out] long *PCRPID);
1021*c2c66affSColin Finck
1022*c2c66affSColin Finck    HRESULT put_PCRPID(
1023*c2c66affSColin Finck        [in] long PCRPID);
1024*c2c66affSColin Finck
1025*c2c66affSColin Finck    HRESULT get_ProgramNumber(
1026*c2c66affSColin Finck        [out] long *ProgramNumber);
1027*c2c66affSColin Finck
1028*c2c66affSColin Finck    HRESULT put_ProgramNumber(
1029*c2c66affSColin Finck        [in] long ProgramNumber);
1030*c2c66affSColin Finck};
1031*c2c66affSColin Finck
1032*c2c66affSColin Finck[
1033*c2c66affSColin Finck    hidden,
1034*c2c66affSColin Finck    restricted,
1035*c2c66affSColin Finck    object,
1036*c2c66affSColin Finck    uuid(2A6E2939-2595-11d3-B64C-00C04F79498E),
1037*c2c66affSColin Finck    pointer_default(unique)
1038*c2c66affSColin Finck]
1039*c2c66affSColin Finckinterface IEnumComponents : IUnknown
1040*c2c66affSColin Finck{
1041*c2c66affSColin Finck    HRESULT Next(
1042*c2c66affSColin Finck        [in] ULONG celt,
1043*c2c66affSColin Finck        [in, out]IComponent** rgelt,
1044*c2c66affSColin Finck        [out] ULONG* pceltFetched);
1045*c2c66affSColin Finck
1046*c2c66affSColin Finck    HRESULT Skip(
1047*c2c66affSColin Finck        [in] ULONG celt);
1048*c2c66affSColin Finck
1049*c2c66affSColin Finck    HRESULT Reset(void);
1050*c2c66affSColin Finck
1051*c2c66affSColin Finck    HRESULT Clone(
1052*c2c66affSColin Finck        [out] IEnumComponents** ppEnum);
1053*c2c66affSColin Finck}
1054*c2c66affSColin Finck
1055*c2c66affSColin Finck
1056*c2c66affSColin Finck
1057*c2c66affSColin Finck[
1058*c2c66affSColin Finck    object,
1059*c2c66affSColin Finck    nonextensible,
1060*c2c66affSColin Finck    uuid(39A48091-FFFE-4182-A161-3FF802640E26),
1061*c2c66affSColin Finck    dual,
1062*c2c66affSColin Finck    oleautomation,
1063*c2c66affSColin Finck    pointer_default(unique)
1064*c2c66affSColin Finck]
1065*c2c66affSColin Finckinterface IComponents : IDispatch
1066*c2c66affSColin Finck{
1067*c2c66affSColin Finck    HRESULT get_Count(
1068*c2c66affSColin Finck        [out] long *Count);
1069*c2c66affSColin Finck
1070*c2c66affSColin Finck    HRESULT get__NewEnum(
1071*c2c66affSColin Finck        [out] IEnumVARIANT **ppNewEnum);
1072*c2c66affSColin Finck
1073*c2c66affSColin Finck    HRESULT EnumComponents(
1074*c2c66affSColin Finck        [out] IEnumComponents **ppNewEnum);
1075*c2c66affSColin Finck
1076*c2c66affSColin Finck    HRESULT get_Item(
1077*c2c66affSColin Finck        [in] VARIANT Index,
1078*c2c66affSColin Finck        [out] IComponent **ppComponent);
1079*c2c66affSColin Finck
1080*c2c66affSColin Finck    HRESULT Add(
1081*c2c66affSColin Finck        [in] IComponent *Component,
1082*c2c66affSColin Finck        [out] VARIANT *NewIndex);
1083*c2c66affSColin Finck
1084*c2c66affSColin Finck    HRESULT Remove(
1085*c2c66affSColin Finck        [in] VARIANT Index);
1086*c2c66affSColin Finck
1087*c2c66affSColin Finck    HRESULT Clone(
1088*c2c66affSColin Finck        [out] IComponents **NewList);
1089*c2c66affSColin Finck
1090*c2c66affSColin Finck    HRESULT put_Item(
1091*c2c66affSColin Finck        [in] VARIANT Index,
1092*c2c66affSColin Finck        [in] IComponent *ppComponent);
1093*c2c66affSColin Finck
1094*c2c66affSColin Finck};
1095*c2c66affSColin Finck
1096*c2c66affSColin Finck[
1097*c2c66affSColin Finck    object,
1098*c2c66affSColin Finck    nonextensible,
1099*c2c66affSColin Finck    uuid(FCD01846-0E19-11d3-9D8E-00C04F72D980),
1100*c2c66affSColin Finck    dual,
1101*c2c66affSColin Finck    oleautomation,
1102*c2c66affSColin Finck    pointer_default(unique)
1103*c2c66affSColin Finck]
1104*c2c66affSColin Finckinterface IComponentsOld : IDispatch
1105*c2c66affSColin Finck{
1106*c2c66affSColin Finck    HRESULT get_Count(
1107*c2c66affSColin Finck        [out] long *Count);
1108*c2c66affSColin Finck
1109*c2c66affSColin Finck    HRESULT get__NewEnum(
1110*c2c66affSColin Finck        [out] IEnumVARIANT **ppNewEnum);
1111*c2c66affSColin Finck
1112*c2c66affSColin Finck    HRESULT EnumComponents(
1113*c2c66affSColin Finck        [out] IEnumComponents **ppNewEnum);
1114*c2c66affSColin Finck
1115*c2c66affSColin Finck    HRESULT get_Item(
1116*c2c66affSColin Finck        [in] VARIANT Index,
1117*c2c66affSColin Finck        [out] IComponent **ppComponent);
1118*c2c66affSColin Finck
1119*c2c66affSColin Finck    HRESULT Add(
1120*c2c66affSColin Finck        [in] IComponent *Component,
1121*c2c66affSColin Finck        [out] VARIANT *NewIndex);
1122*c2c66affSColin Finck
1123*c2c66affSColin Finck    HRESULT Remove(
1124*c2c66affSColin Finck        [in] VARIANT Index);
1125*c2c66affSColin Finck
1126*c2c66affSColin Finck    HRESULT Clone(
1127*c2c66affSColin Finck        [out] IComponents **NewList);
1128*c2c66affSColin Finck
1129*c2c66affSColin Finck};
1130*c2c66affSColin Finck
1131*c2c66affSColin Finck[
1132*c2c66affSColin Finck    object,
1133*c2c66affSColin Finck    nonextensible,
1134*c2c66affSColin Finck    uuid(286D7F89-760C-4F89-80C4-66841D2507AA),
1135*c2c66affSColin Finck    dual,
1136*c2c66affSColin Finck    oleautomation,
1137*c2c66affSColin Finck    pointer_default(unique)
1138*c2c66affSColin Finck]
1139*c2c66affSColin Finckinterface ILocator : IDispatch
1140*c2c66affSColin Finck{
1141*c2c66affSColin Finck
1142*c2c66affSColin Finck    HRESULT get_CarrierFrequency(
1143*c2c66affSColin Finck        [out] long* Frequency);
1144*c2c66affSColin Finck
1145*c2c66affSColin Finck    HRESULT put_CarrierFrequency(
1146*c2c66affSColin Finck        [in] long Frequency);
1147*c2c66affSColin Finck
1148*c2c66affSColin Finck    HRESULT get_InnerFEC(
1149*c2c66affSColin Finck        [out] FECMethod* FEC);
1150*c2c66affSColin Finck
1151*c2c66affSColin Finck    HRESULT put_InnerFEC(
1152*c2c66affSColin Finck        [in] FECMethod FEC);
1153*c2c66affSColin Finck
1154*c2c66affSColin Finck    HRESULT get_InnerFECRate(
1155*c2c66affSColin Finck        [out] BinaryConvolutionCodeRate* FEC);
1156*c2c66affSColin Finck
1157*c2c66affSColin Finck    HRESULT put_InnerFECRate(
1158*c2c66affSColin Finck        [in] BinaryConvolutionCodeRate FEC);
1159*c2c66affSColin Finck
1160*c2c66affSColin Finck    HRESULT get_OuterFEC(
1161*c2c66affSColin Finck        [out] FECMethod* FEC);
1162*c2c66affSColin Finck
1163*c2c66affSColin Finck    HRESULT put_OuterFEC(
1164*c2c66affSColin Finck        [in] FECMethod FEC);
1165*c2c66affSColin Finck
1166*c2c66affSColin Finck    HRESULT get_OuterFECRate(
1167*c2c66affSColin Finck        [out] BinaryConvolutionCodeRate* FEC);
1168*c2c66affSColin Finck
1169*c2c66affSColin Finck    HRESULT put_OuterFECRate(
1170*c2c66affSColin Finck        [in] BinaryConvolutionCodeRate FEC);
1171*c2c66affSColin Finck
1172*c2c66affSColin Finck    HRESULT get_Modulation(
1173*c2c66affSColin Finck        [out] ModulationType* Modulation);
1174*c2c66affSColin Finck
1175*c2c66affSColin Finck    HRESULT put_Modulation(
1176*c2c66affSColin Finck        [in] ModulationType Modulation);
1177*c2c66affSColin Finck
1178*c2c66affSColin Finck    HRESULT get_SymbolRate(
1179*c2c66affSColin Finck        [out] long* Rate);
1180*c2c66affSColin Finck
1181*c2c66affSColin Finck    HRESULT put_SymbolRate(
1182*c2c66affSColin Finck        [in] long Rate);
1183*c2c66affSColin Finck
1184*c2c66affSColin Finck    HRESULT Clone(
1185*c2c66affSColin Finck        [out] ILocator **NewLocator);
1186*c2c66affSColin Finck};
1187*c2c66affSColin Finck
1188*c2c66affSColin Finck[
1189*c2c66affSColin Finck    object,
1190*c2c66affSColin Finck    nonextensible,
1191*c2c66affSColin Finck    uuid(34D1F26B-E339-430D-ABCE-738CB48984DC),
1192*c2c66affSColin Finck    dual,
1193*c2c66affSColin Finck    oleautomation,
1194*c2c66affSColin Finck    pointer_default(unique)
1195*c2c66affSColin Finck]
1196*c2c66affSColin Finckinterface IAnalogLocator : ILocator
1197*c2c66affSColin Finck{
1198*c2c66affSColin Finck    HRESULT get_VideoStandard(
1199*c2c66affSColin Finck        [out] AnalogVideoStandard* AVS);
1200*c2c66affSColin Finck
1201*c2c66affSColin Finck    HRESULT put_VideoStandard(
1202*c2c66affSColin Finck        [in] AnalogVideoStandard AVS);
1203*c2c66affSColin Finck}
1204*c2c66affSColin Finck
1205*c2c66affSColin Finck[
1206*c2c66affSColin Finck    object,
1207*c2c66affSColin Finck    nonextensible,
1208*c2c66affSColin Finck    uuid(19B595D8-839A-47F0-96DF-4F194F3C768C),
1209*c2c66affSColin Finck    dual,
1210*c2c66affSColin Finck    oleautomation,
1211*c2c66affSColin Finck    pointer_default(unique)
1212*c2c66affSColin Finck]
1213*c2c66affSColin Finckinterface IDigitalLocator : ILocator
1214*c2c66affSColin Finck{
1215*c2c66affSColin Finck};
1216*c2c66affSColin Finck
1217*c2c66affSColin Finck[
1218*c2c66affSColin Finck    object,
1219*c2c66affSColin Finck    hidden,
1220*c2c66affSColin Finck    nonextensible,
1221*c2c66affSColin Finck    uuid(BF8D986F-8C2B-4131-94D7-4D3D9FCC21EF),
1222*c2c66affSColin Finck    dual,
1223*c2c66affSColin Finck    oleautomation,
1224*c2c66affSColin Finck    pointer_default(unique)
1225*c2c66affSColin Finck]
1226*c2c66affSColin Finckinterface IATSCLocator : IDigitalLocator
1227*c2c66affSColin Finck{
1228*c2c66affSColin Finck    HRESULT get_PhysicalChannel(
1229*c2c66affSColin Finck        [out] long *PhysicalChannel);
1230*c2c66affSColin Finck
1231*c2c66affSColin Finck    HRESULT put_PhysicalChannel(
1232*c2c66affSColin Finck        [in] long PhysicalChannel);
1233*c2c66affSColin Finck
1234*c2c66affSColin Finck    HRESULT get_TSID(
1235*c2c66affSColin Finck        [out] long *TSID);
1236*c2c66affSColin Finck
1237*c2c66affSColin Finck    HRESULT put_TSID(
1238*c2c66affSColin Finck        [in] long TSID);
1239*c2c66affSColin Finck};
1240*c2c66affSColin Finck
1241*c2c66affSColin Finck[
1242*c2c66affSColin Finck    object,
1243*c2c66affSColin Finck    hidden,
1244*c2c66affSColin Finck    nonextensible,
1245*c2c66affSColin Finck    uuid(612AA885-66CF-4090-BA0A-566F5312E4CA),
1246*c2c66affSColin Finck    dual,
1247*c2c66affSColin Finck    oleautomation,
1248*c2c66affSColin Finck    pointer_default(unique)
1249*c2c66affSColin Finck]
1250*c2c66affSColin Finckinterface IATSCLocator2 : IATSCLocator
1251*c2c66affSColin Finck{
1252*c2c66affSColin Finck    HRESULT get_ProgramNumber(
1253*c2c66affSColin Finck        [out] long *ProgramNumber);
1254*c2c66affSColin Finck
1255*c2c66affSColin Finck    HRESULT put_ProgramNumber(
1256*c2c66affSColin Finck        [in] long ProgramNumber);
1257*c2c66affSColin Finck};
1258*c2c66affSColin Finck
1259*c2c66affSColin Finck[
1260*c2c66affSColin Finck    object,
1261*c2c66affSColin Finck    hidden,
1262*c2c66affSColin Finck    nonextensible,
1263*c2c66affSColin Finck    uuid(48F66A11-171A-419A-9525-BEEECD51584C),
1264*c2c66affSColin Finck    dual,
1265*c2c66affSColin Finck    oleautomation,
1266*c2c66affSColin Finck    pointer_default(unique)
1267*c2c66affSColin Finck]
1268*c2c66affSColin Finckinterface IDigitalCableLocator : IATSCLocator2
1269*c2c66affSColin Finck{
1270*c2c66affSColin Finck}
1271*c2c66affSColin Finck
1272*c2c66affSColin Finck[
1273*c2c66affSColin Finck    object,
1274*c2c66affSColin Finck    hidden,
1275*c2c66affSColin Finck    nonextensible,
1276*c2c66affSColin Finck    uuid(8664DA16-DDA2-42ac-926A-C18F9127C302),
1277*c2c66affSColin Finck    dual,
1278*c2c66affSColin Finck    oleautomation,
1279*c2c66affSColin Finck    pointer_default(unique)
1280*c2c66affSColin Finck]
1281*c2c66affSColin Finckinterface IDVBTLocator : IDigitalLocator
1282*c2c66affSColin Finck{
1283*c2c66affSColin Finck    HRESULT get_Bandwidth(
1284*c2c66affSColin Finck        [out] long* BandWidthVal);
1285*c2c66affSColin Finck
1286*c2c66affSColin Finck    HRESULT put_Bandwidth(
1287*c2c66affSColin Finck        [in] long BandwidthVal);
1288*c2c66affSColin Finck
1289*c2c66affSColin Finck    HRESULT get_LPInnerFEC(
1290*c2c66affSColin Finck        [out] FECMethod* FEC);
1291*c2c66affSColin Finck
1292*c2c66affSColin Finck    HRESULT put_LPInnerFEC(
1293*c2c66affSColin Finck        [in] FECMethod FEC);
1294*c2c66affSColin Finck
1295*c2c66affSColin Finck    HRESULT get_LPInnerFECRate(
1296*c2c66affSColin Finck        [out] BinaryConvolutionCodeRate* FEC);
1297*c2c66affSColin Finck
1298*c2c66affSColin Finck    HRESULT put_LPInnerFECRate(
1299*c2c66affSColin Finck        [in] BinaryConvolutionCodeRate FEC);
1300*c2c66affSColin Finck
1301*c2c66affSColin Finck    HRESULT get_HAlpha(
1302*c2c66affSColin Finck        [out] HierarchyAlpha* Alpha);
1303*c2c66affSColin Finck
1304*c2c66affSColin Finck    HRESULT put_HAlpha(
1305*c2c66affSColin Finck        [in] HierarchyAlpha Alpha);
1306*c2c66affSColin Finck
1307*c2c66affSColin Finck    HRESULT get_Guard(
1308*c2c66affSColin Finck        [out] GuardInterval* GI);
1309*c2c66affSColin Finck
1310*c2c66affSColin Finck    HRESULT put_Guard(
1311*c2c66affSColin Finck        [in] GuardInterval GI);
1312*c2c66affSColin Finck
1313*c2c66affSColin Finck    HRESULT get_Mode(
1314*c2c66affSColin Finck        [out] TransmissionMode* mode);
1315*c2c66affSColin Finck
1316*c2c66affSColin Finck    HRESULT put_Mode(
1317*c2c66affSColin Finck        [in] TransmissionMode mode);
1318*c2c66affSColin Finck
1319*c2c66affSColin Finck    HRESULT get_OtherFrequencyInUse(
1320*c2c66affSColin Finck        [out] VARIANT_BOOL* OtherFrequencyInUseVal);
1321*c2c66affSColin Finck
1322*c2c66affSColin Finck    HRESULT put_OtherFrequencyInUse(
1323*c2c66affSColin Finck        [in] VARIANT_BOOL OtherFrequencyInUseVal);
1324*c2c66affSColin Finck};
1325*c2c66affSColin Finck
1326*c2c66affSColin Finck[
1327*c2c66affSColin Finck    object,
1328*c2c66affSColin Finck    hidden,
1329*c2c66affSColin Finck    nonextensible,
1330*c2c66affSColin Finck    uuid(3D7C353C-0D04-45f1-A742-F97CC1188DC8),
1331*c2c66affSColin Finck    dual,
1332*c2c66affSColin Finck    oleautomation,
1333*c2c66affSColin Finck    pointer_default(unique)
1334*c2c66affSColin Finck]
1335*c2c66affSColin Finckinterface IDVBSLocator : IDigitalLocator
1336*c2c66affSColin Finck{
1337*c2c66affSColin Finck
1338*c2c66affSColin Finck    HRESULT get_SignalPolarisation(
1339*c2c66affSColin Finck        [out] Polarisation* PolarisationVal);
1340*c2c66affSColin Finck
1341*c2c66affSColin Finck    HRESULT put_SignalPolarisation(
1342*c2c66affSColin Finck        [in] Polarisation PolarisationVal);
1343*c2c66affSColin Finck
1344*c2c66affSColin Finck    HRESULT get_WestPosition(
1345*c2c66affSColin Finck        [out] VARIANT_BOOL* WestLongitude);
1346*c2c66affSColin Finck
1347*c2c66affSColin Finck    HRESULT put_WestPosition(
1348*c2c66affSColin Finck        [in] VARIANT_BOOL WestLongitude);
1349*c2c66affSColin Finck
1350*c2c66affSColin Finck    HRESULT get_OrbitalPosition(
1351*c2c66affSColin Finck        [out] long* longitude);
1352*c2c66affSColin Finck
1353*c2c66affSColin Finck    HRESULT put_OrbitalPosition(
1354*c2c66affSColin Finck        [in] long longitude);
1355*c2c66affSColin Finck
1356*c2c66affSColin Finck    HRESULT get_Azimuth(
1357*c2c66affSColin Finck        [out] long* Azimuth);
1358*c2c66affSColin Finck
1359*c2c66affSColin Finck    HRESULT put_Azimuth(
1360*c2c66affSColin Finck        [in] long Azimuth);
1361*c2c66affSColin Finck
1362*c2c66affSColin Finck    HRESULT get_Elevation(
1363*c2c66affSColin Finck        [out] long* Elevation);
1364*c2c66affSColin Finck
1365*c2c66affSColin Finck    HRESULT put_Elevation(
1366*c2c66affSColin Finck        [in] long Elevation);
1367*c2c66affSColin Finck};
1368*c2c66affSColin Finck
1369*c2c66affSColin Finck[
1370*c2c66affSColin Finck    object,
1371*c2c66affSColin Finck    hidden,
1372*c2c66affSColin Finck    nonextensible,
1373*c2c66affSColin Finck    uuid(6E42F36E-1DD2-43c4-9F78-69D25AE39034),
1374*c2c66affSColin Finck    dual,
1375*c2c66affSColin Finck    oleautomation,
1376*c2c66affSColin Finck    pointer_default(unique)
1377*c2c66affSColin Finck]
1378*c2c66affSColin Finckinterface IDVBCLocator : IDigitalLocator
1379*c2c66affSColin Finck{
1380*c2c66affSColin Finck};
1381*c2c66affSColin Finck[
1382*c2c66affSColin Finck    object,
1383*c2c66affSColin Finck    hidden,
1384*c2c66affSColin Finck    nonextensible,
1385*c2c66affSColin Finck    uuid(3B21263F-26E8-489d-AAC4-924F7EFD9511),
1386*c2c66affSColin Finck    pointer_default(unique)
1387*c2c66affSColin Finck]
1388*c2c66affSColin Finckinterface IBroadcastEvent : IUnknown
1389*c2c66affSColin Finck{
1390*c2c66affSColin Finck    HRESULT Fire([in] GUID EventID);
1391*c2c66affSColin Finck};
1392*c2c66affSColin Finck
1393*c2c66affSColin Finck[
1394*c2c66affSColin Finck    object,
1395*c2c66affSColin Finck    hidden,
1396*c2c66affSColin Finck    nonextensible,
1397*c2c66affSColin Finck    uuid(3d9e3887-1929-423f-8021-43682de95448),
1398*c2c66affSColin Finck    pointer_default(unique)
1399*c2c66affSColin Finck]
1400*c2c66affSColin Finckinterface IBroadcastEventEx : IBroadcastEvent
1401*c2c66affSColin Finck{
1402*c2c66affSColin Finck    HRESULT FireEx(
1403*c2c66affSColin Finck        [in] GUID EventID,
1404*c2c66affSColin Finck        [in] ULONG Param1,
1405*c2c66affSColin Finck        [in] ULONG Param2,
1406*c2c66affSColin Finck        [in] ULONG Param3,
1407*c2c66affSColin Finck        [in] ULONG Param4);
1408*c2c66affSColin Finck};
1409*c2c66affSColin Finck
1410*c2c66affSColin Finck[
1411*c2c66affSColin Finck    object,
1412*c2c66affSColin Finck    hidden,
1413*c2c66affSColin Finck    nonextensible,
1414*c2c66affSColin Finck    uuid(359B3901-572C-4854-BB49-CDEF66606A25),
1415*c2c66affSColin Finck    pointer_default(unique)
1416*c2c66affSColin Finck]
1417*c2c66affSColin Finckinterface IRegisterTuner : IUnknown
1418*c2c66affSColin Finck{
1419*c2c66affSColin Finck    HRESULT Register(
1420*c2c66affSColin Finck        [in] ITuner* pTuner,
1421*c2c66affSColin Finck        [in] IGraphBuilder* pGraph);
1422*c2c66affSColin Finck
1423*c2c66affSColin Finck    HRESULT Unregister();
1424*c2c66affSColin Finck};
1425*c2c66affSColin Finck
1426*c2c66affSColin Finck[
1427*c2c66affSColin Finck    object,
1428*c2c66affSColin Finck    hidden,
1429*c2c66affSColin Finck    nonextensible,
1430*c2c66affSColin Finck    uuid(B34505E0-2F0E-497b-80BC-D43F3B24ED7F),
1431*c2c66affSColin Finck    pointer_default(unique)
1432*c2c66affSColin Finck]
1433*c2c66affSColin Finckinterface IBDAComparable : IUnknown
1434*c2c66affSColin Finck{
1435*c2c66affSColin Finck    HRESULT CompareExact(
1436*c2c66affSColin Finck       [in] IDispatch* CompareTo,
1437*c2c66affSColin Finck       [out] long* Result);
1438*c2c66affSColin Finck
1439*c2c66affSColin Finck    HRESULT CompareEquivalent(
1440*c2c66affSColin Finck       [in] IDispatch* CompareTo,
1441*c2c66affSColin Finck       [in] DWORD dwFlags,
1442*c2c66affSColin Finck       [out] long* Result);
1443*c2c66affSColin Finck
1444*c2c66affSColin Finck    HRESULT HashExact(
1445*c2c66affSColin Finck       [out] __int64* Result);
1446*c2c66affSColin Finck
1447*c2c66affSColin Finck    HRESULT HashExactIncremental(
1448*c2c66affSColin Finck       [in] __int64 PartialResult,
1449*c2c66affSColin Finck       [out] __int64* Result);
1450*c2c66affSColin Finck
1451*c2c66affSColin Finck    HRESULT HashEquivalent(
1452*c2c66affSColin Finck       [in] DWORD dwFlags,
1453*c2c66affSColin Finck       [out] __int64* Result);
1454*c2c66affSColin Finck
1455*c2c66affSColin Finck    HRESULT HashEquivalentIncremental(
1456*c2c66affSColin Finck       [in] __int64 PartialResult,
1457*c2c66affSColin Finck       [in] DWORD dwFlags,
1458*c2c66affSColin Finck       [out] __int64* Result);
1459*c2c66affSColin Finck};
1460*c2c66affSColin Finck
1461*c2c66affSColin Finck[
1462*c2c66affSColin Finck    uuid(9B085638-018E-11d3-9D8E-00C04F72D980),
1463*c2c66affSColin Finck    version(1.0),
1464*c2c66affSColin Finck]
1465*c2c66affSColin Fincklibrary TunerLib
1466*c2c66affSColin Finck{
1467*c2c66affSColin Finck    importlib("stdole2.tlb");
1468*c2c66affSColin Finck
1469*c2c66affSColin Finck[
1470*c2c66affSColin Finck    uuid(D02AAC50-027E-11d3-9D8E-00C04F72D980)
1471*c2c66affSColin Finck]
1472*c2c66affSColin Finck
1473*c2c66affSColin Finck    coclass SystemTuningSpaces
1474*c2c66affSColin Finck{
1475*c2c66affSColin Finck        [default] interface ITuningSpaceContainer;
1476*c2c66affSColin Finck};
1477*c2c66affSColin Finck
1478*c2c66affSColin Finck[
1479*c2c66affSColin Finck    noncreatable,
1480*c2c66affSColin Finck    hidden,
1481*c2c66affSColin Finck    uuid(5FFDC5E6-B83A-4b55-B6E8-C69E765FE9DB)
1482*c2c66affSColin Finck]
1483*c2c66affSColin Finck    coclass TuningSpace
1484*c2c66affSColin Finck{
1485*c2c66affSColin Finck    [default] interface ITuningSpace;
1486*c2c66affSColin Finck    interface IBDAComparable;
1487*c2c66affSColin Finck};
1488*c2c66affSColin Finck
1489*c2c66affSColin Finck
1490*c2c66affSColin Finck[
1491*c2c66affSColin Finck    uuid(A2E30750-6C3D-11d3-B653-00C04F79498E)
1492*c2c66affSColin Finck]
1493*c2c66affSColin Finck    coclass ATSCTuningSpace
1494*c2c66affSColin Finck{
1495*c2c66affSColin Finck    [default] interface IATSCTuningSpace;
1496*c2c66affSColin Finck    interface IBDAComparable;
1497*c2c66affSColin Finck};
1498*c2c66affSColin Finck
1499*c2c66affSColin Finck[
1500*c2c66affSColin Finck    uuid(D9BB4CEE-B87A-47F1-AC92-B08D9C7813FC)
1501*c2c66affSColin Finck]
1502*c2c66affSColin Finck    coclass DigitalCableTuningSpace
1503*c2c66affSColin Finck{
1504*c2c66affSColin Finck    [default] interface IDigitalCableTuningSpace;
1505*c2c66affSColin Finck    interface IBDAComparable;
1506*c2c66affSColin Finck};
1507*c2c66affSColin Finck
1508*c2c66affSColin Finck
1509*c2c66affSColin Finck[
1510*c2c66affSColin Finck    uuid(8A674B4C-1F63-11d3-B64C-00C04F79498E)
1511*c2c66affSColin Finck]
1512*c2c66affSColin Finck    coclass AnalogRadioTuningSpace
1513*c2c66affSColin Finck{
1514*c2c66affSColin Finck    [default] interface IAnalogRadioTuningSpace2;
1515*c2c66affSColin Finck    interface IAnalogRadioTuningSpace;
1516*c2c66affSColin Finck    interface IBDAComparable;
1517*c2c66affSColin Finck};
1518*c2c66affSColin Finck
1519*c2c66affSColin Finck[
1520*c2c66affSColin Finck    uuid(F9769A06-7ACA-4e39-9CFB-97BB35F0E77E)
1521*c2c66affSColin Finck]
1522*c2c66affSColin Finck    coclass AuxInTuningSpace
1523*c2c66affSColin Finck{
1524*c2c66affSColin Finck    interface IAuxInTuningSpace;
1525*c2c66affSColin Finck    [default] interface IAuxInTuningSpace2;
1526*c2c66affSColin Finck    interface IBDAComparable;
1527*c2c66affSColin Finck};
1528*c2c66affSColin Finck
1529*c2c66affSColin Finck[
1530*c2c66affSColin Finck    uuid(8A674B4D-1F63-11d3-B64C-00C04F79498E)
1531*c2c66affSColin Finck]
1532*c2c66affSColin Finck    coclass AnalogTVTuningSpace
1533*c2c66affSColin Finck{
1534*c2c66affSColin Finck    [default] interface IAnalogTVTuningSpace;
1535*c2c66affSColin Finck    interface IBDAComparable;
1536*c2c66affSColin Finck};
1537*c2c66affSColin Finck
1538*c2c66affSColin Finck[
1539*c2c66affSColin Finck    uuid(C6B14B32-76AA-4a86-A7AC-5C79AAF58DA7)
1540*c2c66affSColin Finck]
1541*c2c66affSColin Finck    coclass DVBTuningSpace
1542*c2c66affSColin Finck{
1543*c2c66affSColin Finck    [default] interface IDVBTuningSpace2;
1544*c2c66affSColin Finck    interface IDVBTuningSpace;
1545*c2c66affSColin Finck    interface IBDAComparable;
1546*c2c66affSColin Finck};
1547*c2c66affSColin Finck
1548*c2c66affSColin Finck[
1549*c2c66affSColin Finck    uuid(B64016F3-C9A2-4066-96F0-BD9563314726)
1550*c2c66affSColin Finck]
1551*c2c66affSColin Finck    coclass DVBSTuningSpace
1552*c2c66affSColin Finck{
1553*c2c66affSColin Finck    [default] interface IDVBSTuningSpace;
1554*c2c66affSColin Finck    interface IBDAComparable;
1555*c2c66affSColin Finck};
1556*c2c66affSColin Finck
1557*c2c66affSColin Finck
1558*c2c66affSColin Finck[
1559*c2c66affSColin Finck    uuid(A1A2B1C4-0E3A-11d3-9D8E-00C04F72D980)
1560*c2c66affSColin Finck]
1561*c2c66affSColin Finck    coclass ComponentTypes
1562*c2c66affSColin Finck{
1563*c2c66affSColin Finck        [default] interface IComponentTypes;
1564*c2c66affSColin Finck        };
1565*c2c66affSColin Finck
1566*c2c66affSColin Finck[
1567*c2c66affSColin Finck    uuid(823535A0-0318-11d3-9D8E-00C04F72D980)
1568*c2c66affSColin Finck]
1569*c2c66affSColin Finck    coclass ComponentType
1570*c2c66affSColin Finck{
1571*c2c66affSColin Finck        [default] interface IComponentType;
1572*c2c66affSColin Finck        };
1573*c2c66affSColin Finck
1574*c2c66affSColin Finck[
1575*c2c66affSColin Finck    uuid(1BE49F30-0E1B-11d3-9D8E-00C04F72D980)
1576*c2c66affSColin Finck]
1577*c2c66affSColin Finck    coclass LanguageComponentType
1578*c2c66affSColin Finck{
1579*c2c66affSColin Finck        [default] interface ILanguageComponentType;
1580*c2c66affSColin Finck        };
1581*c2c66affSColin Finck
1582*c2c66affSColin Finck[
1583*c2c66affSColin Finck    uuid(418008F3-CF67-4668-9628-10DC52BE1D08)
1584*c2c66affSColin Finck]
1585*c2c66affSColin Finck    coclass MPEG2ComponentType
1586*c2c66affSColin Finck{
1587*c2c66affSColin Finck        [default] interface IMPEG2ComponentType;
1588*c2c66affSColin Finck        };
1589*c2c66affSColin Finck
1590*c2c66affSColin Finck[
1591*c2c66affSColin Finck    uuid(A8DCF3D5-0780-4ef4-8A83-2CFFAACB8ACE)
1592*c2c66affSColin Finck]
1593*c2c66affSColin Finck    coclass ATSCComponentType
1594*c2c66affSColin Finck{
1595*c2c66affSColin Finck        [default] interface IATSCComponentType;
1596*c2c66affSColin Finck        };
1597*c2c66affSColin Finck
1598*c2c66affSColin Finck[
1599*c2c66affSColin Finck    hidden,
1600*c2c66affSColin Finck    uuid(809B6661-94C4-49e6-B6EC-3F0F862215AA)
1601*c2c66affSColin Finck]
1602*c2c66affSColin Finck    coclass Components
1603*c2c66affSColin Finck{
1604*c2c66affSColin Finck    [default] interface IComponents;
1605*c2c66affSColin Finck    interface IComponentsOld;
1606*c2c66affSColin Finck};
1607*c2c66affSColin Finck
1608*c2c66affSColin Finck[
1609*c2c66affSColin Finck    hidden,
1610*c2c66affSColin Finck    uuid(59DC47A8-116C-11d3-9D8E-00C04F72D980)
1611*c2c66affSColin Finck]
1612*c2c66affSColin Finck    coclass Component
1613*c2c66affSColin Finck{
1614*c2c66affSColin Finck        [default] interface IComponent;
1615*c2c66affSColin Finck        };
1616*c2c66affSColin Finck
1617*c2c66affSColin Finck[
1618*c2c66affSColin Finck    hidden,
1619*c2c66affSColin Finck    uuid(055CB2D7-2969-45cd-914B-76890722F112)
1620*c2c66affSColin Finck]
1621*c2c66affSColin Finck    coclass MPEG2Component
1622*c2c66affSColin Finck{
1623*c2c66affSColin Finck        [default] interface IMPEG2Component;
1624*c2c66affSColin Finck        };
1625*c2c66affSColin Finck
1626*c2c66affSColin Finck
1627*c2c66affSColin Finck[
1628*c2c66affSColin Finck    hidden,
1629*c2c66affSColin Finck    uuid(28AB0005-E845-4FFA-AA9B-F4665236141C)
1630*c2c66affSColin Finck]
1631*c2c66affSColin Finck    coclass AnalogAudioComponentType
1632*c2c66affSColin Finck{
1633*c2c66affSColin Finck        [default] interface IAnalogAudioComponentType;
1634*c2c66affSColin Finck        };
1635*c2c66affSColin Finck
1636*c2c66affSColin Finck[
1637*c2c66affSColin Finck    noncreatable,
1638*c2c66affSColin Finck    hidden,
1639*c2c66affSColin Finck    uuid(B46E0D38-AB35-4a06-A137-70576B01B39F)
1640*c2c66affSColin Finck]
1641*c2c66affSColin Finck    coclass TuneRequest
1642*c2c66affSColin Finck{
1643*c2c66affSColin Finck    [default] interface ITuneRequest;
1644*c2c66affSColin Finck    interface IBDAComparable;
1645*c2c66affSColin Finck};
1646*c2c66affSColin Finck
1647*c2c66affSColin Finck
1648*c2c66affSColin Finck[
1649*c2c66affSColin Finck    hidden,
1650*c2c66affSColin Finck    uuid(0369B4E5-45B6-11d3-B650-00C04F79498E)
1651*c2c66affSColin Finck]
1652*c2c66affSColin Finck    coclass ChannelTuneRequest
1653*c2c66affSColin Finck{
1654*c2c66affSColin Finck    [default] interface IChannelTuneRequest;
1655*c2c66affSColin Finck    interface IBDAComparable;
1656*c2c66affSColin Finck};
1657*c2c66affSColin Finck
1658*c2c66affSColin Finck[
1659*c2c66affSColin Finck    hidden,
1660*c2c66affSColin Finck    uuid(0369B4E6-45B6-11d3-B650-00C04F79498E)
1661*c2c66affSColin Finck]
1662*c2c66affSColin Finck    coclass ATSCChannelTuneRequest
1663*c2c66affSColin Finck{
1664*c2c66affSColin Finck    [default] interface IATSCChannelTuneRequest;
1665*c2c66affSColin Finck    interface IBDAComparable;
1666*c2c66affSColin Finck};
1667*c2c66affSColin Finck
1668*c2c66affSColin Finck[
1669*c2c66affSColin Finck    hidden,
1670*c2c66affSColin Finck    uuid(26EC0B63-AA90-458A-8DF4-5659F2C8A18A)
1671*c2c66affSColin Finck]
1672*c2c66affSColin Finck    coclass DigitalCableTuneRequest
1673*c2c66affSColin Finck{
1674*c2c66affSColin Finck    [default] interface IDigitalCableTuneRequest;
1675*c2c66affSColin Finck    interface IBDAComparable;
1676*c2c66affSColin Finck};
1677*c2c66affSColin Finck
1678*c2c66affSColin Finck
1679*c2c66affSColin Finck[
1680*c2c66affSColin Finck    hidden,
1681*c2c66affSColin Finck    uuid(0955AC62-BF2E-4cba-A2B9-A63F772D46CF)
1682*c2c66affSColin Finck]
1683*c2c66affSColin Finck    coclass MPEG2TuneRequest
1684*c2c66affSColin Finck{
1685*c2c66affSColin Finck    [default] interface IMPEG2TuneRequest;
1686*c2c66affSColin Finck    interface IBDAComparable;
1687*c2c66affSColin Finck};
1688*c2c66affSColin Finck
1689*c2c66affSColin Finck[
1690*c2c66affSColin Finck    uuid(2C63E4EB-4CEA-41b8-919C-E947EA19A77C)
1691*c2c66affSColin Finck]
1692*c2c66affSColin Finck    coclass MPEG2TuneRequestFactory
1693*c2c66affSColin Finck{
1694*c2c66affSColin Finck        [default] interface IMPEG2TuneRequestFactory;
1695*c2c66affSColin Finck};
1696*c2c66affSColin Finck
1697*c2c66affSColin Finck
1698*c2c66affSColin Finck[
1699*c2c66affSColin Finck    noncreatable,
1700*c2c66affSColin Finck    hidden,
1701*c2c66affSColin Finck    uuid(0888C883-AC4F-4943-B516-2C38D9B34562)
1702*c2c66affSColin Finck]
1703*c2c66affSColin Finck    coclass Locator
1704*c2c66affSColin Finck{
1705*c2c66affSColin Finck        [default] interface ILocator;
1706*c2c66affSColin Finck    interface IBDAComparable;
1707*c2c66affSColin Finck};
1708*c2c66affSColin Finck[
1709*c2c66affSColin Finck    noncreatable,
1710*c2c66affSColin Finck    hidden,
1711*c2c66affSColin Finck    uuid(6E50CC0D-C19B-4BF6-810B-5BD60761F5CC)
1712*c2c66affSColin Finck]
1713*c2c66affSColin Finck    coclass DigitalLocator
1714*c2c66affSColin Finck{
1715*c2c66affSColin Finck    [default] interface IDigitalLocator;
1716*c2c66affSColin Finck    interface IBDAComparable;
1717*c2c66affSColin Finck};
1718*c2c66affSColin Finck
1719*c2c66affSColin Finck[
1720*c2c66affSColin Finck    uuid(49638B91-48AB-48B7-A47A-7D0E75A08EDE)
1721*c2c66affSColin Finck]
1722*c2c66affSColin Finck    coclass AnalogLocator
1723*c2c66affSColin Finck{
1724*c2c66affSColin Finck    [default] interface IAnalogLocator;
1725*c2c66affSColin Finck    interface IBDAComparable;
1726*c2c66affSColin Finck};
1727*c2c66affSColin Finck
1728*c2c66affSColin Finck[
1729*c2c66affSColin Finck    uuid(8872FF1B-98FA-4d7a-8D93-C9F1055F85BB)
1730*c2c66affSColin Finck]
1731*c2c66affSColin Finck    coclass ATSCLocator
1732*c2c66affSColin Finck{
1733*c2c66affSColin Finck    [default] interface IATSCLocator2;
1734*c2c66affSColin Finck    interface IATSCLocator;
1735*c2c66affSColin Finck    interface IBDAComparable;
1736*c2c66affSColin Finck};
1737*c2c66affSColin Finck
1738*c2c66affSColin Finck[
1739*c2c66affSColin Finck    uuid(03C06416-D127-407A-AB4C-FDD279ABBE5D)
1740*c2c66affSColin Finck]
1741*c2c66affSColin Finck    coclass DigitalCableLocator
1742*c2c66affSColin Finck{
1743*c2c66affSColin Finck    [default] interface IDigitalCableLocator;
1744*c2c66affSColin Finck    interface IBDAComparable;
1745*c2c66affSColin Finck};
1746*c2c66affSColin Finck
1747*c2c66affSColin Finck[
1748*c2c66affSColin Finck    uuid(9CD64701-BDF3-4d14-8E03-F12983D86664)
1749*c2c66affSColin Finck]
1750*c2c66affSColin Finck    coclass DVBTLocator
1751*c2c66affSColin Finck{
1752*c2c66affSColin Finck    [default] interface IDVBTLocator;
1753*c2c66affSColin Finck    interface IBDAComparable;
1754*c2c66affSColin Finck};
1755*c2c66affSColin Finck
1756*c2c66affSColin Finck[
1757*c2c66affSColin Finck    uuid(1DF7D126-4050-47f0-A7CF-4C4CA9241333)
1758*c2c66affSColin Finck]
1759*c2c66affSColin Finck    coclass DVBSLocator
1760*c2c66affSColin Finck{
1761*c2c66affSColin Finck    [default] interface IDVBSLocator;
1762*c2c66affSColin Finck    interface IBDAComparable;
1763*c2c66affSColin Finck};
1764*c2c66affSColin Finck
1765*c2c66affSColin Finck[
1766*c2c66affSColin Finck    uuid(C531D9FD-9685-4028-8B68-6E1232079F1E)
1767*c2c66affSColin Finck]
1768*c2c66affSColin Finck    coclass DVBCLocator
1769*c2c66affSColin Finck{
1770*c2c66affSColin Finck    [default] interface IDVBCLocator;
1771*c2c66affSColin Finck    interface IBDAComparable;
1772*c2c66affSColin Finck};
1773*c2c66affSColin Finck
1774*c2c66affSColin Finck[
1775*c2c66affSColin Finck    hidden,
1776*c2c66affSColin Finck    uuid(15D6504A-5494-499c-886C-973C9E53B9F1)
1777*c2c66affSColin Finck]
1778*c2c66affSColin Finck    coclass DVBTuneRequest
1779*c2c66affSColin Finck{
1780*c2c66affSColin Finck        [default] interface IDVBTuneRequest;
1781*c2c66affSColin Finck    interface IBDAComparable;
1782*c2c66affSColin Finck};
1783*c2c66affSColin Finck
1784*c2c66affSColin Finck
1785*c2c66affSColin Finck[
1786*c2c66affSColin Finck    hidden,
1787*c2c66affSColin Finck    uuid(8A674B49-1F63-11d3-B64C-00C04F79498E)
1788*c2c66affSColin Finck]
1789*c2c66affSColin Finck    coclass CreatePropBagOnRegKey
1790*c2c66affSColin Finck{
1791*c2c66affSColin Finck    interface ICreatePropBagOnRegKey;
1792*c2c66affSColin Finck};
1793*c2c66affSColin Finck
1794*c2c66affSColin Finck[
1795*c2c66affSColin Finck    hidden,
1796*c2c66affSColin Finck    uuid(0B3FFB92-0919-4934-9D5B-619C719D0202)
1797*c2c66affSColin Finck]
1798*c2c66affSColin Finck    coclass BroadcastEventService
1799*c2c66affSColin Finck{
1800*c2c66affSColin Finck    interface IBroadcastEvent;
1801*c2c66affSColin Finck};
1802*c2c66affSColin Finck
1803*c2c66affSColin Finck[
1804*c2c66affSColin Finck    hidden,
1805*c2c66affSColin Finck    uuid(6438570B-0C08-4a25-9504-8012BB4D50CF)
1806*c2c66affSColin Finck]
1807*c2c66affSColin Finck    coclass TunerMarshaler
1808*c2c66affSColin Finck{
1809*c2c66affSColin Finck    interface IRegisterTuner;
1810*c2c66affSColin Finck    interface ITuner;
1811*c2c66affSColin Finck};
1812*c2c66affSColin Finck
1813*c2c66affSColin Finckcpp_quote("#define SID_SBroadcastEventService CLSID_BroadcastEventService")
1814*c2c66affSColin Finckcpp_quote("#define SID_SContentTuneRequest IID_ITuner")
1815*c2c66affSColin Finckcpp_quote("#define SID_ScanningTuner IID_IScanningTuner")
1816*c2c66affSColin Finckcpp_quote("#define SID_ScanningTunerEx IID_IScanningTunerEx")
1817*c2c66affSColin Finck}
1818