/[cvs]/api/include/DShowIDL/tuner.idl
ViewVC logotype

Contents of /api/include/DShowIDL/tuner.idl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1.1.1 - (show annotations) (vendor branch)
Sun Jul 1 20:47:59 2001 UTC (23 years, 5 months ago) by bearsoft
Branch: lazy, MAIN
CVS Tags: start, HEAD
Changes since 1.1: +0 -0 lines
First import

1 //------------------------------------------------------------------------------
2 // File: Tuner.idl
3 //
4 // Desc:
5 //
6 // Copyright (c) 1999 - 2000, Microsoft Corporation. All rights reserved.
7 //------------------------------------------------------------------------------
8
9
10 cpp_quote("//+-------------------------------------------------------------------------")
11 cpp_quote("//")
12 cpp_quote("// Microsoft Windows")
13 cpp_quote("// Copyright (C) Microsoft Corporation, 1999-2000.")
14 cpp_quote("//")
15 cpp_quote("//--------------------------------------------------------------------------")
16 cpp_quote("#pragma once")
17
18 #include <olectl.h>
19
20 #ifndef DO_NO_IMPORTS
21 import "oaidl.idl";
22 import "comcat.idl";
23 import "strmif.idl";
24 import "bdatypes.h";
25 import "regbag.idl";
26 #endif
27
28 cpp_quote("#include <bdatypes.h>")
29
30 interface ITuningSpaceContainer;
31 interface ITuningSpace;
32 interface IEnumTuningSpaces;
33 interface ITuneRequest;
34 interface ITuner;
35 interface IScanningTuner;
36 interface ITunerEvents;
37 interface IEnumComponentTypes;
38 interface IComponentTypes;
39 interface IComponentType;
40 interface ILanguageComponentType;
41 interface IEnumComponents;
42 interface IComponents;
43 interface IComponent;
44 interface IMPEG2ComponentType;
45 interface IMPEG2Component;
46 interface ILocator;
47 interface IATSCLocator;
48 interface IDVBSLocator;
49 interface IDVBTLocator;
50
51 // tuner.idl:
52 // interface ITuningSpaceContainer : IDispatch
53 // interface ITuningSpace : IDispatch
54 // interface ITuneRequest : IDispatch
55 // interface IComponentType : IDispatch
56 // interface ILanguageComponentType : IComponentType
57 // interface IComponentTypes : IDispatch
58 // interface IComponent : IDispatch
59 // interface IComponents : IDispatch
60 // interface ITVTuningSpace : ITuningSpace
61 // interface IFMRadioTuningSpace : ITuningSpace
62 // interface IAMRadioTuningSpace : ITuningSpace
63 // interface IAnalogTVTuningSpace : ITVTuningSpace
64 // interface IAnalogTVAudioComponent : IComponent
65 // interface IAnalogTVDataComponent : IComponent
66 // interface IChannelTuneRequest : ITuneRequest
67 // interface IDVBComponent : IComponent
68 // interface IDVBTuneRequest : ITuneRequest
69
70 // DISPIDs for ITuningSpaces interface
71 // we don't expect to inherit from this interface and consequently there's
72 // no chance of collision, thus we'll allow midl to auto assign ids for this one
73
74 // DISPIDs for ITuningSpace interface
75 enum {
76 DISPID_TUNER_TS_UNIQUENAME = 1,
77 DISPID_TUNER_TS_FRIENDLYNAME = 2,
78 DISPID_TUNER_TS_CLSID = 3,
79 DISPID_TUNER_TS_NETWORKTYPE = 4,
80 DISPID_TUNER_TS__NETWORKTYPE = 5,
81 DISPID_TUNER_TS_CREATETUNEREQUEST = 6,
82 DISPID_TUNER_TS_ENUMCATEGORYGUIDS = 7,
83 DISPID_TUNER_TS_ENUMDEVICEMONIKERS = 8,
84 DISPID_TUNER_TS_DEFAULTPREFERREDCOMPONENTTYPES = 9,
85 DISPID_TUNER_TS_FREQMAP = 10,
86 DISPID_TUNER_TS_DEFLOCATOR = 11,
87 DISPID_TUNER_TS_CLONE = 12,
88
89 // DISPIDs for ITuneRequest interface
90 DISPID_TUNER_TR_TUNINGSPACE = 1,
91 DISPID_TUNER_TR_COMPONENTS = 2,
92 DISPID_TUNER_TR_CLONE = 3,
93 DISPID_TUNER_TR_LOCATOR = 4,
94
95
96 // DISPID for IComponentType interface
97 DISPID_TUNER_CT_CATEGORY = 1,
98 DISPID_TUNER_CT_MEDIAMAJORTYPE = 2,
99 DISPID_TUNER_CT__MEDIAMAJORTYPE = 3,
100 DISPID_TUNER_CT_MEDIASUBTYPE = 4,
101 DISPID_TUNER_CT__MEDIASUBTYPE = 5,
102 DISPID_TUNER_CT_MEDIAFORMATTYPE = 6,
103 DISPID_TUNER_CT__MEDIAFORMATTYPE = 7,
104 DISPID_TUNER_CT_MEDIATYPE = 8,
105 DISPID_TUNER_CT_CLONE = 9,
106
107
108 // DISPID for ILanguageComponentType interface
109 DISPID_TUNER_LCT_LANGID = 100,
110
111 // DISPID for IMPEG2ComponentType interface
112 DISPID_TUNER_MP2CT_TYPE = 200,
113
114 // DISPID for IATSCComponentType interface
115 DISPID_TUNER_ATSCCT_FLAGS = 300,
116
117 // DISPID for ILocator interface
118 DISPID_TUNER_L_CARRFREQ = 1,
119 DISPID_TUNER_L_INNERFECMETHOD = 2,
120 DISPID_TUNER_L_INNERFECRATE = 3,
121 DISPID_TUNER_L_OUTERFECMETHOD = 4,
122 DISPID_TUNER_L_OUTERFECRATE = 5,
123 DISPID_TUNER_L_MOD = 6,
124 DISPID_TUNER_L_SYMRATE = 7,
125 DISPID_TUNER_L_CLONE = 8,
126
127 // DISPID for IATSCLocator interface
128 DISPID_TUNER_L_ATSC_PHYS_CHANNEL = 201,
129 DISPID_TUNER_L_ATSC_TSID = 202,
130
131 // DISPID for IDVBTLocator interface
132 DISPID_TUNER_L_DVBT_BANDWIDTH = 301,
133 DISPID_TUNER_L_DVBT_LPINNERFECMETHOD = 302,
134 DISPID_TUNER_L_DVBT_LPINNERFECRATE = 303,
135 DISPID_TUNER_L_DVBT_GUARDINTERVAL = 304,
136 DISPID_TUNER_L_DVBT_HALPHA = 305,
137 DISPID_TUNER_L_DVBT_TRANSMISSIONMODE = 306,
138 DISPID_TUNER_L_DVBT_INUSE = 307,
139
140 // DISPID for IDVBSLocator interface
141 DISPID_TUNER_L_DVBS_POLARISATION = 401,
142 DISPID_TUNER_L_DVBS_WEST = 402,
143 DISPID_TUNER_L_DVBS_ORBITAL = 403,
144 DISPID_TUNER_L_DVBS_AZIMUTH = 404,
145 DISPID_TUNER_L_DVBS_ELEVATION = 405,
146
147 // DISPID for IDVBCLocator interface
148
149 // DISPIDs for IComponent interface
150 DISPID_TUNER_C_TYPE = 1,
151 DISPID_TUNER_C_STATUS = 2,
152 DISPID_TUNER_C_LANGID = 3,
153 DISPID_TUNER_C_DESCRIPTION = 4,
154 DISPID_TUNER_C_CLONE = 5,
155
156 // DISPIDs for IMPEG2Component interface
157 DISPID_TUNER_C_MP2_PID = 101,
158 DISPID_TUNER_C_MP2_PCRPID = 102,
159 DISPID_TUNER_C_MP2_PROGNO = 103,
160
161 // DISPIDs for IDVBTuningSpace interface
162 DISPID_TUNER_TS_DVB_SYSTEMTYPE = 101,
163
164 // DISPIDs for IAnalogRadioTuningSpace interface
165 DISPID_TUNER_TS_AR_MINFREQUENCY = 101,
166 DISPID_TUNER_TS_AR_MAXFREQUENCY = 102,
167 DISPID_TUNER_TS_AR_STEP = 103,
168
169 // DISPIDs for IAnalogTVTuningSpace interface
170 DISPID_TUNER_TS_ATV_MINCHANNEL = 101,
171 DISPID_TUNER_TS_ATV_MAXCHANNEL = 102,
172 DISPID_TUNER_TS_ATV_INPUTTYPE = 103,
173 DISPID_TUNER_TS_ATV_COUNTRYCODE = 104,
174
175 // DISPIDs for IATSCTuningSpace interface
176 DISPID_TUNER_TS_ATSC_MINMINORCHANNEL = 201,
177 DISPID_TUNER_TS_ATSC_MAXMINORCHANNEL = 202,
178 DISPID_TUNER_TS_ATSC_MINPHYSCHANNEL = 203,
179 DISPID_TUNER_TS_ATSC_MAXPHYSCHANNEL = 204,
180
181 // DISPID for IAnalogTVAudioComponent interface
182 DISPID_CHTUNER_ATVAC_CHANNEL = 101,
183
184 // DISPIDs for IAnalogTVDataComponent interface
185 DISPID_CHTUNER_ATVDC_SYSTEM = 101,
186 DISPID_CHTUNER_ATVDC_CONTENT = 102,
187
188 // DISPID for IChannelTuneRequest interface
189 DISPID_CHTUNER_CTR_CHANNEL = 101,
190
191 // DISPID IATSCChannelTuneRequest
192 DISPID_CHTUNER_ACTR_MINOR_CHANNEL = 201,
193
194 // DISPIDs for IDVBComponent interface
195 DISPID_DVBTUNER_DVBC_ATTRIBUTESVALID = 101,
196 DISPID_DVBTUNER_DVBC_PID = 102,
197 DISPID_DVBTUNER_DVBC_TAG = 103,
198 DISPID_DVBTUNER_DVBC_COMPONENTTYPE = 104,
199
200 // DISPIDs for IDVBTuneRequest interface
201 DISPID_DVBTUNER_ONID = 101,
202 DISPID_DVBTUNER_TSID = 102,
203 DISPID_DVBTUNER_SID = 103,
204
205 };
206
207
208 //////////////////////////////////////////////////////////////////////////////////////
209 // Tuning Space Container
210 //////////////////////////////////////////////////////////////////////////////////////
211 // simple read-only collection of tuning spaces for enumerating subsets of the total
212 // set of system tuning spaces
213 [
214 object,
215 uuid(901284E4-33FE-4b69-8D63-634A596F3756),
216 dual,
217 oleautomation,
218 nonextensible,
219 helpstring("Tuning Space Collection Interface"),
220 pointer_default(unique)
221 ]
222 interface ITuningSpaces : IDispatch
223 {
224
225 [propget, helpstring("Number of items in the collection")]
226 HRESULT Count(
227 [out, retval] long *Count
228 );
229
230 [propget, id(DISPID_NEWENUM), hidden, restricted]
231 HRESULT _NewEnum(
232 [out, retval] IEnumVARIANT** NewEnum
233 );
234
235 [id(DISPID_VALUE),
236 propget,
237 helpstring("Find the Tuning Space with the specified Index")]
238 HRESULT Item(
239 [in] VARIANT varIndex,
240 [out, retval] ITuningSpace** TuningSpace
241 );
242
243 [propget, hidden, restricted,
244 helpstring("convenience function so C++ apps don't have to unpack VARIANT")]
245 HRESULT EnumTuningSpaces(
246 [out, retval] IEnumTuningSpaces** NewEnum
247 );
248
249 }
250
251 //////////////////////////////////////////////////////////////////////////////////////
252 // Tuning Space Container
253 //////////////////////////////////////////////////////////////////////////////////////
254 [
255 object,
256 uuid(5B692E84-E2F1-11d2-9493-00C04F72D980),
257 dual,
258 oleautomation,
259 hidden,
260 nonextensible,
261 helpstring("Tuning Space Container Interface"),
262 pointer_default(unique)
263 ]
264 interface ITuningSpaceContainer : IDispatch
265 {
266
267 [propget, helpstring("Number of items in the collection")]
268 HRESULT Count(
269 [out, retval] long *Count
270 );
271
272 [propget, id(DISPID_NEWENUM), hidden, restricted]
273 HRESULT _NewEnum(
274 [out, retval] IEnumVARIANT** NewEnum
275 );
276
277 [id(DISPID_VALUE),
278 propget,
279 helpstring("Find the Tuning Space with the specified Index")]
280 HRESULT Item(
281 [in] VARIANT varIndex,
282 [out, retval] ITuningSpace** TuningSpace
283 );
284 [id(DISPID_VALUE),
285 propput,
286 helpstring("Change the Tuning Space with the specified Index")]
287 HRESULT Item([in] VARIANT varIndex, [in] ITuningSpace *TuningSpace);
288
289 [helpstring("Returns the collection of Tuning Spaces with the same implementation")]
290 HRESULT TuningSpacesForCLSID(
291 [in] BSTR SpaceCLSID,
292 [out, retval] ITuningSpaces** NewColl
293 );
294
295 [hidden, restricted,
296 helpstring("Convenience Function for enumerating from C")]
297 HRESULT _TuningSpacesForCLSID(
298 [in] REFCLSID SpaceCLSID,
299 [out, retval] ITuningSpaces** NewColl
300 );
301
302 [helpstring("Returns the collection of Tuning Spaces matching the name")]
303 HRESULT TuningSpacesForName(
304 [in] BSTR Name,
305 [out, retval] ITuningSpaces** NewColl
306 );
307
308 [helpstring("Find Local ID Number of the specified Tuning Space")]
309 HRESULT FindID(
310 [in] ITuningSpace *TuningSpace,
311 [out, retval] long *ID
312 );
313
314
315 [id(DISPID_ADDITEM),
316 helpstring("Add a new Tuning Space to the collection. This tuning space will be persisted unless removed")]
317 HRESULT Add(
318 [in] ITuningSpace* TuningSpace,
319 [out, retval] VARIANT* NewIndex
320 );
321
322 [propget, hidden, restricted, helpstring("Convenience Function for enumerating collection from C")]
323 HRESULT EnumTuningSpaces(
324 [out, retval] IEnumTuningSpaces **ppEnum
325 );
326
327 [id(DISPID_REMOVEITEM),
328 helpstring("Remove a Tuning Space from the collection. this tuning space will be deleted from the registry")]
329 HRESULT Remove(
330 [in] VARIANT Index
331 );
332
333 [propget, helpstring("Maximum number of items allowed in the collection")]
334 HRESULT MaxCount(
335 [out, retval] long *MaxCount
336 );
337
338 // we don't allow script to set this, but we do allow c code to change it.
339 [propput, hidden, restricted, helpstring("Maximum number of items allowed in the collection")]
340 HRESULT MaxCount(
341 [in] long MaxCount
342 );
343
344 }
345
346 //////////////////////////////////////////////////////////////////////////////////////
347 // Tuning Space Interfaces
348 //////////////////////////////////////////////////////////////////////////////////////
349
350 // note: the network type is the clsid of the tuning space implementation
351 [
352 object,
353 uuid(061C6E30-E622-11d2-9493-00C04F72D980),
354 dual,
355 oleautomation,
356 nonextensible,
357 helpstring("Tuning Space Interface"),
358 pointer_default(unique)
359 ]
360 interface ITuningSpace : IDispatch
361 {
362 [propget, id(DISPID_TUNER_TS_UNIQUENAME),
363 helpstring("Unique name of the Tuning Space")]
364 HRESULT UniqueName(
365 [out, retval] BSTR *Name
366 );
367
368 [propput, id(DISPID_TUNER_TS_UNIQUENAME),
369 helpstring("Unique name of the Tuning Space")]
370 HRESULT UniqueName(
371 [in] BSTR Name
372 );
373
374 [propget, id(DISPID_TUNER_TS_FRIENDLYNAME),
375 helpstring("User-friendly name of the Tuning Space")]
376 HRESULT FriendlyName(
377 [out, retval] BSTR *Name
378 );
379
380 [propput, id(DISPID_TUNER_TS_FRIENDLYNAME),
381 helpstring("User-friendly name of the Tuning Space")]
382 HRESULT FriendlyName(
383 [in] BSTR Name
384 );
385
386 [propget, id(DISPID_TUNER_TS_CLSID),
387 helpstring("Returns the clsid of the tuning space implementation. provides script access to IPersist:GetClassID")]
388 HRESULT CLSID(
389 [out, retval] BSTR* SpaceCLSID
390 );
391
392 [propget, id(DISPID_TUNER_TS_NETWORKTYPE),
393 helpstring("Network Type (Network Proivder CLSID)")]
394 HRESULT NetworkType(
395 [out, retval] BSTR *NetworkTypeGuid
396 );
397 [propput, id(DISPID_TUNER_TS_NETWORKTYPE),
398 helpstring("Network Type (Network Proivder CLSID)")]
399 HRESULT NetworkType(
400 [in] BSTR NetworkTypeGuid
401 );
402
403 [propget, id(DISPID_TUNER_TS__NETWORKTYPE),
404 helpstring("Network Type (Network Proivder CLSID)"), hidden, restricted]
405 HRESULT _NetworkType(
406 [out, retval] GUID* NetworkTypeGuid
407 );
408 [propput, id(DISPID_TUNER_TS__NETWORKTYPE),
409 helpstring("Network Type (Network Proivder CLSID)"), hidden, restricted]
410 HRESULT _NetworkType(
411 [in] REFCLSID NetworkTypeGuid
412 );
413
414 [id(DISPID_TUNER_TS_CREATETUNEREQUEST),
415 helpstring("Create a Tune Request object")]
416 HRESULT CreateTuneRequest(
417 [out, retval] ITuneRequest **TuneRequest
418 );
419
420 [id(DISPID_TUNER_TS_ENUMCATEGORYGUIDS), hidden, restricted]
421 HRESULT EnumCategoryGUIDs(
422 [out, retval] IEnumGUID **ppEnum
423 );
424
425 [id(DISPID_TUNER_TS_ENUMDEVICEMONIKERS), hidden, restricted]
426 HRESULT EnumDeviceMonikers(
427 [out, retval] IEnumMoniker **ppEnum
428 );
429
430 [propget, id(DISPID_TUNER_TS_DEFAULTPREFERREDCOMPONENTTYPES)]
431 HRESULT DefaultPreferredComponentTypes(
432 [out, retval] IComponentTypes** ComponentTypes
433 );
434 [propput, id(DISPID_TUNER_TS_DEFAULTPREFERREDCOMPONENTTYPES)]
435 HRESULT DefaultPreferredComponentTypes(
436 [in] IComponentTypes* NewComponentTypes
437 );
438
439 // the following property is for the network providers to store frequency/channel maps, frequency/transponder maps
440 // or whatever other mapping from carrier frequencies to frequency identifiers are appropriate for the tuning space
441 // in question. the bstr is treated as a binary blob. it is expected to contain embedded nulls, and it may be formatted
442 // internally in whatever fashion the network provider sees fit.
443 [propget, id(DISPID_TUNER_TS_FREQMAP), hidden, restricted]
444 HRESULT FrequencyMapping([out, retval] BSTR *pMapping);
445 [propput, id(DISPID_TUNER_TS_FREQMAP), hidden, restricted]
446 HRESULT FrequencyMapping(BSTR Mapping);
447
448 // the following property provides a starting point for the initial IScanningTuner after installation
449 [propget, id(DISPID_TUNER_TS_DEFLOCATOR)]
450 HRESULT DefaultLocator([out, retval] ILocator **LocatorVal);
451 [propput, id(DISPID_TUNER_TS_DEFLOCATOR)]
452 HRESULT DefaultLocator([in]ILocator *LocatorVal);
453
454 HRESULT Clone([out, retval] ITuningSpace **NewTS);
455 }
456
457 //////////////////////////////////////////////////////////////////////////////////////
458 [
459 hidden,
460 restricted,
461 object,
462 uuid(8B8EB248-FC2B-11d2-9D8C-00C04F72D980),
463 pointer_default(unique)
464 ]
465 interface IEnumTuningSpaces : IUnknown
466 {
467 HRESULT Next(
468 [in] ULONG celt,
469 [out, size_is(celt), length_is(*pceltFetched)]
470 ITuningSpace** rgelt,
471 [out] ULONG* pceltFetched
472 );
473
474 HRESULT Skip(
475 [in] ULONG celt
476 );
477
478 HRESULT Reset(void);
479
480 HRESULT Clone(
481 [out] IEnumTuningSpaces** ppEnum
482 );
483 }
484
485 //////////////////////////////////////////////////////////////////////////////////////
486 [
487 object,
488 hidden,
489 nonextensible,
490 uuid(ADA0B268-3B19-4e5b-ACC4-49F852BE13BA),
491 pointer_default(unique)
492 ]
493 interface IDVBTuningSpace : ITuningSpace
494 {
495 [propget, id(DISPID_TUNER_TS_DVB_SYSTEMTYPE),
496 helpstring("Type of DVB System")
497 ]
498 HRESULT SystemType(
499 [out, retval] DVBSystemType *SysType
500 );
501 [propput, id(DISPID_TUNER_TS_DVB_SYSTEMTYPE),
502 helpstring("Type of DVB System")
503 ]
504 HRESULT SystemType(
505 [in] DVBSystemType SysType
506 );
507
508 }
509
510
511 //////////////////////////////////////////////////////////////////////////////////////
512 [
513 object,
514 hidden,
515 nonextensible,
516 uuid(2A6E293C-2595-11d3-B64C-00C04F79498E),
517 pointer_default(unique)
518 ]
519 interface IAnalogTVTuningSpace : ITuningSpace
520 {
521 [propget, id(DISPID_TUNER_TS_ATV_MINCHANNEL),
522 helpstring("Smallest channel number ever provided by this tuning space")
523 ]
524 HRESULT MinChannel(
525 [out, retval] long *MinChannelVal
526 );
527 [propput, id(DISPID_TUNER_TS_ATV_MINCHANNEL),
528 helpstring("Smallest channel number ever provided by this tuning space")
529 ]
530 HRESULT MinChannel(
531 [in] long NewMinChannelVal
532 );
533 [propget, id(DISPID_TUNER_TS_ATV_MAXCHANNEL),
534 helpstring("Largest channel number ever provided by this tuning space")
535 ]
536 HRESULT MaxChannel(
537 [out, retval] long *MaxChannelVal
538 );
539 [propput, id(DISPID_TUNER_TS_ATV_MAXCHANNEL),
540 helpstring("Largest channel number ever provided by this tuning space")
541 ]
542 HRESULT MaxChannel(
543 [in] long NewMaxChannelVal
544 );
545 [propget, id(DISPID_TUNER_TS_ATV_INPUTTYPE),
546 helpstring("Input type for this tuning space")
547 ]
548 HRESULT InputType([out, retval] TunerInputType *InputTypeVal);
549 [propput, id(DISPID_TUNER_TS_ATV_INPUTTYPE),
550 helpstring("Input type for this tuning space")
551 ]
552 HRESULT InputType([in] TunerInputType NewInputTypeVal);
553 [propget, id(DISPID_TUNER_TS_ATV_COUNTRYCODE),
554 helpstring("International dialing prefix for country of physical broadcast source")
555 ]
556 HRESULT CountryCode([out, retval] long *CountryCodeVal);
557 [propput, id(DISPID_TUNER_TS_ATV_COUNTRYCODE),
558 helpstring("International dialing prefix for country of physical broadcast source")
559 ]
560 HRESULT CountryCode([in] long NewCountryCodeVal);
561 }
562
563 //////////////////////////////////////////////////////////////////////////////////////
564 [
565 object,
566 hidden,
567 nonextensible,
568 uuid(0369B4E2-45B6-11d3-B650-00C04F79498E),
569 pointer_default(unique)
570 ]
571 // note: we inherit ATSC from analog because we need the same properties.
572 // - the definition of channel is overloaded to be the major channel,
573 // - input type allows us to distinguish between broadcast and cable frequencies
574 // which allows us to use the atsc tuning space class for "open cable".
575 // - country code will allow us to redefine physical channel frequencies
576 // if any other countries adopt ATSC which may happen in Latin America in particular.
577 interface IATSCTuningSpace : IAnalogTVTuningSpace
578 {
579 [propget, id(DISPID_TUNER_TS_ATSC_MINMINORCHANNEL),
580 helpstring("Smallest minor channel number ever provided by this tuning space")
581 ]
582 HRESULT MinMinorChannel(
583 [out, retval] long *MinMinorChannelVal
584 );
585 [propput, id(DISPID_TUNER_TS_ATSC_MINMINORCHANNEL),
586 helpstring("Smallest minor channel number ever provided by this tuning space")
587 ]
588 HRESULT MinMinorChannel(
589 [in] long NewMinMinorChannelVal
590 );
591 [propget, id(DISPID_TUNER_TS_ATSC_MAXMINORCHANNEL),
592 helpstring("Largest minor channel number ever provided by this tuning space")
593 ]
594 HRESULT MaxMinorChannel(
595 [out, retval] long *MaxMinorChannelVal
596 );
597 [propput, id(DISPID_TUNER_TS_ATSC_MAXMINORCHANNEL),
598 helpstring("Largest minor channel number ever provided by this tuning space")
599 ]
600 HRESULT MaxMinorChannel(
601 [in] long NewMaxMinorChannelVal
602 );
603 [propget, id(DISPID_TUNER_TS_ATSC_MINPHYSCHANNEL),
604 helpstring("Smallest physical channel number ever provided by this tuning space")
605 ]
606 HRESULT MinPhysicalChannel(
607 [out, retval] long *MinPhysicalChannelVal
608 );
609 [propput, id(DISPID_TUNER_TS_ATSC_MINPHYSCHANNEL),
610 helpstring("Smallest physical channel number ever provided by this tuning space")
611 ]
612 HRESULT MinPhysicalChannel(
613 [in] long NewMinPhysicalChannelVal
614 );
615 [propget, id(DISPID_TUNER_TS_ATSC_MAXPHYSCHANNEL),
616 helpstring("Largest physical channel number ever provided by this tuning space")
617 ]
618 HRESULT MaxPhysicalChannel(
619 [out, retval] long *MaxPhysicalChannelVal
620 );
621 [propput, id(DISPID_TUNER_TS_ATSC_MAXPHYSCHANNEL),
622 helpstring("Largest physical channel number ever provided by this tuning space")
623 ]
624 HRESULT MaxPhysicalChannel(
625 [in] long NewMaxPhysicalChannelVal
626 );
627
628 }
629
630 //////////////////////////////////////////////////////////////////////////////////////
631 [
632 object,
633 hidden,
634 nonextensible,
635 uuid(2A6E293B-2595-11d3-B64C-00C04F79498E),
636 pointer_default(unique)
637 ]
638 interface IAnalogRadioTuningSpace : ITuningSpace {
639 [propget, id(DISPID_TUNER_TS_AR_MINFREQUENCY),
640 helpstring("Smallest frequency(khz) ever used by this tuning space")
641 ]
642 HRESULT MinFrequency(
643 [out, retval] long *MinFrequencyVal
644 );
645 [propput, id(DISPID_TUNER_TS_AR_MINFREQUENCY),
646 helpstring("Smallest frequency(khz) ever used by this tuning space")
647 ]
648 HRESULT MinFrequency(
649 [in] long NewMinFrequencyVal
650 );
651 [propget, id(DISPID_TUNER_TS_AR_MAXFREQUENCY),
652 helpstring("Largest frequency(khz) ever used by this tuning space")
653 ]
654 HRESULT MaxFrequency(
655 [out, retval] long *MaxFrequencyVal
656 );
657 [propput, id(DISPID_TUNER_TS_AR_MAXFREQUENCY),
658 helpstring("Largest frequency(khz) ever used by this tuning space")
659 ]
660 HRESULT MaxFrequency(
661 [in] long NewMaxFrequencyVal
662 );
663 [propget, id(DISPID_TUNER_TS_AR_STEP),
664 helpstring("Default step value(khz) to next frequency for this tuning space")
665 ]
666 HRESULT Step(
667 [out, retval] long *StepVal
668 );
669 [propput, id(DISPID_TUNER_TS_AR_STEP),
670 helpstring("Default step value(khz) to next frequency for this tuning space")
671 ]
672 HRESULT Step(
673 [in] long NewStepVal
674 );
675 }
676
677
678 //////////////////////////////////////////////////////////////////////////////////////
679 // Tune Request Interfaces
680 //////////////////////////////////////////////////////////////////////////////////////
681 [
682 object,
683 nonextensible,
684 uuid(07DDC146-FC3D-11d2-9D8C-00C04F72D980),
685 dual,
686 oleautomation,
687 helpstring("Tune Request Interface"),
688 pointer_default(unique)
689 ]
690 interface ITuneRequest : IDispatch
691 {
692 [propget, id(DISPID_TUNER_TR_TUNINGSPACE),
693 helpstring("Tuning Space object")]
694 HRESULT TuningSpace(
695 [out, retval] ITuningSpace **TuningSpace
696 );
697 [propget, id(DISPID_TUNER_TR_COMPONENTS),
698 helpstring("Components collection")]
699 HRESULT Components(
700 [out, retval] IComponents **Components
701 );
702 [id(DISPID_TUNER_TR_CLONE),
703 helpstring("Create a new copy of this tune request")]
704 HRESULT Clone(
705 [out, retval] ITuneRequest **NewTuneRequest
706 );
707 [propget, id(DISPID_TUNER_TR_LOCATOR),
708 helpstring("Locator Object")]
709 HRESULT Locator(
710 [out, retval] ILocator **Locator
711 );
712 [propput, id(DISPID_TUNER_TR_LOCATOR),
713 helpstring("Locator Object")]
714 HRESULT Locator(
715 [in] ILocator *Locator
716 );
717 }
718
719 //////////////////////////////////////////////////////////////////////////////////////
720 [
721 object,
722 nonextensible,
723 uuid(0369B4E0-45B6-11d3-B650-00C04F79498E),
724 dual,
725 oleautomation,
726 helpstring("Channel Tune Request Interface"),
727 pointer_default(unique)
728 ]
729 interface IChannelTuneRequest : ITuneRequest
730 {
731 [propget, id(DISPID_CHTUNER_CTR_CHANNEL),
732 helpstring("Channel")]
733 HRESULT Channel(
734 [out, retval] long *Channel
735 );
736 [propput, id(DISPID_CHTUNER_CTR_CHANNEL),
737 helpstring("Channel")]
738 HRESULT Channel(
739 [in] long Channel
740 );
741 }
742
743 //////////////////////////////////////////////////////////////////////////////////////
744 [
745 object,
746 nonextensible,
747 uuid(0369B4E1-45B6-11d3-B650-00C04F79498E),
748 dual,
749 oleautomation,
750 helpstring("ATSC Channel Tune Request Interface"),
751 pointer_default(unique)
752 ]
753 interface IATSCChannelTuneRequest : IChannelTuneRequest
754 {
755 [propget, id(DISPID_CHTUNER_ACTR_MINOR_CHANNEL),
756 helpstring("Minor Channel")]
757 HRESULT MinorChannel(
758 [out, retval] long *MinorChannel
759 );
760 [propput, id(DISPID_CHTUNER_ACTR_MINOR_CHANNEL),
761 helpstring("Minor Channel")]
762 HRESULT MinorChannel(
763 [in] long MinorChannel
764 );
765 }
766
767 //////////////////////////////////////////////////////////////////////////////////////
768 [
769 object,
770 nonextensible,
771 uuid(0D6F567E-A636-42bb-83BA-CE4C1704AFA2),
772 dual,
773 oleautomation,
774 helpstring("DVB Tune Request Interface"),
775 pointer_default(unique)
776 ]
777 interface IDVBTuneRequest : ITuneRequest
778 {
779 [propget, id(DISPID_DVBTUNER_ONID),
780 helpstring("Original Network ID")]
781 HRESULT ONID(
782 [out, retval] long *ONID
783 );
784 [propput, id(DISPID_DVBTUNER_ONID),
785 helpstring("Original Network ID")]
786 HRESULT ONID(
787 [in] long ONID
788 );
789 [propget, id(DISPID_DVBTUNER_TSID),
790 helpstring("Transport Stream ID")]
791 HRESULT TSID(
792 [out, retval] long *TSID
793 );
794 [propput, id(DISPID_DVBTUNER_TSID),
795 helpstring("Transport Stream ID")]
796 HRESULT TSID(
797 [in] long TSID
798 );
799 [propget, id(DISPID_DVBTUNER_SID),
800 helpstring("Service ID")]
801 HRESULT SID(
802 [out, retval] long *SID
803 );
804 [propput, id(DISPID_DVBTUNER_SID),
805 helpstring("Service ID")]
806 HRESULT SID(
807 [in] long SID
808 );
809 }
810
811 //////////////////////////////////////////////////////////////////////////////////////
812 // Tuner Interfaces
813 //////////////////////////////////////////////////////////////////////////////////////
814 [
815 object,
816 hidden,
817 nonextensible,
818 uuid(28C52640-018A-11d3-9D8E-00C04F72D980),
819 helpstring("Tuner Interface"),
820 pointer_default(unique)
821 ]
822 interface ITuner : IUnknown
823 {
824 [propget, helpstring("Tuning Space object")]
825 HRESULT TuningSpace(
826 [out, retval] ITuningSpace **TuningSpace
827 );
828
829 [propput, helpstring("Tuning Space object")]
830 HRESULT TuningSpace(
831 [in] ITuningSpace *TuningSpace
832 );
833
834 [hidden, restricted, helpstring("Returns an enumerator for Tuning Spaces accepted by this tuner")]
835 HRESULT EnumTuningSpaces(
836 [out, retval] IEnumTuningSpaces **ppEnum
837 );
838
839 [propget, helpstring("Tune Request object")]
840 HRESULT TuneRequest(
841 [out, retval] ITuneRequest **TuneRequest
842 );
843
844 [propput, helpstring("Tune Request object")]
845 HRESULT TuneRequest(
846 [in] ITuneRequest *TuneRequest
847 );
848
849 [helpstring("Validate the tuning request without tuning")]
850 HRESULT Validate(
851 [in] ITuneRequest *TuneRequest
852 );
853
854 [propget, helpstring("Preferred Component Types collection")]
855 HRESULT PreferredComponentTypes(
856 [out, retval] IComponentTypes **ComponentTypes
857 );
858
859 [propput, helpstring("Preferred Component Types collection")]
860 HRESULT PreferredComponentTypes(
861 [in] IComponentTypes *ComponentTypes
862 );
863
864 [propget, helpstring("Signal Strength")]
865 HRESULT SignalStrength(
866 [out, retval] long *Strength
867 );
868
869 [helpstring("Trigger Signal events (interval in milliseconds; 0 turns off trigger)")]
870 HRESULT TriggerSignalEvents(
871 [in] long Interval
872 );
873 }
874
875 //////////////////////////////////////////////////////////////////////////////////////
876 [
877 object,
878 hidden,
879 nonextensible,
880 uuid(1DFD0A5C-0284-11d3-9D8E-00C04F72D980),
881 helpstring("Scanning Tuner Interface"),
882 pointer_default(unique)
883 ]
884 interface IScanningTuner : ITuner
885 {
886 [helpstring("Seek to the next valid selection")]
887 HRESULT SeekUp(
888 );
889
890 [helpstring("Seek to the previous valid selection")]
891 HRESULT SeekDown(
892 );
893
894 [helpstring("Scan for valid selections upward")]
895 HRESULT ScanUp(
896 [in] long MillisecondsPause
897 );
898
899 [helpstring("Scan for valid selections downward")]
900 HRESULT ScanDown(
901 [in] long MillisecondsPause
902 );
903
904 [helpstring("Enter the device's autoprogram mode")]
905 HRESULT AutoProgram(
906 );
907 };
908
909 //////////////////////////////////////////////////////////////////////////////////////
910 [
911 object,
912 hidden,
913 nonextensible,
914 uuid(68481420-0280-11d3-9D8E-00C04F72D980),
915 helpstring("Tuner Events Interface"),
916 pointer_default(unique)
917 ]
918 interface ITunerEvents : IUnknown
919 {
920 [helpstring("Reports a completed (or failed) tune operation")]
921 HRESULT OnTune(
922 [in] ITuneRequest **Request,
923 [in] long *Strength
924 );
925 }
926
927 //////////////////////////////////////////////////////////////////////////////////////
928 [
929 object,
930 hidden,
931 nonextensible,
932 uuid(85E2439E-0E23-11d3-9D8E-00C04F72D980),
933 helpstring("Signal Events Interface"),
934 pointer_default(unique)
935 ]
936 interface ISignalEvents : IUnknown
937 {
938 [helpstring("Reports the signal strength")]
939 HRESULT OnSignal(
940 [out] long *Strength
941 );
942 }
943
944 //////////////////////////////////////////////////////////////////////////////////////
945 // Component Type Interfaces
946 //////////////////////////////////////////////////////////////////////////////////////
947
948 // Component Category
949
950 [
951 object,
952 hidden,
953 nonextensible,
954 uuid(6A340DC0-0311-11d3-9D8E-00C04F72D980),
955 dual,
956 oleautomation,
957 helpstring("Component Type Interface"),
958 pointer_default(unique)
959 ]
960 interface IComponentType : IDispatch
961 {
962 [propget, id(DISPID_TUNER_CT_CATEGORY),
963 helpstring("General category of component")]
964 HRESULT Category(
965 [out, retval] ComponentCategory *Category
966 );
967 [propput, id(DISPID_TUNER_CT_CATEGORY),
968 helpstring("General category of component")]
969 HRESULT Category(
970 [in] ComponentCategory Category
971 );
972
973 [propget, id(DISPID_TUNER_CT_MEDIAMAJORTYPE),
974 helpstring("DirectShow MediaType Major Type Guid")]
975 HRESULT MediaMajorType(
976 [out, retval] BSTR *MediaMajorType
977 );
978 [propput, id(DISPID_TUNER_CT_MEDIAMAJORTYPE),
979 helpstring("DirectShow MediaType Major Type Guid")]
980 HRESULT MediaMajorType(
981 [in] BSTR MediaMajorType
982 );
983 [propget, id(DISPID_TUNER_CT__MEDIAMAJORTYPE),
984 helpstring("DirectShow MediaType Major Type Guid"), hidden, restricted]
985 HRESULT _MediaMajorType(
986 [out, retval] GUID* MediaMajorTypeGuid
987 );
988 [propput, id(DISPID_TUNER_CT__MEDIAMAJORTYPE),
989 helpstring("DirectShow MediaType Major Type Guid"), hidden, restricted]
990 HRESULT _MediaMajorType(
991 [in] REFCLSID MediaMajorTypeGuid
992 );
993 [propget, id(DISPID_TUNER_CT_MEDIASUBTYPE),
994 helpstring("DirectShow MediaType Sub Type Guid")]
995 HRESULT MediaSubType(
996 [out, retval] BSTR *MediaSubType
997 );
998 [propput, id(DISPID_TUNER_CT_MEDIASUBTYPE),
999 helpstring("DirectShow MediaType Sub Type Guid")]
1000 HRESULT MediaSubType(
1001 [in] BSTR MediaSubType
1002 );
1003 [propget, id(DISPID_TUNER_CT__MEDIASUBTYPE),
1004 helpstring("DirectShow MediaType Sub Type Guid"), hidden, restricted]
1005 HRESULT _MediaSubType(
1006 [out, retval] GUID* MediaSubTypeGuid
1007 );
1008 [propput, id(DISPID_TUNER_CT__MEDIASUBTYPE),
1009 helpstring("DirectShow MediaType Sub Type Guid"), hidden, restricted]
1010 HRESULT _MediaSubType(
1011 [in] REFCLSID MediaSubTypeGuid
1012 );
1013 [propget, id(DISPID_TUNER_CT_MEDIAFORMATTYPE),
1014 helpstring("DirectShow MediaType Format Guid")]
1015 HRESULT MediaFormatType(
1016 [out, retval] BSTR *MediaFormatType
1017 );
1018 [propput, id(DISPID_TUNER_CT_MEDIAFORMATTYPE),
1019 helpstring("DirectShow MediaType Format Guid")]
1020 HRESULT MediaFormatType(
1021 [in] BSTR MediaFormatType
1022 );
1023 [propget, id(DISPID_TUNER_CT__MEDIAFORMATTYPE),
1024 helpstring("DirectShow MediaType Format Guid"), hidden, restricted]
1025 HRESULT _MediaFormatType(
1026 [out, retval] GUID* MediaFormatTypeGuid
1027 );
1028 [propput, id(DISPID_TUNER_CT__MEDIAFORMATTYPE),
1029 helpstring("DirectShow MediaType Format Guid"), hidden, restricted]
1030 HRESULT _MediaFormatType(
1031 [in] REFCLSID MediaFormatTypeGuid
1032 );
1033
1034 [propget, id(DISPID_TUNER_CT_MEDIATYPE), hidden, restricted,
1035 helpstring("DirectShow MediaType Guid, this only retrieves major, sub, format guids not the entire struct")]
1036 HRESULT MediaType(
1037 [out, retval] AM_MEDIA_TYPE *MediaType
1038 );
1039 [propput, id(DISPID_TUNER_CT_MEDIATYPE), hidden, restricted,
1040 helpstring("DirectShow MediaType Guid, this only retrieves major, sub, format guids not the entire struct")]
1041 HRESULT MediaType(
1042 [in] AM_MEDIA_TYPE *MediaType
1043 );
1044
1045 [id(DISPID_TUNER_CT_CLONE),
1046 helpstring("Create a copy of this component type")]
1047 HRESULT Clone(
1048 [out, retval] IComponentType **NewCT
1049 );
1050 };
1051
1052 //////////////////////////////////////////////////////////////////////////////////////
1053 [
1054 object,
1055 hidden,
1056 nonextensible,
1057 uuid(B874C8BA-0FA2-11d3-9D8E-00C04F72D980),
1058 dual,
1059 oleautomation,
1060 helpstring("Language Component Type Interface"),
1061 pointer_default(unique)
1062 ]
1063 interface ILanguageComponentType : IComponentType
1064 {
1065 [propget, id(DISPID_TUNER_LCT_LANGID),
1066 helpstring("Language Identifier for Substream Content Language")]
1067 HRESULT LangID(
1068 [out, retval] long *LangID
1069 );
1070
1071 [propput, id(DISPID_TUNER_LCT_LANGID),
1072 helpstring("Language Identifier for Substream Content Language")]
1073 HRESULT LangID(
1074 [in] long LangID
1075 );
1076 };
1077
1078 //////////////////////////////////////////////////////////////////////////////////////
1079 [
1080 object,
1081 hidden,
1082 nonextensible,
1083 uuid(2C073D84-B51C-48c9-AA9F-68971E1F6E38),
1084 dual,
1085 oleautomation,
1086 helpstring("MPEG2 Component Type Interface"),
1087 pointer_default(unique)
1088 ]
1089 interface IMPEG2ComponentType : ILanguageComponentType
1090 {
1091 [propget, id(DISPID_TUNER_MP2CT_TYPE),
1092 helpstring("MPEG2 Stream Type")]
1093 HRESULT StreamType(
1094 [out, retval] MPEG2StreamType *MP2StreamType
1095 );
1096
1097 [propput, id(DISPID_TUNER_MP2CT_TYPE),
1098 helpstring("MPEG2 Stream Type")]
1099 HRESULT StreamType(
1100 [in] MPEG2StreamType MP2StreamType
1101 );
1102 };
1103
1104 //////////////////////////////////////////////////////////////////////////////////////
1105
1106 [
1107 object,
1108 hidden,
1109 nonextensible,
1110 uuid(FC189E4D-7BD4-4125-B3B3-3A76A332CC96),
1111 dual,
1112 oleautomation,
1113 helpstring("ATSC Component Type Interface"),
1114 pointer_default(unique)
1115 ]
1116 interface IATSCComponentType : IMPEG2ComponentType
1117 {
1118 [propget, id(DISPID_TUNER_ATSCCT_FLAGS),
1119 helpstring("ATSC Component Type Flags")]
1120 HRESULT Flags(
1121 [out, retval] long *Flags
1122 );
1123
1124 [propput, id(DISPID_TUNER_ATSCCT_FLAGS),
1125 helpstring("ATSC Component Type Flags")]
1126 HRESULT Flags(
1127 [in] long flags
1128 );
1129 };
1130
1131 //////////////////////////////////////////////////////////////////////////////////////
1132 [
1133 hidden, restricted,
1134 object,
1135 uuid(8A674B4A-1F63-11d3-B64C-00C04F79498E),
1136 pointer_default(unique)
1137 ]
1138 interface IEnumComponentTypes : IUnknown
1139 {
1140 HRESULT Next(
1141 [in] ULONG celt,
1142 [out, size_is(celt), length_is(*pceltFetched)]
1143 IComponentType** rgelt,
1144 [out] ULONG* pceltFetched
1145 );
1146
1147 HRESULT Skip(
1148 [in] ULONG celt
1149 );
1150
1151 HRESULT Reset(void);
1152
1153 HRESULT Clone(
1154 [out] IEnumComponentTypes** ppEnum
1155 );
1156 }
1157
1158
1159 //////////////////////////////////////////////////////////////////////////////////////
1160 // Component Type Container
1161 //////////////////////////////////////////////////////////////////////////////////////
1162
1163 [
1164 object,
1165 hidden,
1166 nonextensible,
1167 uuid(0DC13D4A-0313-11d3-9D8E-00C04F72D980),
1168 dual,
1169 oleautomation,
1170 helpstring("ComponentType Collection Interface"),
1171 pointer_default(unique)
1172 ]
1173 interface IComponentTypes : IDispatch
1174 {
1175 [propget, helpstring("Number of items in the collection")]
1176 HRESULT Count(
1177 [out, retval] long *Count
1178 );
1179
1180 [propget, id(DISPID_NEWENUM), hidden, restricted]
1181 HRESULT _NewEnum(
1182 [out, retval] IEnumVARIANT **ppNewEnum
1183 );
1184
1185 [hidden, restricted, helpstring("Convenience Function for Use with C")]
1186 HRESULT EnumComponentTypes(
1187 [out, retval] IEnumComponentTypes **ppNewEnum
1188 );
1189
1190 [id(DISPID_VALUE),
1191 propget,
1192 helpstring("Get the ComponentType at the specified index")]
1193 HRESULT Item(
1194 [in] VARIANT Index,
1195 [out, retval] IComponentType **ComponentType
1196 );
1197
1198 [id(DISPID_VALUE),
1199 propput,
1200 helpstring("Get the ComponentType at the specified index")]
1201 HRESULT Item(
1202 [in] VARIANT Index,
1203 [in] IComponentType *ComponentType
1204 );
1205
1206 [id(DISPID_ADDITEM),
1207 helpstring("Append the ComponentType to the collection")]
1208 HRESULT Add(
1209 [in] IComponentType *ComponentType,
1210 [out, retval] VARIANT *NewIndex
1211 );
1212
1213 [id(DISPID_REMOVEITEM),
1214 helpstring("Clear the collection")]
1215 HRESULT Remove(
1216 [in] VARIANT Index
1217 );
1218
1219 [helpstring("Copy the collection")]
1220 HRESULT Clone([out, retval] IComponentTypes **NewList);
1221 };
1222
1223 //////////////////////////////////////////////////////////////////////////////////////
1224 // Component Interfaces
1225 //////////////////////////////////////////////////////////////////////////////////////
1226
1227 [
1228 object,
1229 nonextensible,
1230 uuid(1A5576FC-0E19-11d3-9D8E-00C04F72D980),
1231 dual,
1232 oleautomation,
1233 helpstring("Component Interface"),
1234 pointer_default(unique)
1235 ]
1236 interface IComponent : IDispatch
1237 {
1238 [propget, id(DISPID_TUNER_C_TYPE),
1239 helpstring("Component Type")]
1240 HRESULT Type(
1241 [out, retval] IComponentType** CT
1242 );
1243
1244 // only loaders initialize components
1245 [hidden, restricted, propput, id(DISPID_TUNER_C_TYPE),
1246 helpstring("Component Type")]
1247 HRESULT Type(
1248 [in] IComponentType* CT
1249 );
1250
1251 // NOTE: this langid is *not* the same as the langid
1252 // in the componenttype(if the componenttype is a languagecomponenttype)
1253 // the langid in the component type is the language of the content this
1254 // component is describing. the following langid in the component is the
1255 // language of the descriptive info in the component object.
1256 [propget, id(DISPID_TUNER_C_LANGID),
1257 helpstring("Language Identifier for Description Language")]
1258 HRESULT DescLangID(
1259 [out, retval] long *LangID
1260 );
1261
1262 [propput, id(DISPID_TUNER_C_LANGID),
1263 helpstring("Language Identifier for Description Language")]
1264 HRESULT DescLangID(
1265 [in] long LangID
1266 );
1267
1268 [propget, id(DISPID_TUNER_C_STATUS),
1269 helpstring("Component Status")]
1270 HRESULT Status(
1271 [out, retval] ComponentStatus *Status
1272 );
1273
1274 [propput, id(DISPID_TUNER_C_STATUS),
1275 helpstring("Component Status")]
1276 HRESULT Status(
1277 [in] ComponentStatus Status
1278 );
1279
1280 [propget, id(DISPID_TUNER_C_DESCRIPTION),
1281 helpstring("Component Description")]
1282 HRESULT Description(
1283 [out, retval] BSTR *Description
1284 );
1285
1286 // restricted: only loaders will initialize components
1287 [hidden, restricted, propput, id(DISPID_TUNER_C_DESCRIPTION),
1288 helpstring("Component Description")]
1289 HRESULT Description(
1290 [in] BSTR Description
1291 );
1292
1293 [id(DISPID_TUNER_C_CLONE),
1294 helpstring("Copy Component")]
1295 HRESULT Clone(
1296 [out, retval] IComponent **NewComponent
1297 );
1298
1299 };
1300
1301 //////////////////////////////////////////////////////////////////////////////////////
1302 [
1303 object,
1304 nonextensible,
1305 uuid(1493E353-1EB6-473c-802D-8E6B8EC9D2A9),
1306 dual,
1307 oleautomation,
1308 helpstring("MPEG2 Component Interface"),
1309 pointer_default(unique)
1310 ]
1311 interface IMPEG2Component : IComponent
1312 {
1313 [propget, id(DISPID_TUNER_C_MP2_PID),
1314 helpstring("MPEG2 Packet ID for this Substream")]
1315 HRESULT PID(
1316 [out, retval] long *PID
1317 );
1318
1319 [propput, id(DISPID_TUNER_C_MP2_PID),
1320 helpstring("MPEG2 Packet ID for this Substream")]
1321 HRESULT PID(
1322 [in] long PID
1323 );
1324 [propget, id(DISPID_TUNER_C_MP2_PCRPID),
1325 helpstring("MPEG2 Packet ID for this Substream's Timestamps")]
1326 HRESULT PCRPID(
1327 [out, retval] long *PCRPID
1328 );
1329
1330 [propput, id(DISPID_TUNER_C_MP2_PCRPID),
1331 helpstring("MPEG2 Packet ID for this Substream's Timestamps")]
1332 HRESULT PCRPID(
1333 [in] long PCRPID
1334 );
1335
1336 // program number provides reverse lookup to PAT
1337 [propget, id(DISPID_TUNER_C_MP2_PROGNO),
1338 helpstring("MPEG2 Program Number")]
1339 HRESULT ProgramNumber(
1340 [out, retval] long *ProgramNumber
1341 );
1342
1343 [propput, id(DISPID_TUNER_C_MP2_PROGNO),
1344 helpstring("MPEG2 Program Number")]
1345 HRESULT ProgramNumber(
1346 [in] long ProgramNumber
1347 );
1348 };
1349
1350 //////////////////////////////////////////////////////////////////////////////////////
1351 [
1352 hidden, restricted,
1353 object,
1354 uuid(2A6E2939-2595-11d3-B64C-00C04F79498E),
1355 pointer_default(unique)
1356 ]
1357 interface IEnumComponents : IUnknown
1358 {
1359 HRESULT Next(
1360 [in] ULONG celt,
1361 [out, size_is(celt), length_is(*pceltFetched)]
1362 IComponent** rgelt,
1363 [out] ULONG* pceltFetched
1364 );
1365
1366 HRESULT Skip(
1367 [in] ULONG celt
1368 );
1369
1370 HRESULT Reset(void);
1371
1372 HRESULT Clone(
1373 [out] IEnumComponents** ppEnum
1374 );
1375 }
1376
1377
1378 //////////////////////////////////////////////////////////////////////////////////////
1379 // Component Container
1380 //////////////////////////////////////////////////////////////////////////////////////
1381
1382 [
1383 object,
1384 nonextensible,
1385 uuid(FCD01846-0E19-11d3-9D8E-00C04F72D980),
1386 dual,
1387 oleautomation,
1388 helpstring("Component Collection Interface"),
1389 pointer_default(unique)
1390 ]
1391 interface IComponents : IDispatch
1392 {
1393 [propget, helpstring("Number of items in the collection")]
1394 HRESULT Count(
1395 [out, retval] long *Count
1396 );
1397
1398 [propget, id(DISPID_NEWENUM), hidden, restricted]
1399 HRESULT _NewEnum(
1400 [out, retval] IEnumVARIANT **ppNewEnum
1401 );
1402
1403 [hidden, restricted, helpstring("Convenience Function for Use with C")]
1404 HRESULT EnumComponents(
1405 [out, retval] IEnumComponents **ppNewEnum
1406 );
1407
1408 [id(DISPID_VALUE),
1409 propget,
1410 helpstring("Get the Component at the specified index")]
1411 HRESULT Item(
1412 [in] VARIANT Index,
1413 [out, retval] IComponent **ppComponent
1414 );
1415
1416 [id(DISPID_ADDITEM),
1417 helpstring("Add the Component to the collection")]
1418 HRESULT Add(
1419 [in] IComponent *Component,
1420 [out, retval] VARIANT *NewIndex
1421 );
1422
1423 [id(DISPID_REMOVEITEM),
1424 helpstring("Remove the Component at the specified index")]
1425 HRESULT Remove(
1426 [in] VARIANT Index
1427 );
1428
1429 [helpstring("Copy the collection")]
1430 HRESULT Clone([out, retval] IComponents **NewList);
1431 };
1432
1433 //////////////////////////////////////////////////////////////////////////////////////
1434 // Component Container
1435 //////////////////////////////////////////////////////////////////////////////////////
1436 // this separates the what(general tune request properties) from the where
1437
1438
1439
1440 [
1441 object,
1442 nonextensible,
1443 uuid(286D7F89-760C-4F89-80C4-66841D2507AA),
1444 dual,
1445 oleautomation,
1446 helpstring("Generic Locator Information"),
1447 pointer_default(unique)
1448 ]
1449 interface ILocator : IDispatch
1450 {
1451
1452 [propget, id(DISPID_TUNER_L_CARRFREQ), helpstring("Carrier Frequency(DecaHertz)")]
1453 HRESULT CarrierFrequency(
1454 [out, retval] long* Frequency
1455 );
1456 [propput, id(DISPID_TUNER_L_CARRFREQ), helpstring("Carrier Frequency(DecaHertz)")]
1457 HRESULT CarrierFrequency(
1458 [in] long Frequency
1459 );
1460 [propget, id(DISPID_TUNER_L_INNERFECMETHOD), helpstring("Inner Fec Type")]
1461 HRESULT InnerFEC(
1462 [out, retval] FECMethod* FEC
1463 );
1464 [propput, id(DISPID_TUNER_L_INNERFECMETHOD), helpstring("Inner Fec Type")]
1465 HRESULT InnerFEC(
1466 [in] FECMethod FEC
1467 );
1468 [propget, id(DISPID_TUNER_L_INNERFECRATE), helpstring("Inner Fec Rate")]
1469 HRESULT InnerFECRate(
1470 [out, retval] BinaryConvolutionCodeRate* FEC
1471 );
1472 [propput, id(DISPID_TUNER_L_INNERFECRATE), helpstring("Inner Fec Rate")]
1473 HRESULT InnerFECRate(
1474 [in] BinaryConvolutionCodeRate FEC
1475 );
1476 [propget, id(DISPID_TUNER_L_OUTERFECMETHOD), helpstring("Outer Fec Type")]
1477 HRESULT OuterFEC(
1478 [out, retval] FECMethod* FEC
1479 );
1480 [propput, id(DISPID_TUNER_L_OUTERFECMETHOD), helpstring("Outer Fec Type")]
1481 HRESULT OuterFEC(
1482 [in] FECMethod FEC
1483 );
1484 [propget, id(DISPID_TUNER_L_OUTERFECRATE), helpstring("Outer Fec Rate")]
1485 HRESULT OuterFECRate(
1486 [out, retval] BinaryConvolutionCodeRate* FEC
1487 );
1488 [propput, id(DISPID_TUNER_L_OUTERFECRATE), helpstring("Outer Fec Rate")]
1489 HRESULT OuterFECRate(
1490 [in] BinaryConvolutionCodeRate FEC
1491 );
1492 [propget, id(DISPID_TUNER_L_MOD), helpstring("Modulation Type")]
1493 HRESULT Modulation(
1494 [out, retval] ModulationType* Modulation
1495 );
1496 [propput, id(DISPID_TUNER_L_MOD), helpstring("Modulation Type")]
1497 HRESULT Modulation(
1498 [in] ModulationType Modulation
1499 );
1500 [propget, id(DISPID_TUNER_L_SYMRATE), helpstring("Modulation Symbol Rate")]
1501 HRESULT SymbolRate(
1502 [out, retval] long* Rate
1503 );
1504 [propput, id(DISPID_TUNER_L_SYMRATE), helpstring("Modulation Symbol Rate")]
1505 HRESULT SymbolRate(
1506 [in] long Rate
1507 );
1508 [id(DISPID_TUNER_L_CLONE), helpstring("Copy the Locator")]
1509 HRESULT Clone([out, retval] ILocator **NewLocator);
1510 };
1511
1512 //////////////////////////////////////////////////////////////////////////////////////
1513 [
1514 object,
1515 hidden,
1516 nonextensible,
1517 uuid(BF8D986F-8C2B-4131-94D7-4D3D9FCC21EF),
1518 dual,
1519 oleautomation,
1520 helpstring("ATSC Locator Information"),
1521 pointer_default(unique)
1522 ]
1523 interface IATSCLocator : ILocator
1524 {
1525 [propget, id(DISPID_TUNER_L_ATSC_PHYS_CHANNEL),
1526 helpstring("Physical Channel")]
1527 HRESULT PhysicalChannel(
1528 [out, retval] long *PhysicalChannel
1529 );
1530 [propput, id(DISPID_TUNER_L_ATSC_PHYS_CHANNEL),
1531 helpstring("Physical Channel")]
1532 HRESULT PhysicalChannel(
1533 [in] long PhysicalChannel
1534 );
1535 [propget, id(DISPID_TUNER_L_ATSC_TSID),
1536 helpstring("Transport Stream ID")]
1537 HRESULT TSID(
1538 [out, retval] long *TSID
1539 );
1540 [propput, id(DISPID_TUNER_L_ATSC_TSID),
1541 helpstring("Transport Stream ID")]
1542 HRESULT TSID(
1543 [in] long TSID
1544 );
1545 };
1546
1547 //////////////////////////////////////////////////////////////////////////////////////
1548
1549 [
1550 object,
1551 hidden,
1552 nonextensible,
1553 uuid(8664DA16-DDA2-42ac-926A-C18F9127C302),
1554 dual,
1555 oleautomation,
1556 helpstring("DVB Terrestrial Locator Information"),
1557 pointer_default(unique)
1558 ]
1559 interface IDVBTLocator : ILocator
1560 {
1561 [propget, id(DISPID_TUNER_L_DVBT_BANDWIDTH), helpstring("Bandwidth")]
1562 HRESULT Bandwidth(
1563 [out, retval] long* BandWidthVal
1564 );
1565 [propput, id(DISPID_TUNER_L_DVBT_BANDWIDTH), helpstring("Bandwidth")]
1566 HRESULT Bandwidth(
1567 [in] long BandwidthVal
1568 );
1569
1570 [propget, id(DISPID_TUNER_L_DVBT_LPINNERFECMETHOD), helpstring("Inner Fec Type for Low Priority Stream")]
1571 HRESULT LPInnerFEC(
1572 [out, retval] FECMethod* FEC
1573 );
1574 [propput, id(DISPID_TUNER_L_DVBT_LPINNERFECMETHOD), helpstring("Inner Fec Type for Low Priority Stream")]
1575 HRESULT LPInnerFEC(
1576 [in] FECMethod FEC
1577 );
1578 [propget, id(DISPID_TUNER_L_DVBT_LPINNERFECRATE), helpstring("Inner Fec Rate for Low Priority Stream")]
1579 HRESULT LPInnerFECRate(
1580 [out, retval] BinaryConvolutionCodeRate* FEC
1581 );
1582 [propput, id(DISPID_TUNER_L_DVBT_LPINNERFECRATE), helpstring("Inner Fec Rate for Low Priority Stream")]
1583 HRESULT LPInnerFECRate(
1584 [in] BinaryConvolutionCodeRate FEC
1585 );
1586 [propget, id(DISPID_TUNER_L_DVBT_HALPHA), helpstring("Hierarchical Alpha")]
1587 HRESULT HAlpha(
1588 [out, retval] HierarchyAlpha* Alpha
1589 );
1590 [propput, id(DISPID_TUNER_L_DVBT_HALPHA), helpstring("Hierarchical Alpha")]
1591 HRESULT HAlpha(
1592 [in] HierarchyAlpha Alpha
1593 );
1594 [propget, id(DISPID_TUNER_L_DVBT_GUARDINTERVAL), helpstring("Guard Interval")]
1595 HRESULT Guard(
1596 [out, retval] GuardInterval* GI
1597 );
1598 [propput, id(DISPID_TUNER_L_DVBT_GUARDINTERVAL), helpstring("Guard Interval")]
1599 HRESULT Guard(
1600 [in] GuardInterval GI
1601 );
1602 [propget, id(DISPID_TUNER_L_DVBT_TRANSMISSIONMODE), helpstring("Transmission Mode")]
1603 HRESULT Mode(
1604 [out, retval] TransmissionMode* mode
1605 );
1606 [propput, id(DISPID_TUNER_L_DVBT_TRANSMISSIONMODE), helpstring("Transmission Mode")]
1607 HRESULT Mode(
1608 [in] TransmissionMode mode
1609 );
1610 [propget, id(DISPID_TUNER_L_DVBT_INUSE), helpstring("Hierarchical Alpha")]
1611 HRESULT OtherFrequencyInUse(
1612 [out, retval] VARIANT_BOOL* OtherFrequencyInUseVal
1613 );
1614 [propput, id(DISPID_TUNER_L_DVBT_INUSE), helpstring("Hierarchical Alpha")]
1615 HRESULT OtherFrequencyInUse(
1616 [in] VARIANT_BOOL OtherFrequencyInUseVal
1617 );
1618 };
1619
1620 //////////////////////////////////////////////////////////////////////////////////////
1621 [
1622 object,
1623 hidden,
1624 nonextensible,
1625 uuid(3D7C353C-0D04-45f1-A742-F97CC1188DC8),
1626 dual,
1627 oleautomation,
1628 helpstring("DVB Satellite Locator Information"),
1629 pointer_default(unique)
1630 ]
1631 interface IDVBSLocator : ILocator
1632 {
1633
1634 [propget, id(DISPID_TUNER_L_DVBS_POLARISATION), helpstring("Signal Polarisation Type")]
1635 HRESULT SignalPolarisation(
1636 [out, retval] Polarisation* PolarisationVal
1637 );
1638 [propput, id(DISPID_TUNER_L_DVBS_POLARISATION), helpstring("Signal Polarisation Type")]
1639 HRESULT SignalPolarisation(
1640 [in] Polarisation PolarisationVal
1641 );
1642 [propget, id(DISPID_TUNER_L_DVBS_WEST), helpstring("VARIANT_TRUE means orbital position specifies west longitude")]
1643 HRESULT WestPosition(
1644 [out, retval] VARIANT_BOOL* WestLongitude
1645 );
1646 [propput, id(DISPID_TUNER_L_DVBS_WEST), helpstring("VARIANT_TRUE means orbital position specifies west longitude")]
1647 HRESULT WestPosition(
1648 [in] VARIANT_BOOL WestLongitude
1649 );
1650 [propget, id(DISPID_TUNER_L_DVBS_ORBITAL), helpstring("Longitude in tenths of a degree")]
1651 HRESULT OrbitalPosition(
1652 [out, retval] long* longitude
1653 );
1654 [propput, id(DISPID_TUNER_L_DVBS_ORBITAL), helpstring("Longitude in tenths of a degree")]
1655 HRESULT OrbitalPosition(
1656 [in] long longitude
1657 );
1658 [propget, id(DISPID_TUNER_L_DVBS_AZIMUTH), helpstring("Azimuth in tenths of a degree")]
1659 HRESULT Azimuth(
1660 [out, retval] long* Azimuth
1661 );
1662 [propput, id(DISPID_TUNER_L_DVBS_AZIMUTH), helpstring("Azimuth in tenths of a degree")]
1663 HRESULT Azimuth(
1664 [in] long Azimuth
1665 );
1666 [propget, id(DISPID_TUNER_L_DVBS_ELEVATION), helpstring("Elevation in tenths of a degree")]
1667 HRESULT Elevation(
1668 [out, retval] long* Elevation
1669 );
1670 [propput, id(DISPID_TUNER_L_DVBS_ELEVATION), helpstring("Elevation in tenths of a degree")]
1671 HRESULT Elevation(
1672 [in] long Elevation
1673 );
1674 };
1675
1676 //////////////////////////////////////////////////////////////////////////////////////
1677 [
1678 object,
1679 hidden,
1680 nonextensible,
1681 uuid(6E42F36E-1DD2-43c4-9F78-69D25AE39034),
1682 dual,
1683 oleautomation,
1684 helpstring("DVB Cable Locator Information"),
1685 pointer_default(unique)
1686 ]
1687 interface IDVBCLocator : ILocator
1688 {
1689 };
1690
1691 //////////////////////////////////////////////////////////////////////////////////////
1692 //////////////////////////////////////////////////////////////////////////////////////
1693 // TYPELIB & CoClasses
1694 //////////////////////////////////////////////////////////////////////////////////////
1695 //////////////////////////////////////////////////////////////////////////////////////
1696 [
1697 uuid(9B085638-018E-11d3-9D8E-00C04F72D980),
1698 version(1.0),
1699 helpstring("Microsoft Tuner 1.0 Type Library")
1700 ]
1701 library TunerLib
1702 {
1703 importlib("stdole2.tlb");
1704
1705 // SystemTuningSpaces class
1706 [
1707 uuid(D02AAC50-027E-11d3-9D8E-00C04F72D980),
1708 helpstring("SystemTuningSpace Class")
1709 ]
1710 coclass SystemTuningSpaces
1711 {
1712 [default] interface ITuningSpaceContainer;
1713 };
1714
1715 // NOTE: there is no object factory for this class. the implementation for the underlying
1716 // code is a c++ abstract base class. this coclass is only provided here to
1717 // force vb to expose the base interface to enable polymorphic access to
1718 // derived objects
1719 [
1720 hidden, restricted,
1721 uuid(5FFDC5E6-B83A-4b55-B6E8-C69E765FE9DB),
1722 helpstring("dummy class to expose base tuning space i/f to VB")
1723 ]
1724 coclass TuningSpace
1725 {
1726 [default] interface ITuningSpace;
1727 };
1728
1729
1730 [
1731 uuid(A2E30750-6C3D-11d3-B653-00C04F79498E),
1732 helpstring("ATSC Digital Broadcast Tuning Space Class")
1733 ]
1734 coclass ATSCTuningSpace
1735 {
1736 [default] interface IATSCTuningSpace;
1737 };
1738
1739 [
1740 uuid(8A674B4C-1F63-11d3-B64C-00C04F79498E),
1741 helpstring("Analog Radio Tuning Space Class")
1742 ]
1743 coclass AnalogRadioTuningSpace
1744 {
1745 [default] interface IAnalogRadioTuningSpace;
1746 };
1747
1748 [
1749 uuid(8A674B4D-1F63-11d3-B64C-00C04F79498E),
1750 helpstring("Analog TV Tuning Space Class")
1751 ]
1752 coclass AnalogTVTuningSpace
1753 {
1754 [default] interface IAnalogTVTuningSpace;
1755 };
1756
1757 [
1758 uuid(C6B14B32-76AA-4a86-A7AC-5C79AAF58DA7),
1759 helpstring("DVB Tuning Space Class")
1760 ]
1761 coclass DVBTuningSpace
1762 {
1763 [default] interface IDVBTuningSpace;
1764 };
1765
1766
1767
1768 // ComponentTypes container class
1769 [
1770 uuid(A1A2B1C4-0E3A-11d3-9D8E-00C04F72D980),
1771 helpstring("Component Types Collection Class")
1772 ]
1773 coclass ComponentTypes
1774 {
1775 [default] interface IComponentTypes;
1776 };
1777
1778 // ComponentType class
1779 [
1780 uuid(823535A0-0318-11d3-9D8E-00C04F72D980),
1781 helpstring("ComponentType Class")
1782 ]
1783 coclass ComponentType
1784 {
1785 [default] interface IComponentType;
1786 };
1787
1788 // Language ComponentType class
1789 [
1790 uuid(1BE49F30-0E1B-11d3-9D8E-00C04F72D980),
1791 helpstring("LanguageComponentType Class")
1792 ]
1793 coclass LanguageComponentType
1794 {
1795 [default] interface ILanguageComponentType;
1796 };
1797
1798 // MPEG2 ComponentType class
1799 [
1800 uuid(418008F3-CF67-4668-9628-10DC52BE1D08),
1801 helpstring("MPEG2ComponentType Class")
1802 ]
1803 coclass MPEG2ComponentType
1804 {
1805 [default] interface IMPEG2ComponentType;
1806 };
1807
1808 // ATSC ComponentType class
1809 [
1810 uuid(A8DCF3D5-0780-4ef4-8A83-2CFFAACB8ACE),
1811 helpstring("ATSCComponentType Class")
1812 ]
1813 coclass ATSCComponentType
1814 {
1815 [default] interface IATSCComponentType;
1816 };
1817
1818 // Components class
1819 [
1820 hidden, restricted,
1821 uuid(809B6661-94C4-49e6-B6EC-3F0F862215AA),
1822 helpstring("Components Collection Class")
1823 ]
1824 coclass Components
1825 {
1826 [default] interface IComponents;
1827 };
1828
1829 // Component class
1830 // the components can only be created by network provider/tif. client apps
1831 // retrieve them from a filled-in tune request by either loading a persisted tune
1832 // request that has been filled in by a proper guide store loader or by re-getting
1833 // the current tune request property which will have this filled in by the network
1834 // provider
1835 [
1836 hidden, restricted,
1837 uuid(59DC47A8-116C-11d3-9D8E-00C04F72D980),
1838 helpstring("Component Class")
1839 ]
1840 coclass Component
1841 {
1842 [default] interface IComponent;
1843 };
1844
1845 // MPEG2 Component class
1846 [
1847 hidden, restricted,
1848 uuid(055CB2D7-2969-45cd-914B-76890722F112),
1849 helpstring("MPEG2 Component Class")
1850 ]
1851 coclass MPEG2Component
1852 {
1853 [default] interface IMPEG2Component;
1854 };
1855
1856
1857 // NOTE: there is no object factory for this class. the implementation for the underlying
1858 // code is a c++ abstract base class. this coclass is only provided here to
1859 // force vb to expose the base interface to enable polymorphic access to
1860 // derived objects
1861 [
1862 hidden, restricted,
1863 uuid(B46E0D38-AB35-4a06-A137-70576B01B39F),
1864 helpstring("dummy class to expose base tune request i/f to VB")
1865 ]
1866 coclass TuneRequest
1867 {
1868 [default] interface ITuneRequest;
1869 };
1870
1871
1872 // NOTE: the tuning request factories should not be invoked directly.
1873 // instead apps should use ITuningSpace::CreateTuningRequest to obtain a correctly
1874 // initialized tuning request of the appropriate type for that space.
1875 // the object factories are provided to allow generic code to a load a previously persisted
1876 // tune request object.
1877 [
1878 hidden,
1879 restricted,
1880 uuid(0369B4E5-45B6-11d3-B650-00C04F79498E),
1881 helpstring("Channel Tune Request")
1882 ]
1883 coclass ChannelTuneRequest
1884 {
1885 [default] interface IChannelTuneRequest;
1886 };
1887
1888 [
1889 hidden,
1890 restricted,
1891 uuid(0369B4E6-45B6-11d3-B650-00C04F79498E),
1892 helpstring("ATSC Channel Tune Request")
1893 ]
1894 coclass ATSCChannelTuneRequest
1895 {
1896 [default] interface IATSCChannelTuneRequest;
1897 };
1898
1899
1900 // NOTE: there is no object factory for this class. the implementation for the underlying
1901 // code is a c++ abstract base class. this coclass is only provided here to
1902 // force vb to expose the base interface to enable polymorphic access to
1903 // derived objects
1904 [
1905 hidden, restricted,
1906 uuid(0888C883-AC4F-4943-B516-2C38D9B34562),
1907 helpstring("dummy class to expose base locator i/f to VB")
1908 ]
1909 coclass Locator
1910 {
1911 [default] interface ILocator;
1912 };
1913
1914 // its not intended that client apps actually create locators. the network
1915 // provider in combination with the transport information filter(TIF) are the
1916 // only modules in the system that actually know the correct values for these objects
1917 // however, for testing purposes, its necessary to allow these to be created.
1918 // instead, normally these will simply be passed around opaquely since they're a
1919 // property of the base tune request interface.
1920 [
1921 uuid(8872FF1B-98FA-4d7a-8D93-C9F1055F85BB),
1922 helpstring("ATSC Locator")
1923 ]
1924 coclass ATSCLocator
1925 {
1926 [default] interface IATSCLocator;
1927 };
1928
1929 [
1930 uuid(9CD64701-BDF3-4d14-8E03-F12983D86664),
1931 helpstring("DVB-Terrestrial Locator")
1932 ]
1933 coclass DVBTLocator
1934 {
1935 [default] interface IDVBTLocator;
1936 };
1937
1938 [
1939 uuid(1DF7D126-4050-47f0-A7CF-4C4CA9241333),
1940 helpstring("DVB-Satellite Locator")
1941 ]
1942 coclass DVBSLocator
1943 {
1944 [default] interface IDVBSLocator;
1945 };
1946
1947 [
1948 uuid(C531D9FD-9685-4028-8B68-6E1232079F1E),
1949 helpstring("DVB-Cable Locator")
1950 ]
1951 coclass DVBCLocator
1952 {
1953 [default] interface ILocator;
1954 };
1955
1956 [
1957 hidden,
1958 restricted,
1959 uuid(15D6504A-5494-499c-886C-973C9E53B9F1),
1960 helpstring("DVB Tune Request")
1961 ]
1962 coclass DVBTuneRequest
1963 {
1964 [default] interface IDVBTuneRequest;
1965 };
1966
1967 // Sample tuner class definition:
1968 //
1969 // [
1970 // uuid(<some guid>),
1971 // helpstring("My Tuner object")
1972 // ]
1973 // coclass MyTuner
1974 // {
1975 // [default] interface ITuner;
1976 // interface IMyTunerCustomFeatureInterface;
1977 // [default, source] interface ITunerEvents;
1978 // [source] interface ISignalEvents;
1979 // };
1980
1981 ///////////////////////////////////////////////////////////////////////////////////////
1982 // utility objects
1983 ///////////////////////////////////////////////////////////////////////////////////////
1984 [
1985 hidden, restricted,
1986 uuid(8A674B49-1F63-11d3-B64C-00C04F79498E),
1987 helpstring("Create property bag backed by registry")
1988 ]
1989 coclass CreatePropBagOnRegKey
1990 {
1991 interface ICreatePropBagOnRegKey;
1992 };
1993
1994 }
1995
1996 // end of file -- tuner.idl

root@recompile.se
ViewVC Help
Powered by ViewVC 1.1.26