1#ifndef DO_NO_IMPORTS 2import "unknwn.idl"; 3import "strmif.idl"; 4import "bdatypes.h"; 5#endif 6 7/************************************************************ 8 * interface IBDA_NetworkProvider 9 */ 10[ 11 object, 12 uuid(fd501041-8ebe-11ce-8183-00aa00577da2), 13 pointer_default(unique) 14] 15interface IBDA_NetworkProvider : IUnknown 16{ 17 HRESULT PutSignalSource( 18 [in] ULONG ulSignalSource); 19 20 HRESULT GetSignalSource( 21 [in, out] ULONG * pulSignalSource); 22 23 HRESULT GetNetworkType( 24 [in, out] GUID * pguidNetworkType); 25 26 HRESULT PutTuningSpace( 27 [in] REFGUID guidTuningSpace); 28 29 HRESULT GetTuningSpace( 30 [in, out] GUID * pguidTuingSpace); 31 32 HRESULT RegisterDeviceFilter( 33 [in] IUnknown * pUnkFilterControl, 34 [in, out] ULONG * ppvRegisitrationContext); 35 36 HRESULT UnRegisterDeviceFilter( 37 [in] ULONG pvRegistrationContext); 38} 39 40 41/************************************************************ 42 * interface IBDA_EthernetFilter 43 */ 44[ 45 object, 46 uuid(71985F43-1CA1-11d3-9CC8-00C04F7971E0), 47 pointer_default(unique) 48] 49interface IBDA_EthernetFilter : IUnknown 50{ 51 HRESULT GetMulticastListSize( 52 [in, out] ULONG * pulcbAddresses); 53 54 HRESULT PutMulticastList( 55 [in] ULONG ulcbAddresses, 56 [in] BYTE * pAddressList); 57 58 HRESULT GetMulticastList( 59 [in, out] ULONG * pulcbAddresses, 60 [out] BYTE * pAddressList); 61 62 HRESULT PutMulticastMode( 63 [in] ULONG ulModeMask); 64 65 HRESULT GetMulticastMode( 66 [out] ULONG * pulModeMask); 67 68} 69 70/************************************************************ 71 * interface IBDA_IPV4Filter 72 */ 73[ 74 object, 75 uuid(71985F44-1CA1-11d3-9CC8-00C04F7971E0), 76 pointer_default(unique) 77] 78 79interface IBDA_IPV4Filter : IUnknown 80{ 81 HRESULT GetMulticastListSize( 82 [in, out] ULONG * pulcbAddresses); 83 84 HRESULT PutMulticastList( 85 [in] ULONG ulcbAddresses, 86 [in] BYTE * pAddressList); 87 88 HRESULT GetMulticastList( 89 [in, out] ULONG * pulcbAddresses, 90 [out] BYTE * pAddressList); 91 92 HRESULT PutMulticastMode( 93 [in] ULONG ulModeMask); 94 95 HRESULT GetMulticastMode( 96 [out] ULONG * pulModeMask); 97} 98 99/************************************************************ 100 * interface IBDA_IPV6Filter 101 */ 102 103[ 104 object, 105 uuid(E1785A74-2A23-4fb3-9245-A8F88017EF33), 106 pointer_default(unique) 107] 108interface IBDA_IPV6Filter : IUnknown 109{ 110 111 HRESULT GetMulticastListSize( 112 [in, out] ULONG * pulcbAddresses); 113 114 HRESULT PutMulticastList( 115 [in] ULONG ulcbAddresses, 116 [in] BYTE * pAddressList); 117 118 HRESULT GetMulticastList( 119 [in, out] ULONG * pulcbAddresses, 120 [out] BYTE * pAddressList); 121 122 HRESULT PutMulticastMode( 123 [in] ULONG ulModeMask); 124 125 HRESULT GetMulticastMode( 126 [out] ULONG * pulModeMask); 127} 128 129/************************************************************ 130 * interface IBDA_DeviceControl 131 */ 132 133[ 134 object, 135 uuid(FD0A5AF3-B41D-11d2-9C95-00C04F7971E0), 136 pointer_default(unique) 137] 138interface IBDA_DeviceControl : IUnknown 139{ 140 HRESULT StartChanges(void); 141 HRESULT CheckChanges(void); 142 HRESULT CommitChanges(void); 143 HRESULT GetChangeState( 144 [in, out] ULONG * pState); 145} 146 147/************************************************************ 148 * interface IBDA_PinControl 149 */ 150[ 151 object, 152 uuid(0DED49D5-A8B7-4d5d-97A1-12B0C195874D), 153 pointer_default(unique) 154] 155interface IBDA_PinControl : IUnknown 156{ 157 HRESULT GetPinID( 158 [in, out] ULONG * pulPinID); 159 160 HRESULT GetPinType( 161 [in, out] ULONG * pulPinType); 162 163 HRESULT RegistrationContext( 164 [in, out] ULONG * pulRegistrationCtx); 165} 166 167/************************************************************ 168 * interface IBDA_SignalProperties 169 */ 170[ 171 object, 172 uuid(D2F1644B-B409-11d2-BC69-00A0C9EE9E16), 173 pointer_default(unique) 174] 175interface IBDA_SignalProperties : IUnknown 176{ 177 HRESULT PutNetworkType( 178 [in] REFGUID guidNetworkType); 179 180 HRESULT GetNetworkType( 181 [in, out] GUID * pguidNetworkType); 182 183 HRESULT PutSignalSource( 184 [in] ULONG ulSignalSource); 185 186 HRESULT GetSignalSource( 187 [in, out] ULONG * pulSignalSource); 188 189 HRESULT PutTuningSpace( 190 [in] REFGUID guidTuningSpace); 191 192 HRESULT GetTuningSpace( 193 [in, out] GUID * pguidTuingSpace); 194} 195 196 197/************************************************************ 198 * interface IBDA_SignalStatistics 199 */ 200[ 201 object, 202 uuid(1347D106-CF3A-428a-A5CB-AC0D9A2A4338), 203 pointer_default(unique) 204] 205interface IBDA_SignalStatistics : IUnknown 206{ 207 HRESULT put_SignalStrength( 208 [in] LONG lDbStrength); 209 210 HRESULT get_SignalStrength( 211 [in, out] LONG * plDbStrength); 212 213 HRESULT put_SignalQuality( 214 [in] LONG lPercentQuality); 215 216 HRESULT get_SignalQuality( 217 [in, out] LONG * plPercentQuality); 218 219 HRESULT put_SignalPresent( 220 [in] BOOLEAN fPresent); 221 222 HRESULT get_SignalPresent( 223 [in, out] BOOLEAN * pfPresent); 224 225 HRESULT put_SignalLocked( 226 [in] BOOLEAN fLocked); 227 228 HRESULT get_SignalLocked( 229 [in, out] BOOLEAN * pfLocked); 230 231 HRESULT put_SampleTime( 232 [in] LONG lmsSampleTime); 233 234 HRESULT get_SampleTime( 235 [in, out] LONG * plmsSampleTime); 236} 237 238/************************************************************ 239 * interface IBDA_Topology 240 */ 241[ 242 object, 243 uuid(79B56888-7FEA-4690-B45D-38FD3C7849BE), 244 pointer_default(unique) 245] 246interface IBDA_Topology : IUnknown 247{ 248 HRESULT GetNodeTypes( 249 [in, out] ULONG * pulcNodeTypes, 250 [in] ULONG ulcNodeTypesMax, 251 [in, out] ULONG * rgulNodeTypes); 252 253 HRESULT GetNodeDescriptors( 254 [in, out] ULONG * ulcNodeDescriptors, 255 [in] ULONG ulcNodeDescriptorsMax, 256 [in, out] BDANODE_DESCRIPTOR * rgNodeDescriptors); 257 258 HRESULT GetNodeInterfaces( 259 [in] ULONG ulNodeType, 260 [in, out] ULONG * pulcInterfaces, 261 [in] ULONG ulcInterfacesMax, 262 [in, out] GUID * rgguidInterfaces); 263 264 HRESULT GetPinTypes( 265 [in, out] ULONG * pulcPinTypes, 266 [in] ULONG ulcPinTypesMax, 267 [in, out] ULONG * rgulPinTypes); 268 269 HRESULT GetTemplateConnections( 270 [in, out] ULONG * pulcConnections, 271 [in] ULONG ulcConnectionsMax, 272 [in, out, ] BDA_TEMPLATE_CONNECTION * rgConnections); 273 274 HRESULT CreatePin( 275 [in] ULONG ulPinType, 276 [in, out] ULONG * pulPinId); 277 278 HRESULT DeletePin( 279 [in] ULONG ulPinId); 280 281 HRESULT SetMediaType( 282 [in] ULONG ulPinId, 283 [in] AM_MEDIA_TYPE * pMediaType); 284 285 HRESULT SetMedium( 286 [in] ULONG ulPinId, 287 [in] REGPINMEDIUM * pMedium); 288 289 HRESULT CreateTopology( 290 [in] ULONG ulInputPinId, 291 [in] ULONG ulOutputPinId); 292 293 HRESULT GetControlNode( 294 [in] ULONG ulInputPinId, 295 [in] ULONG ulOutputPinId, 296 [in] ULONG ulNodeType, 297 [in, out] IUnknown ** ppControlNode); 298} 299 300/************************************************************ 301 * interface IBDA_VoidTransform 302 */ 303[ 304 object, 305 uuid(71985F46-1CA1-11d3-9CC8-00C04F7971E0), 306 pointer_default(unique) 307] 308interface IBDA_VoidTransform : IUnknown 309{ 310 HRESULT Start(); 311 312 HRESULT Stop(); 313} 314 315/************************************************************ 316 * interface IBDA_NullTransform 317 */ 318 319[ 320 object, 321 uuid(DDF15B0D-BD25-11d2-9CA0-00C04F7971E0), 322 pointer_default(unique) 323] 324interface IBDA_NullTransform : IUnknown 325{ 326 HRESULT Start(); 327 328 HRESULT Stop(); 329} 330 331/************************************************************ 332 * interface IBDA_FrequencyFilter 333 */ 334 335[ 336 object, 337 uuid(71985F47-1CA1-11d3-9CC8-00C04F7971E0), 338 pointer_default(unique) 339] 340interface IBDA_FrequencyFilter : IUnknown 341{ 342 HRESULT put_Autotune( 343 [in] ULONG ulTransponder); 344 345 HRESULT get_Autotune( 346 [in, out] ULONG * pulTransponder); 347 348 HRESULT put_Frequency( 349 [in] ULONG ulFrequency); 350 351 HRESULT get_Frequency( 352 [in, out] ULONG * pulFrequency); 353 354 HRESULT put_Polarity( 355 [in] Polarisation Polarity); 356 357 HRESULT get_Polarity( 358 [in, out] Polarisation * pPolarity); 359 360 HRESULT put_Range( 361 [in] ULONG ulRange); 362 363 HRESULT get_Range( 364 [in, out] ULONG * pulRange); 365 366 HRESULT put_Bandwidth( 367 [in] ULONG ulBandwidth); 368 369 HRESULT get_Bandwidth( 370 [in, out] ULONG * pulBandwidth); 371 372 HRESULT put_FrequencyMultiplier( 373 [in] ULONG ulMultiplier); 374 375 HRESULT get_FrequencyMultiplier( 376 [in, out] ULONG * pulMultiplier); 377} 378 379/************************************************************ 380 * interface IBDA_LNBInfo 381 */ 382[ 383 object, 384 uuid(992CF102-49F9-4719-A664-C4F23E2408F4), 385 pointer_default(unique) 386] 387interface IBDA_LNBInfo : IUnknown 388{ 389 HRESULT put_LocalOscilatorFrequencyLowBand( 390 [in] ULONG ulLOFLow); 391 392 HRESULT get_LocalOscilatorFrequencyLowBand( 393 [in, out] ULONG * pulLOFLow); 394 395 HRESULT put_LocalOscilatorFrequencyHighBand( 396 [in] ULONG ulLOFHigh); 397 398 HRESULT get_LocalOscilatorFrequencyHighBand( 399 [in, out] ULONG * pulLOFHigh); 400 401 HRESULT put_HighLowSwitchFrequency( 402 [in] ULONG ulSwitchFrequency); 403 404 HRESULT get_HighLowSwitchFrequency( 405 [in, out] ULONG * pulSwitchFrequency); 406} 407 408/************************************************************ 409 * interface IBDA_AutoDemodulate 410 */ 411 412[ 413 object, 414 uuid(DDF15B12-BD25-11d2-9CA0-00C04F7971E0), 415 pointer_default(unique) 416] 417interface IBDA_AutoDemodulate : IUnknown 418{ 419 HRESULT put_AutoDemodulate(); 420} 421 422/************************************************************ 423 * interface IBDA_DigitalDemodulator 424 */ 425 426[ 427 object, 428 uuid(EF30F379-985B-4d10-B640-A79D5E04E1E0), 429 pointer_default(unique) 430] 431interface IBDA_DigitalDemodulator : IUnknown 432{ 433 HRESULT put_ModulationType( 434 [in] ModulationType * pModulationType); 435 436 HRESULT get_ModulationType( 437 [in, out] ModulationType * pModulationType); 438 439 HRESULT put_InnerFECMethod( 440 [in] FECMethod * pFECMethod); 441 442 HRESULT get_InnerFECMethod( 443 [in, out] FECMethod * pFECMethod); 444 445 HRESULT put_InnerFECRate( 446 [in] BinaryConvolutionCodeRate * pFECRate); 447 448 HRESULT get_InnerFECRate( 449 [in, out] BinaryConvolutionCodeRate * pFECRate); 450 451 HRESULT put_OuterFECMethod( 452 [in] FECMethod * pFECMethod); 453 454 HRESULT get_OuterFECMethod( 455 [in, out] FECMethod * pFECMethod); 456 457 HRESULT put_OuterFECRate( 458 [in] BinaryConvolutionCodeRate * pFECRate); 459 460 HRESULT get_OuterFECRate( 461 [in, out] BinaryConvolutionCodeRate * pFECRate); 462 463 HRESULT put_SymbolRate( 464 [in] ULONG * pSymbolRate); 465 466 HRESULT get_SymbolRate( 467 [in, out] ULONG * pSymbolRate); 468 469 HRESULT put_SpectralInversion( 470 [in] SpectralInversion * pSpectralInversion); 471 472 HRESULT get_SpectralInversion( 473 [in, out] SpectralInversion * pSpectralInversion); 474} 475 476typedef enum 477{ 478 KSPROPERTY_IPSINK_MULTICASTLIST, 479 KSPROPERTY_IPSINK_ADAPTER_DESCRIPTION, 480 KSPROPERTY_IPSINK_ADAPTER_ADDRESS 481}KSPROPERTY_IPSINK; 482 483/************************************************************ 484 * interface IBDA_IPSinkControl 485 */ 486 487[ 488 object, 489 uuid(3F4DC8E2-4050-11d3-8F4B-00C04F7971E2), 490 pointer_default(unique), 491] 492interface IBDA_IPSinkControl : IUnknown 493{ 494 HRESULT GetMulticastList( 495 [in, out] unsigned long *pulcbSize, 496 [in, out] BYTE **pbBuffer); 497 498 HRESULT GetAdapterIPAddress( 499 [in, out] unsigned long *pulcbSize, 500 [in, out] BYTE ** pbBuffer); 501 502} 503 504/************************************************************ 505 * interface IBDA_IPSinkInfo 506 */ 507[ 508 object, 509 uuid(A750108F-492E-4d51-95F7-649B23FF7AD7), 510 pointer_default(unique) 511] 512interface IBDA_IPSinkInfo : IUnknown 513{ 514 HRESULT get_MulticastList( 515 [in, out] ULONG * pulcbAddresses, 516 [out] BYTE **ppbAddressList); 517 518 HRESULT get_AdapterIPAddress( 519 [out] BSTR *pbstrBuffer); 520 521 HRESULT get_AdapterDescription( 522 [out] BSTR *pbstrBuffer); 523} 524 525/************************************************************ 526 * interface IEnumPIDMap 527 */ 528 529[ 530 object, 531 uuid(afb6c2a2-2c41-11d3-8a60-0000f81e0e4a), 532 pointer_default(unique) 533] 534interface IEnumPIDMap : IUnknown 535{ 536 HRESULT Next( 537 [in] ULONG cRequest, 538 [in, out] PID_MAP * pPIDMap, 539 [out] ULONG * pcReceived); 540 541 HRESULT Skip( 542 [in] ULONG cRecords); 543 544 HRESULT Reset(); 545 546 HRESULT Clone( 547 [out] IEnumPIDMap ** ppIEnumPIDMap); 548} ; 549 550/************************************************************ 551 * interface IMPEG2PIDMap 552 */ 553 554[ 555 object, 556 uuid(afb6c2a1-2c41-11d3-8a60-0000f81e0e4a), 557 pointer_default(unique) 558] 559interface IMPEG2PIDMap : IUnknown 560{ 561 HRESULT MapPID( 562 [in] ULONG culPID, 563 [in] ULONG * pulPID, 564 [in] MEDIA_SAMPLE_CONTENT MediaSampleContent); 565 566 HRESULT UnmapPID( 567 [in] ULONG culPID, 568 [in] ULONG * pulPID); 569 570 HRESULT EnumPIDMap( 571 [out] IEnumPIDMap ** pIEnumPIDMap); 572} ; 573 574/************************************************************ 575 * interface IFrequencyMap 576 */ 577 578 [ 579 object, 580 uuid(06FB45C1-693C-4ea7-B79F-7A6A54D8DEF2), 581 pointer_default(unique), 582 ] 583 584 interface IFrequencyMap : IUnknown 585 { 586 HRESULT get_FrequencyMapping( 587 [out] ULONG* ulCount, 588 [out] ULONG** ppulList); 589 590 HRESULT put_FrequencyMapping( 591 [in] ULONG ulCount, 592 [in] ULONG *pList); 593 594 HRESULT get_CountryCode([out] ULONG *pulCountryCode); 595 596 HRESULT put_CountryCode( 597 [in] ULONG ulCountryCode); 598 599 HRESULT get_DefaultFrequencyMapping( 600 [in] ULONG ulCountryCode, 601 [out] ULONG* pulCount, 602 [out] ULONG** ppulList); 603 604 HRESULT get_CountryCodeList( 605 [out] ULONG* pulCount, 606 [out] ULONG** ppulList); 607 }; 608