bdamedia.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:48k
源码类别:

模拟服务器

开发平台:

C/C++

  1. //------------------------------------------------------------------------------
  2. // File: BDAMedia.h
  3. //
  4. // Desc: Broadcast Driver Architecture Multimedia Definitions.
  5. //
  6. // Copyright (c) 1996 - 2000, Microsoft Corporation.  All rights reserved.
  7. //------------------------------------------------------------------------------
  8. #if !defined(_KSMEDIA_)
  9. #error KSMEDIA.H must be included before BDAMEDIA.H
  10. #endif // !defined(_KSMEDIA_)
  11. #if !defined(_BDATYPES_)
  12. #error BDATYPES.H must be included before BDAMEDIA.H
  13. #endif // !defined(_BDATYPES_)
  14. #if !defined(_BDAMEDIA_)
  15. #define _BDAMEDIA_
  16. #if defined(__cplusplus)
  17. extern "C" {
  18. #endif // defined(__cplusplus)
  19. //===========================================================================
  20. //
  21. //  KSProperty Set Structure Definitions for BDA
  22. //
  23. //===========================================================================
  24. typedef struct _KSP_BDA_NODE_PIN {
  25.     KSPROPERTY      Property;
  26.     ULONG           ulNodeType;
  27.     ULONG           ulInputPinId;
  28.     ULONG           ulOutputPinId;
  29. } KSP_BDA_NODE_PIN, *PKSP_BDA_NODE_PIN;
  30. typedef struct {
  31.     KSP_NODE        Property;
  32.     ULONG           EsPid;
  33. } KSP_NODE_ESPID, *PKSP_NODE_ESPID;
  34. //===========================================================================
  35. //
  36. //  BDA Data Range definitions.  Includes specifier definitions.
  37. //
  38. //===========================================================================
  39. //  Antenna Signal Formats
  40. //
  41. typedef struct tagKS_DATARANGE_BDA_ANTENNA {
  42.    KSDATARANGE                  DataRange;
  43.    //   Antenna specifier can go here if required
  44.    //
  45. } KS_DATARANGE_BDA_ANTENNA, *PKS_DATARANGE_BDA_ANTENNA;
  46. //  Transport Formats
  47. //
  48. typedef struct tagBDA_TRANSPORT_INFO {
  49.     ULONG           ulcbPhyiscalPacket; // Size, in bytes, of a physical packet
  50.                                         // (e.g. Satellite link payload size.
  51.     ULONG           ulcbPhyiscalFrame;  // Size, in bytes, of each physical frame
  52.                                         // 0 indicates no HW requirement
  53.     ULONG           ulcbPhyiscalFrameAlignment; // Capture buffer alignment in bytes
  54.                                                 // 0 and 1 indicate no alignment requirements
  55.     REFERENCE_TIME  AvgTimePerFrame; // Normal ActiveMovie units (100 nS)
  56. } BDA_TRANSPORT_INFO, *PBDA_TRANSPORT_INFO;
  57. typedef struct tagKS_DATARANGE_BDA_TRANSPORT {
  58.    KSDATARANGE                  DataRange;
  59.    BDA_TRANSPORT_INFO           BdaTransportInfo;
  60.    //   Transport specifier can go here if required
  61.    //
  62. } KS_DATARANGE_BDA_TRANSPORT, *PKS_DATARANGE_BDA_TRANSPORT;
  63. //===========================================================================
  64. //
  65. //  BDA Stream Format GUIDs
  66. //
  67. //===========================================================================
  68. #define STATIC_KSDATAFORMAT_TYPE_BDA_ANTENNA
  69.     0x71985f41, 0x1ca1, 0x11d3, 0x9c, 0xc8, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0
  70. DEFINE_GUIDSTRUCT("71985F41-1CA1-11d3-9CC8-00C04F7971E0", KSDATAFORMAT_TYPE_BDA_ANTENNA);
  71. #define KSDATAFORMAT_TYPE_BDA_ANTENNA DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_BDA_ANTENNA)
  72. #define STATIC_KSDATAFORMAT_SUBTYPE_BDA_MPEG2_TRANSPORT
  73.     0xf4aeb342, 0x0329, 0x4fdd, 0xa8, 0xfd, 0x4a, 0xff, 0x49, 0x26, 0xc9, 0x78
  74. DEFINE_GUIDSTRUCT("F4AEB342-0329-4fdd-A8FD-4AFF4926C978", KSDATAFORMAT_SUBTYPE_BDA_MPEG2_TRANSPORT);
  75. #define KSDATAFORMAT_SUBTYPE_BDA_MPEG2_TRANSPORT DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_BDA_MPEG2_TRANSPORT)
  76. #define STATIC_KSDATAFORMAT_SPECIFIER_BDA_TRANSPORT
  77.     0x8deda6fd, 0xac5f, 0x4334, 0x8e, 0xcf, 0xa4, 0xba, 0x8f, 0xa7, 0xd0, 0xf0
  78. DEFINE_GUIDSTRUCT("8DEDA6FD-AC5F-4334-8ECF-A4BA8FA7D0F0", KSDATAFORMAT_SPECIFIER_BDA_TRANSPORT);
  79. #define KSDATAFORMAT_SPECIFIER_BDA_TRANSPORT DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_BDA_TRANSPORT)
  80. #define STATIC_KSDATAFORMAT_TYPE_BDA_IF_SIGNAL
  81.     0x61be0b47, 0xa5eb, 0x499b, 0x9a, 0x85, 0x5b, 0x16, 0xc0, 0x7f, 0x12, 0x58
  82. DEFINE_GUIDSTRUCT("61BE0B47-A5EB-499b-9A85-5B16C07F1258", KSDATAFORMAT_TYPE_BDA_IF_SIGNAL);
  83. #define KSDATAFORMAT_TYPE_BDA_IF_SIGNAL DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_BDA_IF_SIGNAL)
  84. #define STATIC_KSDATAFORMAT_TYPE_MPEG2_SECTIONS
  85.     0x455f176c, 0x4b06, 0x47ce, 0x9a, 0xef, 0x8c, 0xae, 0xf7, 0x3d, 0xf7, 0xb5
  86. DEFINE_GUIDSTRUCT("455F176C-4B06-47CE-9AEF-8CAEF73DF7B5", KSDATAFORMAT_TYPE_MPEG2_SECTIONS);
  87. #define KSDATAFORMAT_TYPE_MPEG2_SECTIONS DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_MPEG2_SECTIONS)
  88. #define STATIC_KSDATAFORMAT_SUBTYPE_ATSC_SI
  89.     0xb3c7397c, 0xd303, 0x414d, 0xb3, 0x3c, 0x4e, 0xd2, 0xc9, 0xd2, 0x97, 0x33
  90. DEFINE_GUIDSTRUCT("B3C7397C-D303-414D-B33C-4ED2C9D29733", KSDATAFORMAT_SUBTYPE_ATSC_SI);
  91. #define KSDATAFORMAT_SUBTYPE_SUBTYPE_ATSC_SI DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_ATSC_SI)
  92. #define STATIC_KSDATAFORMAT_SUBTYPE_DVB_SI
  93.     0xe9dd31a3, 0x221d, 0x4adb, 0x85, 0x32, 0x9a, 0xf3, 0x9, 0xc1, 0xa4, 0x8
  94. DEFINE_GUIDSTRUCT("e9dd31a3-221d-4adb-8532-9af309c1a408", KSDATAFORMAT_SUBTYPE_DVB_SI);
  95. #define KSDATAFORMAT_SUBTYPE_SUBTYPE_DVB_SI DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_DVB_SI)
  96. #define STATIC_KSDATAFORMAT_SUBTYPE_BDA_OPENCABLE_PSIP
  97.     0x762e3f66, 0x336f, 0x48d1, 0xbf, 0x83, 0x2b, 0x0, 0x35, 0x2c, 0x11, 0xf0
  98. DEFINE_GUIDSTRUCT("762E3F66-336F-48d1-BF83-2B00352C11F0", KSDATAFORMAT_SUBTYPE_BDA_OPENCABLE_PSIP);
  99. #define KSDATAFORMAT_SUBTYPE_BDA_OPENCABLE_PSIP DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_BDA_OPENCABLE_PSIP)
  100. #define STATIC_KSDATAFORMAT_SUBTYPE_BDA_OPENCABLE_OOB_PSIP
  101.     0x951727db, 0xd2ce, 0x4528, 0x96, 0xf6, 0x33, 0x1, 0xfa, 0xbb, 0x2d, 0xe0
  102. DEFINE_GUIDSTRUCT("951727DB-D2CE-4528-96F6-3301FABB2DE0", KSDATAFORMAT_SUBTYPE_BDA_OPENCABLE_OOB_PSIP);
  103. #define KSDATAFORMAT_SUBTYPE_BDA_OPENCABLE_OOB_PSIP DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_BDA_OPENCABLE_OOB_PSIP)
  104. //===========================================================================
  105. //
  106. //  KSPinName Definitions for BDA
  107. //
  108. //===========================================================================
  109. //  Pin name for a BDA transport pin
  110. //
  111. // {78216A81-CFA8-493e-9711-36A61C08BD9D}
  112. //
  113. #define STATIC_PINNAME_BDA_TRANSPORT 
  114.     0x78216a81, 0xcfa8, 0x493e, 0x97, 0x11, 0x36, 0xa6, 0x1c, 0x8, 0xbd, 0x9d
  115. DEFINE_GUIDSTRUCT("78216A81-CFA8-493e-9711-36A61C08BD9D", PINNAME_BDA_TRANSPORT);
  116. #define PINNAME_BDA_TRANSPORT DEFINE_GUIDNAMED(PINNAME_BDA_TRANSPORT)
  117. //  Pin name for a BDA analog video pin
  118. //
  119. // {5C0C8281-5667-486c-8482-63E31F01A6E9}
  120. //
  121. #define STATIC_PINNAME_BDA_ANALOG_VIDEO 
  122.     0x5c0c8281, 0x5667, 0x486c, 0x84, 0x82, 0x63, 0xe3, 0x1f, 0x1, 0xa6, 0xe9
  123. DEFINE_GUIDSTRUCT("5C0C8281-5667-486c-8482-63E31F01A6E9", PINNAME_BDA_ANALOG_VIDEO);
  124. #define PINNAME_BDA_ANALOG_VIDEO DEFINE_GUIDNAMED(PINNAME_BDA_ANALOG_VIDEO)
  125. //  Pin name for a BDA analog audio pin
  126. //
  127. // {D28A580A-9B1F-4b0c-9C33-9BF0A8EA636B}
  128. //
  129. #define STATIC_PINNAME_BDA_ANALOG_AUDIO 
  130.     0xd28a580a, 0x9b1f, 0x4b0c, 0x9c, 0x33, 0x9b, 0xf0, 0xa8, 0xea, 0x63, 0x6b
  131. DEFINE_GUIDSTRUCT("D28A580A-9B1F-4b0c-9C33-9BF0A8EA636B", PINNAME_BDA_ANALOG_AUDIO);
  132. #define PINNAME_BDA_ANALOG_AUDIO DEFINE_GUIDNAMED(PINNAME_BDA_ANALOG_AUDIO)
  133. //  Pin name for a BDA FM Radio pin
  134. //
  135. // {D2855FED-B2D3-4eeb-9BD0-193436A2F890}
  136. //
  137. #define STATIC_PINNAME_BDA_FM_RADIO 
  138.     0xd2855fed, 0xb2d3, 0x4eeb, 0x9b, 0xd0, 0x19, 0x34, 0x36, 0xa2, 0xf8, 0x90
  139. DEFINE_GUIDSTRUCT("D2855FED-B2D3-4eeb-9BD0-193436A2F890", PINNAME_BDA_FM_RADIO);
  140. #define PINNAME_BDA_FM_RADIO DEFINE_GUIDNAMED(PINNAME_BDA_FM_RADIO)
  141. //  Pin name for a BDA Intermediate Frequency pin
  142. //
  143. // {1A9D4A42-F3CD-48a1-9AEA-71DE133CBE14}
  144. //
  145. #define STATIC_PINNAME_BDA_IF_PIN 
  146.     0x1a9d4a42, 0xf3cd, 0x48a1, 0x9a, 0xea, 0x71, 0xde, 0x13, 0x3c, 0xbe, 0x14
  147. DEFINE_GUIDSTRUCT("1A9D4A42-F3CD-48a1-9AEA-71DE133CBE14", PINNAME_BDA_IF_PIN);
  148. #define PINNAME_BDA_IF_PIN DEFINE_GUIDNAMED(PINNAME_BDA_IF_PIN)
  149. //  Pin name for a BDA Open Cable PSIP pin
  150. //
  151. // {297BB104-E5C9-4ACE-B123-95C3CBB24D4F}
  152. //
  153. #define STATIC_PINNAME_BDA_OPENCABLE_PSIP_PIN 
  154.     0x297bb104, 0xe5c9, 0x4ace, 0xb1, 0x23, 0x95, 0xc3, 0xcb, 0xb2, 0x4d, 0x4f
  155. DEFINE_GUIDSTRUCT("297BB104-E5C9-4ACE-B123-95C3CBB24D4F", PINNAME_BDA_OPENCABLE_PSIP_PIN);
  156. #define PINNAME_BDA_OPENCABLE_PSIP_PIN DEFINE_GUIDNAMED(PINNAME_BDA_OPENCABLE_PSIP_PIN)
  157. //===========================================================================
  158. //
  159. //  KSProperty Set Definitions for BDA
  160. //
  161. //===========================================================================
  162. //------------------------------------------------------------
  163. //
  164. //  BDA Network Ethernet Filter Property Set
  165. //
  166. // {71985F43-1CA1-11d3-9CC8-00C04F7971E0}
  167. //
  168. #define STATIC_KSPROPSETID_BdaEthernetFilter 
  169.     0x71985f43, 0x1ca1, 0x11d3, 0x9c, 0xc8, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0
  170. DEFINE_GUIDSTRUCT("71985F43-1CA1-11d3-9CC8-00C04F7971E0", KSPROPSETID_BdaEthernetFilter);
  171. #define KSPROPSETID_BdaEthernetFilter DEFINE_GUIDNAMED(KSPROPSETID_BdaEthernetFilter)
  172. typedef enum {
  173.     KSPROPERTY_BDA_ETHERNET_FILTER_MULTICAST_LIST_SIZE = 0,
  174.     KSPROPERTY_BDA_ETHERNET_FILTER_MULTICAST_LIST,
  175.     KSPROPERTY_BDA_ETHERNET_FILTER_MULTICAST_MODE
  176. } KSPROPERTY_BDA_ETHERNET_FILTER;
  177. #define DEFINE_KSPROPERTY_ITEM_BDA_ETHERNET_FILTER_MULTICAST_LIST_SIZE(GetHandler, SetHandler)
  178.     DEFINE_KSPROPERTY_ITEM(
  179.         KSPROPERTY_BDA_ETHERNET_FILTER_MULTICAST_LIST_SIZE,
  180.         (GetHandler),
  181.         sizeof(KSPROPERTY),
  182.         sizeof(ULONG),
  183.         FALSE,
  184.         NULL, 0, NULL, NULL, 0)
  185. #define DEFINE_KSPROPERTY_ITEM_BDA_ETHERNET_FILTER_MULTICAST_LIST(GetHandler, SetHandler)
  186.     DEFINE_KSPROPERTY_ITEM(
  187.         KSPROPERTY_BDA_ETHERNET_FILTER_MULTICAST_LIST,
  188.         (GetHandler),
  189.         sizeof(KSPROPERTY),
  190.         sizeof(BDA_ETHERNET_ADDRESS_LIST),
  191.         (SetHandler),
  192.         NULL, 0, NULL, NULL, 0)
  193. #define DEFINE_KSPROPERTY_ITEM_BDA_ETHERNET_FILTER_MULTICAST_MODE(GetHandler, SetHandler)
  194.     DEFINE_KSPROPERTY_ITEM(
  195.         KSPROPERTY_BDA_ETHERNET_FILTER_MULTICAST_MODE,
  196.         (GetHandler),
  197.         sizeof(KSPROPERTY),
  198.         sizeof(BDA_MULTICAST_MODE),
  199.         (SetHandler),
  200.         NULL, 0, NULL, NULL, 0)
  201. //------------------------------------------------------------
  202. //
  203. //  BDA Network IPv4 Filter Property Set
  204. //
  205. // {71985F44-1CA1-11d3-9CC8-00C04F7971E0}
  206. //
  207. #define STATIC_KSPROPSETID_BdaIPv4Filter 
  208.     0x71985f44, 0x1ca1, 0x11d3, 0x9c, 0xc8, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0
  209. DEFINE_GUIDSTRUCT("71985F44-1CA1-11d3-9CC8-00C04F7971E0", KSPROPSETID_BdaIPv4Filter);
  210. #define KSPROPSETID_BdaIPv4Filter DEFINE_GUIDNAMED(KSPROPSETID_BdaIPv4Filter)
  211. typedef enum {
  212.     KSPROPERTY_BDA_IPv4_FILTER_MULTICAST_LIST_SIZE = 0,
  213.     KSPROPERTY_BDA_IPv4_FILTER_MULTICAST_LIST,
  214.     KSPROPERTY_BDA_IPv4_FILTER_MULTICAST_MODE
  215. } KSPROPERTY_BDA_IPv4_FILTER;
  216. #define DEFINE_KSPROPERTY_ITEM_BDA_IPv4_FILTER_MULTICAST_LIST_SIZE(GetHandler, SetHandler)
  217.     DEFINE_KSPROPERTY_ITEM(
  218.         KSPROPERTY_BDA_IPv4_FILTER_MULTICAST_LIST_SIZE,
  219.         (GetHandler),
  220.         sizeof(KSPROPERTY),
  221.         sizeof(ULONG),
  222.         FALSE,
  223.         NULL, 0, NULL, NULL, 0)
  224. #define DEFINE_KSPROPERTY_ITEM_BDA_IPv4_FILTER_MULTICAST_LIST(GetHandler, SetHandler)
  225.     DEFINE_KSPROPERTY_ITEM(
  226.         KSPROPERTY_BDA_IPv4_FILTER_MULTICAST_LIST,
  227.         (GetHandler),
  228.         sizeof(KSPROPERTY),
  229.         sizeof(BDA_IPv4_ADDRESS_LIST),
  230.         (SetHandler),
  231.         NULL, 0, NULL, NULL, 0)
  232. #define DEFINE_KSPROPERTY_ITEM_BDA_IPv4_FILTER_MULTICAST_MODE(GetHandler, SetHandler)
  233.     DEFINE_KSPROPERTY_ITEM(
  234.         KSPROPERTY_BDA_IPv4_FILTER_MULTICAST_MODE,
  235.         (GetHandler),
  236.         sizeof(KSPROPERTY),
  237.         sizeof(BDA_MULTICAST_MODE),
  238.         (SetHandler),
  239.         NULL, 0, NULL, NULL, 0)
  240. //------------------------------------------------------------
  241. //
  242. //  BDA Network IPv6 Filter Property Set
  243. //
  244. // {E1785A74-2A23-4fb3-9245-A8F88017EF33}
  245. //
  246. #define STATIC_KSPROPSETID_BdaIPv6Filter 
  247.     0xe1785a74, 0x2a23, 0x4fb3, 0x92, 0x45, 0xa8, 0xf8, 0x80, 0x17, 0xef, 0x33
  248. DEFINE_GUIDSTRUCT("E1785A74-2A23-4fb3-9245-A8F88017EF33", KSPROPSETID_BdaIPv6Filter);
  249. #define KSPROPSETID_BdaIPv6Filter DEFINE_GUIDNAMED(KSPROPSETID_BdaIPv6Filter)
  250. typedef enum {
  251.     KSPROPERTY_BDA_IPv6_FILTER_MULTICAST_LIST_SIZE = 0,
  252.     KSPROPERTY_BDA_IPv6_FILTER_MULTICAST_LIST,
  253.     KSPROPERTY_BDA_IPv6_FILTER_MULTICAST_MODE
  254. } KSPROPERTY_BDA_IPv6_FILTER;
  255. #define DEFINE_KSPROPERTY_ITEM_BDA_IPv6_FILTER_MULTICAST_LIST_SIZE(GetHandler, SetHandler)
  256.     DEFINE_KSPROPERTY_ITEM(
  257.         KSPROPERTY_BDA_IPv6_FILTER_MULTICAST_LIST_SIZE,
  258.         (GetHandler),
  259.         sizeof(KSPROPERTY),
  260.         sizeof(ULONG),
  261.         FALSE,
  262.         NULL, 0, NULL, NULL, 0)
  263. #define DEFINE_KSPROPERTY_ITEM_BDA_IPv6_FILTER_MULTICAST_LIST(GetHandler, SetHandler)
  264.     DEFINE_KSPROPERTY_ITEM(
  265.         KSPROPERTY_BDA_IPv6_FILTER_MULTICAST_LIST,
  266.         (GetHandler),
  267.         sizeof(KSPROPERTY),
  268.         sizeof(BDA_IPv6_ADDRESS_LIST),
  269.         (SetHandler),
  270.         NULL, 0, NULL, NULL, 0)
  271. #define DEFINE_KSPROPERTY_ITEM_BDA_IPv6_FILTER_MULTICAST_MODE(GetHandler, SetHandler)
  272.     DEFINE_KSPROPERTY_ITEM(
  273.         KSPROPERTY_BDA_IPv6_FILTER_MULTICAST_MODE,
  274.         (GetHandler),
  275.         sizeof(KSPROPERTY),
  276.         sizeof(BDA_MULTICAST_MODE),
  277.         (SetHandler),
  278.         NULL, 0, NULL, NULL, 0)
  279. //------------------------------------------------------------
  280. //
  281. //
  282. //  BDA Signal Property Set
  283. //
  284. //  {D2F1644B-B409-11d2-BC69-00A0C9EE9E16}
  285. //
  286. #define STATIC_KSPROPSETID_BdaSignal 
  287.     0xd2f1644b, 0xb409, 0x11d2, 0xbc, 0x69, 0x0, 0xa0, 0xc9, 0xee, 0x9e, 0x16
  288. DEFINE_GUIDSTRUCT("D2F1644B-B409-11d2-BC69-00A0C9EE9E16", KSPROPSETID_BdaSignal);
  289. #define KSPROPSETID_BdaSignal DEFINE_GUIDNAMED(KSPROPSETID_BdaSignal)
  290. typedef enum {
  291.     KSPROPERTY_BDA_SIGNAL_SOURCE = 0,
  292.     KSPROPERTY_BDA_SIGNAL_TUNING_SPACE,
  293.     KSPROPERTY_BDA_SIGNAL_NETWORK_TYPE,
  294.     KSPROPERTY_BDA_SIGNAL_STATE
  295. } KSPROPERTY_BDA_SIGNAL;
  296. #define DEFINE_KSPROPERTY_ITEM_BDA_SIGNAL_SOURCE(GetHandler, SetHandler)
  297.     DEFINE_KSPROPERTY_ITEM(
  298.         KSPROPERTY_BDA_SIGNAL_SOURCE,
  299.         (GetHandler),
  300.         sizeof(KSPROPERTY),
  301.         sizeof(ULONG),
  302.         (SetHandler),
  303.         NULL, 0, NULL, NULL, 0)
  304. #define DEFINE_KSPROPERTY_ITEM_BDA_SIGNAL_TUNING_SPACE(GetHandler, SetHandler)
  305.     DEFINE_KSPROPERTY_ITEM(
  306.         KSPROPERTY_BDA_SIGNAL_TUNING_SPACE,
  307.         (GetHandler),
  308.         sizeof(KSPROPERTY),
  309.         sizeof(GUID),
  310.         (SetHandler),
  311.         NULL, 0, NULL, NULL, 0)
  312. #define DEFINE_KSPROPERTY_ITEM_BDA_SIGNAL_NETWORK_TYPE(GetHandler, SetHandler)
  313.     DEFINE_KSPROPERTY_ITEM(
  314.         KSPROPERTY_BDA_SIGNAL_NETWORK_TYPE,
  315.         (GetHandler),
  316.         sizeof(KSPROPERTY),
  317.         sizeof(GUID),
  318.         (SetHandler),
  319.         NULL, 0, NULL, NULL, 0)
  320. #define DEFINE_KSPROPERTY_ITEM_BDA_SIGNAL_STATE(GetHandler, SetHandler)
  321.     DEFINE_KSPROPERTY_ITEM(
  322.         KSPROPERTY_BDA_SIGNAL_STATE,
  323.         (GetHandler),
  324.         sizeof(KSPROPERTY),
  325.         sizeof(BDA_SIGNAL_STATE),
  326.         (SetHandler),
  327.         NULL, 0, NULL, NULL, 0)
  328. //------------------------------------------------------------
  329. //
  330. //
  331. //  BDA Change Sync Method Set
  332. //
  333. // {FD0A5AF3-B41D-11d2-9C95-00C04F7971E0}
  334. //
  335. #define STATIC_KSMETHODSETID_BdaChangeSync 
  336.     0xfd0a5af3, 0xb41d, 0x11d2, 0x9c, 0x95, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0
  337. DEFINE_GUIDSTRUCT("FD0A5AF3-B41D-11d2-9C95-00C04F7971E0", KSMETHODSETID_BdaChangeSync);
  338. #define KSMETHODSETID_BdaChangeSync DEFINE_GUIDNAMED(KSMETHODSETID_BdaChangeSync)
  339. typedef enum {
  340.     KSMETHOD_BDA_START_CHANGES = 0,
  341.     KSMETHOD_BDA_CHECK_CHANGES,
  342.     KSMETHOD_BDA_COMMIT_CHANGES,
  343.     KSMETHOD_BDA_GET_CHANGE_STATE
  344. } KSMETHOD_BDA_CHANGE_SYNC;
  345. #define DEFINE_KSMETHOD_ITEM_BDA_START_CHANGES(MethodHandler, SupportHandler)
  346.     DEFINE_KSMETHOD_ITEM(
  347.         KSMETHOD_BDA_START_CHANGES,
  348.         KSMETHOD_TYPE_NONE,
  349.         (MethodHandler),
  350.         sizeof(KSMETHOD),
  351.         0,
  352.         SupportHandler)
  353. #define DEFINE_KSMETHOD_ITEM_BDA_CHECK_CHANGES(MethodHandler, SupportHandler)
  354.     DEFINE_KSMETHOD_ITEM(
  355.         KSMETHOD_BDA_CHECK_CHANGES,
  356.         KSMETHOD_TYPE_NONE,
  357.         (MethodHandler),
  358.         sizeof(KSMETHOD),
  359.         0,
  360.         SupportHandler)
  361. #define DEFINE_KSMETHOD_ITEM_BDA_COMMIT_CHANGES(MethodHandler, SupportHandler)
  362.     DEFINE_KSMETHOD_ITEM(
  363.         KSMETHOD_BDA_COMMIT_CHANGES,
  364.         KSMETHOD_TYPE_NONE,
  365.         (MethodHandler),
  366.         sizeof(KSMETHOD),
  367.         0,
  368.         SupportHandler)
  369. #define DEFINE_KSMETHOD_ITEM_BDA_GET_CHANGE_STATE(MethodHandler, SupportHandler)
  370.     DEFINE_KSMETHOD_ITEM(
  371.         KSMETHOD_BDA_GET_CHANGE_STATE,
  372.         KSMETHOD_TYPE_READ,
  373.         (MethodHandler),
  374.         sizeof(KSMETHOD),
  375.         0,
  376.         SupportHandler)
  377. //------------------------------------------------------------
  378. //
  379. //
  380. //  BDA Device Configuration Method Set
  381. //
  382. // {71985F45-1CA1-11d3-9CC8-00C04F7971E0}
  383. //
  384. #define STATIC_KSMETHODSETID_BdaDeviceConfiguration 
  385.     0x71985f45, 0x1ca1, 0x11d3, 0x9c, 0xc8, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0
  386. DEFINE_GUIDSTRUCT("71985F45-1CA1-11d3-9CC8-00C04F7971E0", KSMETHODSETID_BdaDeviceConfiguration);
  387. #define KSMETHODSETID_BdaDeviceConfiguration DEFINE_GUIDNAMED(KSMETHODSETID_BdaDeviceConfiguration)
  388. typedef enum {
  389.     KSMETHOD_BDA_CREATE_PIN_FACTORY = 0,
  390.     KSMETHOD_BDA_DELETE_PIN_FACTORY,
  391.     KSMETHOD_BDA_CREATE_TOPOLOGY
  392. } KSMETHOD_BDA_DEVICE_CONFIGURATION;
  393. #define DEFINE_KSMETHOD_ITEM_BDA_CREATE_PIN_FACTORY(MethodHandler, SupportHandler)
  394.     DEFINE_KSMETHOD_ITEM(
  395.         KSMETHOD_BDA_CREATE_PIN_FACTORY,
  396.         KSMETHOD_TYPE_READ,
  397.         (MethodHandler),
  398.         sizeof(KSM_PIN),
  399.         sizeof(ULONG),
  400.         SupportHandler)
  401. #define DEFINE_KSMETHOD_ITEM_BDA_DELETE_PIN_FACTORY(MethodHandler, SupportHandler)
  402.     DEFINE_KSMETHOD_ITEM(
  403.         KSMETHOD_BDA_DELETE_PIN_FACTORY,
  404.         KSMETHOD_TYPE_NONE,
  405.         (MethodHandler),
  406.         sizeof(KSM_PIN),
  407.         0,
  408.         SupportHandler)
  409. #define DEFINE_KSMETHOD_ITEM_BDA_CREATE_TOPOLOGY(MethodHandler, SupportHandler)
  410.     DEFINE_KSMETHOD_ITEM(
  411.         KSMETHOD_BDA_CREATE_TOPOLOGY,
  412.         KSMETHOD_TYPE_WRITE,
  413.         (MethodHandler),
  414.         sizeof(KSMETHOD),
  415.         sizeof(KSMULTIPLE_ITEM),
  416.         SupportHandler)
  417. //------------------------------------------------------------
  418. //
  419. //
  420. //  BDA Topology Property Set
  421. //
  422. // {A14EE835-0A23-11d3-9CC7-00C04F7971E0}
  423. //
  424. #define STATIC_KSPROPSETID_BdaTopology 
  425.     0xa14ee835, 0x0a23, 0x11d3, 0x9c, 0xc7, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0
  426. DEFINE_GUIDSTRUCT("A14EE835-0A23-11d3-9CC7-00C04F7971E0", KSPROPSETID_BdaTopology);
  427. #define KSPROPSETID_BdaTopology DEFINE_GUIDNAMED(KSPROPSETID_BdaTopology)
  428. typedef enum {
  429.     KSPROPERTY_BDA_NODE_TYPES,
  430.     KSPROPERTY_BDA_PIN_TYPES,
  431.     KSPROPERTY_BDA_TEMPLATE_CONNECTIONS,
  432.     KSPROPERTY_BDA_NODE_METHODS,
  433.     KSPROPERTY_BDA_NODE_PROPERTIES,
  434.     KSPROPERTY_BDA_NODE_EVENTS,
  435.     KSPROPERTY_BDA_CONTROLLING_PIN_ID,
  436.     KSPROPERTY_BDA_NODE_DESCRIPTORS
  437.  }KSPROPERTY_BDA_TOPOLOGY;
  438. #define DEFINE_KSPROPERTY_ITEM_BDA_NODE_TYPES(GetHandler, SetHandler)
  439.     DEFINE_KSPROPERTY_ITEM(
  440.         KSPROPERTY_BDA_NODE_TYPES,
  441.         (GetHandler),
  442.         sizeof(KSPROPERTY),
  443.         0,
  444.         FALSE,
  445.         NULL, 0, NULL, NULL, 0)
  446. #define DEFINE_KSPROPERTY_ITEM_BDA_PIN_TYPES(GetHandler, SetHandler)
  447.     DEFINE_KSPROPERTY_ITEM(
  448.         KSPROPERTY_BDA_PIN_TYPES,
  449.         (GetHandler),
  450.         sizeof(KSPROPERTY),
  451.         0,
  452.         FALSE,
  453.         NULL, 0, NULL, NULL, 0)
  454. #define DEFINE_KSPROPERTY_ITEM_BDA_TEMPLATE_CONNECTIONS(GetHandler, SetHandler)
  455.     DEFINE_KSPROPERTY_ITEM(
  456.         KSPROPERTY_BDA_TEMPLATE_CONNECTIONS,
  457.         (GetHandler),
  458.         sizeof(KSPROPERTY),
  459.         sizeof( BDA_TEMPLATE_CONNECTION),
  460.         FALSE,
  461.         NULL, 0, NULL, NULL, 0)
  462. #define DEFINE_KSPROPERTY_ITEM_BDA_NODE_METHODS(GetHandler, SetHandler)
  463.     DEFINE_KSPROPERTY_ITEM(
  464.         KSPROPERTY_BDA_NODE_METHODS,
  465.         (GetHandler),
  466.         sizeof(KSPROPERTY),
  467.         0,
  468.         FALSE,
  469.         NULL, 0, NULL, NULL, 0)
  470. #define DEFINE_KSPROPERTY_ITEM_BDA_NODE_PROPERTIES(GetHandler, SetHandler)
  471.     DEFINE_KSPROPERTY_ITEM(
  472.         KSPROPERTY_BDA_NODE_PROPERTIES,
  473.         (GetHandler),
  474.         sizeof(KSPROPERTY),
  475.         0,
  476.         FALSE,
  477.         NULL, 0, NULL, NULL, 0)
  478. #define DEFINE_KSPROPERTY_ITEM_BDA_NODE_EVENTS(GetHandler, SetHandler)
  479.     DEFINE_KSPROPERTY_ITEM(
  480.         KSPROPERTY_BDA_NODE_EVENTS,
  481.         (GetHandler),
  482.         sizeof(KSPROPERTY),
  483.         0,
  484.         FALSE,
  485.         NULL, 0, NULL, NULL, 0)
  486. #define DEFINE_KSPROPERTY_ITEM_BDA_CONTROLLING_PIN_ID(GetHandler, SetHandler)
  487.     DEFINE_KSPROPERTY_ITEM(
  488.         KSPROPERTY_BDA_CONTROLLING_PIN_ID,
  489.         (GetHandler),
  490.         sizeof(KSP_BDA_NODE_PIN),
  491.         sizeof( ULONG),
  492.         FALSE,
  493.         NULL, 0, NULL, NULL, 0)
  494. #define DEFINE_KSPROPERTY_ITEM_BDA_NODE_DESCRIPTORS(GetHandler, SetHandler)
  495.     DEFINE_KSPROPERTY_ITEM(
  496.         KSPROPERTY_BDA_NODE_DESCRIPTORS,
  497.         (GetHandler),
  498.         sizeof(KSPROPERTY),
  499.         0,
  500.         FALSE,
  501.         NULL, 0, NULL, NULL, 0)
  502. //------------------------------------------------------------
  503. //
  504. //
  505. //  BDA Pin Control Property Set
  506. //
  507. // {0DED49D5-A8B7-4d5d-97A1-12B0C195874D}
  508. //
  509. #define STATIC_KSPROPSETID_BdaPinControl 
  510.     0xded49d5, 0xa8b7, 0x4d5d, 0x97, 0xa1, 0x12, 0xb0, 0xc1, 0x95, 0x87, 0x4d
  511. DEFINE_GUIDSTRUCT("0DED49D5-A8B7-4d5d-97A1-12B0C195874D", KSPROPSETID_BdaPinControl);
  512. #define KSPROPSETID_BdaPinControl DEFINE_GUIDNAMED(KSPROPSETID_BdaPinControl)
  513. typedef enum {
  514.     KSPROPERTY_BDA_PIN_ID = 0,
  515.     KSPROPERTY_BDA_PIN_TYPE
  516. } KSPROPERTY_BDA_PIN_CONTROL;
  517. #define DEFINE_KSPROPERTY_ITEM_BDA_PIN_ID(GetHandler, SetHandler)
  518.     DEFINE_KSPROPERTY_ITEM(
  519.         KSPROPERTY_BDA_PIN_ID,
  520.         (GetHandler),
  521.         sizeof( KSPROPERTY),
  522.         sizeof( ULONG),
  523.         FALSE,
  524.         NULL, 0, NULL, NULL, 0)
  525. #define DEFINE_KSPROPERTY_ITEM_BDA_PIN_TYPE(GetHandler, SetHandler)
  526.     DEFINE_KSPROPERTY_ITEM(
  527.         KSPROPERTY_BDA_PIN_TYPE,
  528.         (GetHandler),
  529.         sizeof( KSPROPERTY),
  530.         sizeof( ULONG),
  531.         FALSE,
  532.         NULL, 0, NULL, NULL, 0)
  533. //------------------------------------------------------------
  534. //
  535. //
  536. //  BDA Pin Event Set
  537. //
  538. // {104781CD-50BD-40d5-95FB-087E0E86A591}
  539. //
  540. #define STATIC_KSEVENTSETID_BdaPinEvent 
  541.     0x104781cd, 0x50bd, 0x40d5, 0x95, 0xfb, 0x08, 0x7e, 0xe, 0x86, 0xa5, 0x91
  542. DEFINE_GUIDSTRUCT("104781CD-50BD-40d5-95FB-087E0E86A591", KSEVENTSETID_BdaPinEvent);
  543. #define KSEVENTSETID_BdaPinEvent DEFINE_GUIDNAMED(KSEVENTSETID_BdaPinEvent)
  544. typedef enum {
  545.     KSEVENT_BDA_PIN_CONNECTED = 0,
  546.     KSEVENT_BDA_PIN_DISCONNECTED
  547. } KSPROPERTY_BDA_PIN_EVENT;
  548. #define DEFINE_KSEVENT_ITEM_BDA_PIN_CONNECTED(AddHandler, RemoveHandler, SupportHandler)
  549.     DEFINE_KSEVENT_ITEM(
  550.         KSEVENT_BDA_PIN_CONNECTED,
  551.         sizeof( KSEVENTDATA), 
  552.         0, 
  553.         (AddHandler),
  554.         (RemoveHandler),
  555.         (SupportHandler)
  556.         )
  557. #define DEFINE_KSEVENT_ITEM_BDA_PIN_DISCONNECTED(AddHandler, RemoveHandler, SupportHandler)
  558.     DEFINE_KSEVENT_ITEM(
  559.         KSEVENT_BDA_PIN_DISCONNECTED,
  560.         sizeof( KSEVENTDATA), 
  561.         0, 
  562.         (AddHandler),
  563.         (RemoveHandler),
  564.         (SupportHandler)
  565.         )
  566. //------------------------------------------------------------
  567. //
  568. //
  569. //  BDA Void Transform Property Set
  570. //
  571. // {71985F46-1CA1-11d3-9CC8-00C04F7971E0}
  572. //
  573. #define STATIC_KSPROPSETID_BdaVoidTransform 
  574.     0x71985f46, 0x1ca1, 0x11d3, 0x9c, 0xc8, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0
  575. DEFINE_GUIDSTRUCT("71985F46-1CA1-11d3-9CC8-00C04F7971E0", KSPROPSETID_BdaVoidTransform);
  576. #define KSPROPSETID_BdaVoidTransform DEFINE_GUIDNAMED(KSPROPSETID_BdaVoidTransform)
  577. typedef enum {
  578.     KSPROPERTY_BDA_VOID_TRANSFORM_START = 0,
  579.     KSPROPERTY_BDA_VOID_TRANSFORM_STOP
  580. } KSPROPERTY_BDA_VOID_TRANSFORM;
  581. #define DEFINE_KSPROPERTY_ITEM_BDA_VOID_TRANSFORM_START(GetHandler, SetHandler)
  582.     DEFINE_KSPROPERTY_ITEM(
  583.         KSPROPERTY_BDA_VOID_TRANSFORM_START,
  584.         FALSE,
  585.         sizeof(KSPROPERTY),
  586.         0,
  587.         (SetHandler),
  588.         NULL, 0, NULL, NULL, 0)
  589. #define DEFINE_KSPROPERTY_ITEM_BDA_VOID_TRANSFORM_STOP(GetHandler, SetHandler)
  590.     DEFINE_KSPROPERTY_ITEM(
  591.         KSPROPERTY_BDA_VOID_TRANSFORM_STOP,
  592.         FALSE,
  593.         sizeof(KSPROPERTY),
  594.         0,
  595.         (SetHandler),
  596.         NULL, 0, NULL, NULL, 0)
  597. //------------------------------------------------------------
  598. //
  599. //
  600. //  BDA Null Transform Property Set
  601. //
  602. // {DDF15B0D-BD25-11d2-9CA0-00C04F7971E0}
  603. //
  604. #define STATIC_KSPROPSETID_BdaNullTransform 
  605.     0xddf15b0d, 0xbd25, 0x11d2, 0x9c, 0xa0, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0
  606. DEFINE_GUIDSTRUCT("DDF15B0D-BD25-11d2-9CA0-00C04F7971E0", KSPROPSETID_BdaNullTransform);
  607. #define KSPROPSETID_BdaNullTransform DEFINE_GUIDNAMED(KSPROPSETID_BdaNullTransform)
  608. typedef enum {
  609.     KSPROPERTY_BDA_NULL_TRANSFORM_START = 0,
  610.     KSPROPERTY_BDA_NULL_TRANSFORM_STOP
  611. } KSPROPERTY_BDA_NULL_TRANSFORM;
  612. #define DEFINE_KSPROPERTY_ITEM_BDA_NULL_TRANSFORM_START(GetHandler, SetHandler)
  613.     DEFINE_KSPROPERTY_ITEM(
  614.         KSPROPERTY_BDA_NULL_TRANSFORM_START,
  615.         FALSE,
  616.         sizeof(KSPROPERTY),
  617.         0,
  618.         (SetHandler),
  619.         NULL, 0, NULL, NULL, 0)
  620. #define DEFINE_KSPROPERTY_ITEM_BDA_NULL_TRANSFORM_STOP(GetHandler, SetHandler)
  621.     DEFINE_KSPROPERTY_ITEM(
  622.         KSPROPERTY_BDA_NULL_TRANSFORM_STOP,
  623.         FALSE,
  624.         sizeof(KSPROPERTY),
  625.         0,
  626.         (SetHandler),
  627.         NULL, 0, NULL, NULL, 0)
  628. //------------------------------------------------------------
  629. //
  630. //
  631. //  BDA Frequency Filter Property Set
  632. //
  633. // {71985F47-1CA1-11d3-9CC8-00C04F7971E0}
  634. //
  635. #define STATIC_KSPROPSETID_BdaFrequencyFilter 
  636.     0x71985f47, 0x1ca1, 0x11d3, 0x9c, 0xc8, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0
  637. DEFINE_GUIDSTRUCT("71985F47-1CA1-11d3-9CC8-00C04F7971E0", KSPROPSETID_BdaFrequencyFilter);
  638. #define KSPROPSETID_BdaFrequencyFilter DEFINE_GUIDNAMED(KSPROPSETID_BdaFrequencyFilter)
  639. typedef enum {
  640.     KSPROPERTY_BDA_RF_TUNER_FREQUENCY = 0,
  641.     KSPROPERTY_BDA_RF_TUNER_POLARITY,
  642.     KSPROPERTY_BDA_RF_TUNER_RANGE,
  643.     KSPROPERTY_BDA_RF_TUNER_TRANSPONDER
  644. } KSPROPERTY_BDA_FREQUENCY_FILTER;
  645. #define DEFINE_KSPROPERTY_ITEM_BDA_RF_TUNER_FREQUENCY(GetHandler, SetHandler)
  646.     DEFINE_KSPROPERTY_ITEM(
  647.         KSPROPERTY_BDA_RF_TUNER_FREQUENCY,
  648.         (GetHandler),
  649.         sizeof(KSP_NODE),
  650.         sizeof(ULONG),
  651.         (SetHandler),
  652.         NULL, 0, NULL, NULL, 0)
  653. #define DEFINE_KSPROPERTY_ITEM_BDA_RF_TUNER_POLARITY(GetHandler, SetHandler)
  654.     DEFINE_KSPROPERTY_ITEM(
  655.         KSPROPERTY_BDA_RF_TUNER_POLARITY,
  656.         (GetHandler),
  657.         sizeof(KSP_NODE),
  658.         sizeof(ULONG),
  659.         (SetHandler),
  660.         NULL, 0, NULL, NULL, 0)
  661. #define DEFINE_KSPROPERTY_ITEM_BDA_RF_TUNER_RANGE(GetHandler, SetHandler)
  662.     DEFINE_KSPROPERTY_ITEM(
  663.         KSPROPERTY_BDA_RF_TUNER_RANGE,
  664.         (GetHandler),
  665.         sizeof(KSP_NODE),
  666.         sizeof(ULONG),
  667.         (SetHandler),
  668.         NULL, 0, NULL, NULL, 0)
  669. #define DEFINE_KSPROPERTY_ITEM_BDA_RF_TUNER_TRANSPONDER(GetHandler, SetHandler)
  670.     DEFINE_KSPROPERTY_ITEM(
  671.         KSPROPERTY_BDA_RF_TUNER_TRANSPONDER,
  672.         (GetHandler),
  673.         sizeof(KSP_NODE),
  674.         sizeof(ULONG),
  675.         (SetHandler),
  676.         NULL, 0, NULL, NULL, 0)
  677. //------------------------------------------------------------
  678. //
  679. //
  680. //  BDA Digital Demodulator Property Set
  681. //
  682. // {EF30F379-985B-4d10-B640-A79D5E04E1E0}
  683. //
  684. #define STATIC_KSPROPSETID_BdaDigitalDemodulator 
  685.     0xef30f379, 0x985b, 0x4d10, 0xb6, 0x40, 0xa7, 0x9d, 0x5e, 0x4, 0xe1, 0xe0
  686. DEFINE_GUIDSTRUCT("EF30F379-985B-4d10-B640-A79D5E04E1E0", KSPROPSETID_BdaDigitalDemodulator);
  687. #define KSPROPSETID_BdaDigitalDemodulator DEFINE_GUIDNAMED(KSPROPSETID_BdaDigitalDemodulator)
  688. typedef enum {
  689.     KSPROPERTY_BDA_MODULATION_TYPE = 0,
  690.     KSPROPERTY_BDA_INNER_FEC_TYPE,
  691.     KSPROPERTY_BDA_INNER_FEC_RATE,
  692.     KSPROPERTY_BDA_OUTER_FEC_TYPE,
  693.     KSPROPERTY_BDA_OUTER_FEC_RATE,
  694.     KSPROPERTY_BDA_SYMBOL_RATE,
  695.     KSPROPERTY_BDA_SPECTRAL_INVERSION,
  696. } KSPROPERTY_BDA_DIGITAL_DEMODULATOR;
  697. #define DEFINE_KSPROPERTY_ITEM_BDA_MODULATION_TYPE(GetHandler, SetHandler)
  698.     DEFINE_KSPROPERTY_ITEM(
  699.         KSPROPERTY_BDA_MODULATION_TYPE,
  700.         (GetHandler),
  701.         sizeof(KSP_NODE),
  702.         sizeof(ModulationType),
  703.         (SetHandler),
  704.         NULL, 0, NULL, NULL, 0)
  705. #define DEFINE_KSPROPERTY_ITEM_BDA_INNER_FEC_TYPE(GetHandler, SetHandler)
  706.     DEFINE_KSPROPERTY_ITEM(
  707.         KSPROPERTY_BDA_INNER_FEC_TYPE,
  708.         (GetHandler),
  709.         sizeof(KSP_NODE),
  710.         sizeof(FECMethod),
  711.         (SetHandler),
  712.         NULL, 0, NULL, NULL, 0)
  713. #define DEFINE_KSPROPERTY_ITEM_BDA_INNER_FEC_RATE(GetHandler, SetHandler)
  714.     DEFINE_KSPROPERTY_ITEM(
  715.         KSPROPERTY_BDA_INNER_FEC_RATE,
  716.         (GetHandler),
  717.         sizeof(KSP_NODE),
  718.         sizeof(BinaryConvolutionCodeRate),
  719.         (SetHandler),
  720.         NULL, 0, NULL, NULL, 0)
  721. #define DEFINE_KSPROPERTY_ITEM_BDA_OUTER_FEC_TYPE(GetHandler, SetHandler)
  722.     DEFINE_KSPROPERTY_ITEM(
  723.         KSPROPERTY_BDA_OUTER_FEC_TYPE,
  724.         (GetHandler),
  725.         sizeof(KSP_NODE),
  726.         sizeof(FECMethod),
  727.         (SetHandler),
  728.         NULL, 0, NULL, NULL, 0)
  729. #define DEFINE_KSPROPERTY_ITEM_BDA_OUTER_FEC_RATE(GetHandler, SetHandler)
  730.     DEFINE_KSPROPERTY_ITEM(
  731.         KSPROPERTY_BDA_OUTER_FEC_RATE,
  732.         (GetHandler),
  733.         sizeof(KSP_NODE),
  734.         sizeof(BinaryConvolutionCodeRate),
  735.         (SetHandler),
  736.         NULL, 0, NULL, NULL, 0)
  737. #define DEFINE_KSPROPERTY_ITEM_BDA_SYMBOL_RATE(GetHandler, SetHandler)
  738.     DEFINE_KSPROPERTY_ITEM(
  739.         KSPROPERTY_BDA_SYMBOL_RATE,
  740.         (GetHandler),
  741.         sizeof(KSP_NODE),
  742.         sizeof(ULONG),
  743.         (SetHandler),
  744.         NULL, 0, NULL, NULL, 0)
  745. #define DEFINE_KSPROPERTY_ITEM_BDA_SPECTRAL_INVERSION(GetHandler, SetHandler)
  746.     DEFINE_KSPROPERTY_ITEM(
  747.         KSPROPERTY_BDA_SPECTRAL_INVERSION,
  748.         (GetHandler),
  749.         sizeof(KSP_NODE),
  750.         sizeof(SpectralInversion),
  751.         (SetHandler),
  752.         NULL, 0, NULL, NULL, 0)
  753. //------------------------------------------------------------
  754. //
  755. //
  756. //  BDA Autodemodulate Property Set
  757. //
  758. // {DDF15B12-BD25-11d2-9CA0-00C04F7971E0}
  759. //
  760. #define STATIC_KSPROPSETID_BdaAutodemodulate 
  761.     0xddf15b12, 0xbd25, 0x11d2, 0x9c, 0xa0, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0
  762. DEFINE_GUIDSTRUCT("DDF15B12-BD25-11d2-9CA0-00C04F7971E0", KSPROPSETID_BdaAutodemodulate);
  763. #define KSPROPSETID_BdaAutodemodulate DEFINE_GUIDNAMED(KSPROPSETID_BdaAutodemodulate)
  764. typedef enum {
  765.     KSPROPERTY_BDA_AUTODEMODULATE_START = 0,
  766.     KSPROPERTY_BDA_AUTODEMODULATE_STOP
  767. } KSPROPERTY_BDA_AUTODEMODULATE;
  768. #define DEFINE_KSPROPERTY_ITEM_BDA_AUTODEMODULATE_START(GetHandler, SetHandler)
  769.     DEFINE_KSPROPERTY_ITEM(
  770.         KSPROPERTY_BDA_AUTODEMODULATE_START,
  771.         FALSE,
  772.         sizeof(KSP_NODE),
  773.         0,
  774.         (SetHandler),
  775.         NULL, 0, NULL, NULL, 0)
  776. #define DEFINE_KSPROPERTY_ITEM_BDA_AUTODEMODULATE_STOP(GetHandler, SetHandler)
  777.     DEFINE_KSPROPERTY_ITEM(
  778.         KSPROPERTY_BDA_AUTODEMODULATE_STOP,
  779.         FALSE,
  780.         sizeof(KSP_NODE),
  781.         0,
  782.         (SetHandler),
  783.         NULL, 0, NULL, NULL, 0)
  784. //------------------------------------------------------------
  785. //
  786. //
  787. //  BDA PmtProcessor Property Set
  788. //
  789. // {516B99C5-971C-4aaf-B3F3-D9FDA8A15E16}
  790. //
  791. #define STATIC_KSPROPSETID_BdaPmtProcessor 
  792.     0x516b99c5, 0x971c, 0x4aaf, 0xb3, 0xf3, 0xd9, 0xfd, 0xa8, 0xa1, 0x5e, 0x16
  793. DEFINE_GUIDSTRUCT("516B99C5-971C-4aaf-B3F3-D9FDA8A15E16", KSPROPSETID_BdaPmtProcessor);
  794. #define KSPROPSETID_BdaPmtProcessor DEFINE_GUIDNAMED(KSPROPSETID_BdaPmtProcessor)
  795. typedef enum {
  796.     KSPROPERTY_BDA_PMTPROCESSOR_PMT = 0,
  797. } KSPROPERTY_BDA_PMTPROCESSOR;
  798. #define DEFINE_KSPROPERTY_ITEM_BDA_PMTPROCESSOR_PMT(GetHandler, SetHandler)
  799.     DEFINE_KSPROPERTY_ITEM(
  800.         KSPROPERTY_BDA_PMTPROCESSOR_PMT,
  801.         (GetHandler),
  802.         sizeof(KSP_NODE),
  803.         sizeof(BDA_PMT),
  804.         (SetHandler),
  805.         NULL, 0, NULL, NULL, 0)
  806. //------------------------------------------------------------
  807. //
  808. //
  809. //  BDA Descriptor Property Set
  810. //
  811. // {DE6A1C9E-87DF-48aa-95AA-289B7AA4F49F}
  812. //
  813. #define STATIC_KSPROPSETID_BdaDescriptor 
  814.     0xde6a1c9e, 0x87df, 0x48aa, 0x95, 0xaa, 0x28, 0x9b, 0x7a, 0xa4, 0xf4, 0x9f
  815. DEFINE_GUIDSTRUCT("DE6A1C9E-87DF-48aa-95AA-289B7AA4F49F", KSPROPSETID_BdaDescriptor);
  816. #define KSPROPSETID_BdaDescriptor DEFINE_GUIDNAMED(KSPROPSETID_BdaDescriptor)
  817. typedef enum {
  818.     KSPROPERTY_BDA_DESCRIPTOR_CAT_DESC = 0,
  819.     KSPROPERTY_BDA_DESCRIPTOR_ES_DESC,
  820.     KSPROPERTY_BDA_DESCRIPTOR_PROGRAM_DESC
  821. } KSPROPERTY_BDA_DESCRIPTOR;
  822. #define DEFINE_KSPROPERTY_ITEM_BDA_DESCRIPTOR_CAT_DESC(GetHandler, SetHandler)
  823.     DEFINE_KSPROPERTY_ITEM(
  824.         KSPROPERTY_BDA_DESCRIPTOR_CAT_DESC,
  825.         (GetHandler),
  826.         sizeof(KSP_NODE),
  827.         sizeof(BDA_CAT_DESCRIPTOR),
  828.         (SetHandler),
  829.         NULL, 0, NULL, NULL, 0)
  830. #define DEFINE_KSPROPERTY_ITEM_BDA_DESCRIPTOR_ES_DESC(GetHandler, SetHandler)
  831.     DEFINE_KSPROPERTY_ITEM(
  832.         KSPROPERTY_BDA_DESCRIPTOR_ES_DESC,
  833.         (GetHandler),
  834.         sizeof(KSP_NODE),
  835.         sizeof(BDA_ES_DESCRIPTOR),
  836.         (SetHandler),
  837.         NULL, 0, NULL, NULL, 0)
  838. #define DEFINE_KSPROPERTY_ITEM_BDA_DESCRIPTOR_PROGRAM_DESC(GetHandler, SetHandler)
  839.     DEFINE_KSPROPERTY_ITEM(
  840.         KSPROPERTY_BDA_DESCRIPTOR_PROGRAM_DESC,
  841.         (GetHandler),
  842.         sizeof(KSP_NODE),
  843.         sizeof(BDA_PROGRAM_DESCRIPTOR),
  844.         (SetHandler),
  845.         NULL, 0, NULL, NULL, 0)
  846. //------------------------------------------------------------
  847. //
  848. //
  849. //  BDA EsMap Property Set
  850. //
  851. // {FA14A8B3-6068-48ef-96DD-53010B985A7D}
  852. //
  853. #define STATIC_KSPROPSETID_BdaEsMap 
  854.     0xfa14a8b3, 0x6068, 0x48ef, 0x96, 0xdd, 0x53, 0x1, 0xb, 0x98, 0x5a, 0x7d
  855. DEFINE_GUIDSTRUCT("FA14A8B3-6068-48ef-96DD-53010B985A7D", KSPROPSETID_BdaEsMap);
  856. #define KSPROPSETID_BdaEsMap DEFINE_GUIDNAMED(KSPROPSETID_BdaEsMap)
  857. typedef enum {
  858.     KSPROPERTY_BDA_ESMAP_EMM_PIDS = 0,
  859.     KSPROPERTY_BDA_ESMAP_ECM_PIDS,
  860.     KSPROPERTY_BDA_ESMAP_MAP_LIST,
  861.     KSPROPERTY_BDA_ESMAP_UPDATE_MAP,
  862.     KSPROPERTY_BDA_ESMAP_REMOVE_MAP
  863. } KSPROPERTY_BDA_ESMAP;
  864. #define DEFINE_KSPROPERTY_ITEM_BDA_ESMAP_EMM_PIDS(GetHandler, SetHandler)
  865.     DEFINE_KSPROPERTY_ITEM(
  866.         KSPROPERTY_BDA_ESMAP_EMM_PIDS,
  867.         (GetHandler),
  868.         sizeof(KSP_NODE),
  869.         0,
  870.         (SetHandler),
  871.         NULL, 0, NULL, NULL, 0)
  872. #define DEFINE_KSPROPERTY_ITEM_BDA_ESMAP_ECM_PIDS(GetHandler, SetHandler)
  873.     DEFINE_KSPROPERTY_ITEM(
  874.         KSPROPERTY_BDA_ESMAP_ECM_PIDS,
  875.         (GetHandler),
  876.         sizeof(KSP_NODE_ESPID),
  877.         0,
  878.         (SetHandler),
  879.         NULL, 0, NULL, NULL, 0)
  880. #define DEFINE_KSPROPERTY_ITEM_BDA_ESMAP_MAP_LIST(GetHandler, SetHandler)
  881.     DEFINE_KSPROPERTY_ITEM(
  882.         KSPROPERTY_BDA_ESMAP_MAP_LIST,
  883.         (GetHandler),
  884.         sizeof(KSP_NODE),
  885.         0,
  886.         (SetHandler),
  887.         NULL, 0, NULL, NULL, 0)
  888. #define DEFINE_KSPROPERTY_ITEM_BDA_ESMAP_UPDATE_MAP(GetHandler, SetHandler)
  889.     DEFINE_KSPROPERTY_ITEM(
  890.         KSPROPERTY_BDA_ESMAP_UPDATE_MAP,
  891.         FALSE,
  892.         sizeof(KSP_NODE),
  893.         sizeof(BDA_ES_MAP),
  894.         (SetHandler),
  895.         NULL, 0, NULL, NULL, 0)
  896. #define DEFINE_KSPROPERTY_ITEM_BDA_ESMAP_REMOVE_MAP(GetHandler, SetHandler)
  897.     DEFINE_KSPROPERTY_ITEM(
  898.         KSPROPERTY_BDA_ESMAP_REMOVE_MAP,
  899.         FALSE,
  900.         sizeof(KSP_NODE),
  901.         sizeof(BDA_ES_MAP),
  902.         (SetHandler),
  903.         NULL, 0, NULL, NULL, 0)
  904. //------------------------------------------------------------
  905. //
  906. //
  907. //  BDA PID Filter Property Set
  908. //
  909. // {D0A67D65-08DF-4fec-8533-E5B550410B85}
  910. //
  911. #define STATIC_KSPROPSETID_BdaPIDFilter 
  912.     0xd0a67d65, 0x8df, 0x4fec, 0x85, 0x33, 0xe5, 0xb5, 0x50, 0x41, 0xb, 0x85
  913. DEFINE_GUIDSTRUCT("D0A67D65-08DF-4fec-8533-E5B550410B85", KSPROPSETID_BdaPIDFilter);
  914. #define KSPROPSETID_BdaPIDFilter DEFINE_GUIDNAMED(KSPROPSETID_BdaPIDFilter)
  915. typedef enum {
  916.     KSPROPERTY_BDA_PIDFILTER_MAP_PIDS = 0,
  917.     KSPROPERTY_BDA_PIDFILTER_UNMAP_PIDS,
  918.     KSPROPERTY_BDA_PIDFILTER_LIST_PIDS
  919. } KSPROPERTY_BDA_PIDFILTER;
  920. #define DEFINE_KSPROPERTY_ITEM_BDA_PIDFILTER_MAP_PIDS(GetHandler, SetHandler)
  921.     DEFINE_KSPROPERTY_ITEM(
  922.         KSPROPERTY_BDA_PIDFILTER_MAP_PIDS,
  923.         (GetHandler),
  924.         sizeof(KSP_NODE),
  925.         sizeof(BDA_PID_MAP),
  926.         (SetHandler),
  927.         NULL, 0, NULL, NULL, 0)
  928. #define DEFINE_KSPROPERTY_ITEM_BDA_PIDFILTER_UNMAP_PIDS(GetHandler, SetHandler)
  929.     DEFINE_KSPROPERTY_ITEM(
  930.         KSPROPERTY_BDA_PIDFILTER_UNMAP_PIDS,
  931.         (GetHandler),
  932.         sizeof(KSP_NODE),
  933.         sizeof(BDA_PID_UNMAP),
  934.         (SetHandler),
  935.         NULL, 0, NULL, NULL, 0)
  936. #define DEFINE_KSPROPERTY_ITEM_BDA_PIDFILTER_LIST_PIDS(GetHandler, SetHandler)
  937.     DEFINE_KSPROPERTY_ITEM(
  938.         KSPROPERTY_BDA_PIDFILTER_LIST_PIDS,
  939.         (GetHandler),
  940.         sizeof(KSP_NODE),
  941.         0,
  942.         (SetHandler),
  943.         NULL, 0, NULL, NULL, 0)
  944. //------------------------------------------------------------
  945. //
  946. //
  947. //  BDA CA Property Set
  948. //
  949. // {B0693766-5278-4ec6-B9E1-3CE40560EF5A}
  950. //
  951. #define STATIC_KSPROPSETID_BdaCA 
  952.     0xb0693766, 0x5278, 0x4ec6, 0xb9, 0xe1, 0x3c, 0xe4, 0x5, 0x60, 0xef, 0x5a
  953. DEFINE_GUIDSTRUCT("B0693766-5278-4ec6-B9E1-3CE40560EF5A", KSPROPSETID_BdaCA);
  954. #define KSPROPSETID_BdaCA DEFINE_GUIDNAMED(KSPROPSETID_BdaCA)
  955. typedef enum {
  956.     KSPROPERTY_BDA_ECM_MAP_STATUS = 0,
  957.     KSPROPERTY_BDA_CA_MODULE_STATUS,
  958.     KSPROPERTY_BDA_CA_SMART_CARD_STATUS,
  959.     KSPROPERTY_BDA_CA_MODULE_UI
  960. } KSPROPERTY_BDA_CA;
  961. #define DEFINE_KSPROPERTY_ITEM_BDA_ECM_MAP_STATUS(GetHandler, SetHandler)
  962.     DEFINE_KSPROPERTY_ITEM(
  963.         KSPROPERTY_BDA_ECM_MAP_STATUS,
  964.         (GetHandler),
  965.         sizeof(KSP_NODE),
  966.         sizeof(ULONG),
  967.         (SetHandler),
  968.         NULL, 0, NULL, NULL, 0)
  969. #define DEFINE_KSPROPERTY_ITEM_BDA_CA_MODULE_STATUS(GetHandler, SetHandler)
  970.     DEFINE_KSPROPERTY_ITEM(
  971.         KSPROPERTY_BDA_CA_MODULE_STATUS,
  972.         (GetHandler),
  973.         sizeof(KSP_NODE),
  974.         sizeof(ULONG),
  975.         (SetHandler),
  976.         NULL, 0, NULL, NULL, 0)
  977. #define DEFINE_KSPROPERTY_ITEM_BDA_CA_SMART_CARD_STATUS(GetHandler, SetHandler)
  978.     DEFINE_KSPROPERTY_ITEM(
  979.         KSPROPERTY_BDA_CA_SMART_CARD_STATUS,
  980.         (GetHandler),
  981.         sizeof(KSP_NODE),
  982.         sizeof(ULONG),
  983.         (SetHandler),
  984.         NULL, 0, NULL, NULL, 0)
  985. #define DEFINE_KSPROPERTY_ITEM_BDA_CA_MODULE_UI(GetHandler, SetHandler)
  986.     DEFINE_KSPROPERTY_ITEM(
  987.         KSPROPERTY_BDA_CA_MODULE_UI,
  988.         (GetHandler),
  989.         sizeof(KSP_NODE),
  990.         sizeof(BDA_CA_MODULE_UI),
  991.         (SetHandler),
  992.         NULL, 0, NULL, NULL, 0)
  993. //------------------------------------------------------------
  994. //
  995. //
  996. //  BDA CA Event Set
  997. //
  998. // {488C4CCC-B768-4129-8EB1-B00A071F9068}
  999. //
  1000. #define STATIC_KSEVENTSETID_BdaCAEvent 
  1001.     0x488c4ccc, 0xb768, 0x4129, 0x8e, 0xb1, 0xb0, 0xa, 0x7, 0x1f, 0x90, 0x68
  1002. DEFINE_GUIDSTRUCT("488C4CCC-B768-4129-8EB1-B00A071F9068", KSEVENTSETID_BdaCAEvent);
  1003. #define KSEVENTSETID_BdaCAEvent DEFINE_GUIDNAMED(KSEVENTSETID_BdaCAEvent)
  1004. typedef enum {
  1005.     KSEVENT_BDA_ECM_MAP_STATUS_CHANGED = 0,
  1006.     KSEVENT_BDA_CA_MODULE_STATUS_CHANGED,
  1007.     KSEVENT_BDA_CA_SMART_CARD_STATUS_CHANGED,
  1008.     KSEVENT_BDA_CA_MODULE_UI_REQUESTED
  1009. } KSPROPERTY_BDA_CA_EVENT;
  1010. #define DEFINE_KSEVENT_BDA_ECM_MAP_STATUS_CHANGED(AddHandler, RemoveHandler, SupportHandler)
  1011.     DEFINE_KSEVENT_ITEM(
  1012.         KSEVENT_BDA_ECM_MAP_STATUS_CHANGED,
  1013.         sizeof( KSEVENTDATA), 
  1014.         0, 
  1015.         (AddHandler),
  1016.         (RemoveHandler),
  1017.         (SupportHandler)
  1018.         )
  1019. #define DEFINE_KSEVENT_BDA_CA_MODULE_STATUS_CHANGED(AddHandler, RemoveHandler, SupportHandler)
  1020.     DEFINE_KSEVENT_ITEM(
  1021.         KSEVENT_BDA_CA_MODULE_STATUS_CHANGED,
  1022.         sizeof( KSEVENTDATA), 
  1023.         0, 
  1024.         (AddHandler),
  1025.         (RemoveHandler),
  1026.         (SupportHandler)
  1027.         )
  1028. #define DEFINE_KSEVENT_BDA_CA_SMART_CARD_STATUS_CHANGED(AddHandler, RemoveHandler, SupportHandler)
  1029.     DEFINE_KSEVENT_ITEM(
  1030.         KSEVENT_BDA_CA_SMART_CARD_STATUS_CHANGED,
  1031.         sizeof( KSEVENTDATA), 
  1032.         0, 
  1033.         (AddHandler),
  1034.         (RemoveHandler),
  1035.         (SupportHandler)
  1036.         )
  1037. #define DEFINE_KSEVENT_BDA_CA_MODULE_UI_REQUESTED(AddHandler, RemoveHandler, SupportHandler)
  1038.     DEFINE_KSEVENT_ITEM(
  1039.         KSEVENT_BDA_CA_MODULE_UI_REQUESTED,
  1040.         sizeof( KSEVENTDATA), 
  1041.         0, 
  1042.         (AddHandler),
  1043.         (RemoveHandler),
  1044.         (SupportHandler)
  1045.         )
  1046. //===========================================================================
  1047. //
  1048. // BDA Filter Categories
  1049. //
  1050. //===========================================================================
  1051. #define STATIC_KSCATEGORY_BDA_RECEIVER_COMPONENT 
  1052.     0xFD0A5AF4, 0xB41D, 0x11d2, 0x9c, 0x95, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0
  1053. DEFINE_GUIDSTRUCT("FD0A5AF4-B41D-11d2-9C95-00C04F7971E0", KSCATEGORY_BDA_RECEIVER_COMPONENT);
  1054. #define KSCATEGORY_BDA_RECEIVER_COMPONENT DEFINE_GUIDNAMED(KSCATEGORY_BDA_RECEIVER_COMPONENT)
  1055. #define STATIC_KSCATEGORY_BDA_NETWORK_TUNER 
  1056.     0x71985f48, 0x1ca1, 0x11d3, 0x9c, 0xc8, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0
  1057. DEFINE_GUIDSTRUCT("71985F48-1CA1-11d3-9CC8-00C04F7971E0", KSCATEGORY_BDA_NETWORK_TUNER);
  1058. #define KSCATEGORY_BDA_NETWORK_TUNER DEFINE_GUIDNAMED(KSCATEGORY_BDA_NETWORK_TUNER)
  1059. #define STATIC_KSCATEGORY_BDA_NETWORK_EPG 
  1060.     0x71985f49, 0x1ca1, 0x11d3, 0x9c, 0xc8, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0
  1061. DEFINE_GUIDSTRUCT("71985F49-1CA1-11d3-9CC8-00C04F7971E0", KSCATEGORY_BDA_NETWORK_EPG);
  1062. #define KSCATEGORY_BDA_NETWORK_EPG DEFINE_GUIDNAMED(KSCATEGORY_BDA_NETWORK_EPG)
  1063. #define STATIC_KSCATEGORY_BDA_IP_SINK 
  1064.     0x71985f4aL, 0x1ca1, 0x11d3, 0x9c, 0xc8, 0x00, 0xc0, 0x4f, 0x79, 0x71, 0xe0
  1065. DEFINE_GUIDSTRUCT("71985F4A-1CA1-11d3-9CC8-00C04F7971E0", KSCATEGORY_BDA_IP_SINK);
  1066. #define KSCATEGORY_IP_SINK DEFINE_GUIDNAMED(KSCATEGORY_BDA_IP_SINK)
  1067. #define STATIC_KSCATEGORY_BDA_NETWORK_PROVIDER 
  1068.     0x71985f4b, 0x1ca1, 0x11d3, 0x9c, 0xc8, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0
  1069. DEFINE_GUIDSTRUCT("71985F4B-1CA1-11d3-9CC8-00C04F7971E0", KSCATEGORY_BDA_NETWORK_PROVIDER);
  1070. #define KSCATEGORY_BDA_NETWORK_PROVIDER DEFINE_GUIDNAMED(KSCATEGORY_BDA_NETWORK_PROVIDER)
  1071. // {A2E3074F-6C3D-11d3-B653-00C04F79498E}
  1072. #define STATIC_KSCATEGORY_BDA_TRANSPORT_INFORMATION 
  1073.         0xa2e3074f, 0x6c3d, 0x11d3, 0xb6, 0x53, 0x0, 0xc0, 0x4f, 0x79, 0x49, 0x8e
  1074. DEFINE_GUIDSTRUCT("A2E3074F-6C3D-11d3-B653-00C04F79498E", KSCATEGORY_BDA_TRANSPORT_INFORMATION);
  1075. #define KSCATEGORY_BDA_TRANSPORT_INFORMATION DEFINE_GUIDNAMED(KSCATEGORY_BDA_TRANSPORT_INFORMATION)
  1076. //===========================================================================
  1077. //
  1078. // BDA Node Categories
  1079. //
  1080. //===========================================================================
  1081. #define STATIC_KSNODE_BDA_RF_TUNER 
  1082.     0x71985f4c, 0x1ca1, 0x11d3, 0x9c, 0xc8, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0
  1083. DEFINE_GUIDSTRUCT("71985F4C-1CA1-11d3-9CC8-00C04F7971E0", KSNODE_BDA_RF_TUNER);
  1084. #define KSNODE_BDA_RF_TUNER DEFINE_GUIDNAMED(KSNODE_BDA_RF_TUNER)
  1085. #define STATIC_KSNODE_BDA_QAM_DEMODULATOR 
  1086.     0x71985f4d, 0x1ca1, 0x11d3, 0x9c, 0xc8, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0
  1087. DEFINE_GUIDSTRUCT("71985F4D-1CA1-11d3-9CC8-00C04F7971E0", KSNODE_BDA_QAM_DEMODULATOR);
  1088. #define KSNODE_BDA_QAM_DEMODULATOR DEFINE_GUIDNAMED(KSNODE_BDA_QAM_DEMODULATOR)
  1089. #define STATIC_KSNODE_BDA_QPSK_DEMODULATOR 
  1090.     0x6390c905, 0x27c1, 0x4d67, 0xbd, 0xb7, 0x77, 0xc5, 0xd, 0x7, 0x93, 0x0
  1091. DEFINE_GUIDSTRUCT("6390C905-27C1-4d67-BDB7-77C50D079300", KSNODE_BDA_QPSK_DEMODULATOR);
  1092. #define KSNODE_BDA_QPSK_DEMODULATOR DEFINE_GUIDNAMED(KSNODE_BDA_QPSK_DEMODULATOR)
  1093. #define STATIC_KSNODE_BDA_8VSB_DEMODULATOR 
  1094.     0x71985f4f, 0x1ca1, 0x11d3, 0x9c, 0xc8, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0
  1095. DEFINE_GUIDSTRUCT("71985F4F-1CA1-11d3-9CC8-00C04F7971E0", KSNODE_BDA_8VSB_DEMODULATOR);
  1096. #define KSNODE_BDA_8VSB_DEMODULATOR DEFINE_GUIDNAMED(KSNODE_BDA_8VSB_DEMODULATOR)
  1097. #define STATIC_KSNODE_BDA_OPENCABLE_POD 
  1098.     0xd83ef8fc, 0xf3b8, 0x45ab, 0x8b, 0x71, 0xec, 0xf7, 0xc3, 0x39, 0xde, 0xb4
  1099. DEFINE_GUIDSTRUCT("D83EF8FC-F3B8-45ab-8B71-ECF7C339DEB4", KSNODE_BDA_OPENCABLE_POD);
  1100. #define KSNODE_BDA_OPENCABLE_POD DEFINE_GUIDNAMED(KSNODE_BDA_OPENCABLE_POD)
  1101. #define STATIC_KSNODE_BDA_PID_FILTER 
  1102.     0xf5412789, 0xb0a0, 0x44e1, 0xae, 0x4f, 0xee, 0x99, 0x9b, 0x1b, 0x7f, 0xbe
  1103. DEFINE_GUIDSTRUCT("F5412789-B0A0-44e1-AE4F-EE999B1B7FBE", KSNODE_BDA_PID_FILTER);
  1104. #define KSNODE_BDA_PID_FILTER DEFINE_GUIDNAMED(KSNODE_BDA_PID_FILTER)
  1105. #define STATIC_KSNODE_BDA_IP_SINK 
  1106.     0x71985f4e, 0x1ca1, 0x11d3, 0x9c, 0xc8, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0
  1107. DEFINE_GUIDSTRUCT("71985F4E-1CA1-11d3-9CC8-00C04F7971E0", KSNODE_BDA_IP_SINK);
  1108. #define KSNODE_IP_SINK DEFINE_GUIDNAMED(KSNODE_BDA_IP_SINK)
  1109. //===========================================================================
  1110. //
  1111. // IPSink PINNAME GUID
  1112. //
  1113. //===========================================================================
  1114. #define STATIC_PINNAME_IPSINK_INPUT 
  1115.     0x3fdffa70L, 0xac9a, 0x11d2, 0x8f, 0x17, 0x00, 0xc0, 0x4f, 0x79, 0x71, 0xe2
  1116. DEFINE_GUIDSTRUCT("3fdffa70-ac9a-11d2-8f17-00c04f7971e2", PINNAME_IPSINK_INPUT);
  1117. #define PINNAME_IPSINK_INPUT   DEFINE_GUIDNAMED(PINNAME_IPSINK_INPUT)
  1118. //===========================================================================
  1119. //
  1120. // BDA IPSink Categories/Types
  1121. //
  1122. //===========================================================================
  1123. #define STATIC_KSDATAFORMAT_TYPE_BDA_IP
  1124.     0xe25f7b8e, 0xcccc, 0x11d2, 0x8f, 0x25, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe2
  1125. DEFINE_GUIDSTRUCT("e25f7b8e-cccc-11d2-8f25-00c04f7971e2", KSDATAFORMAT_TYPE_BDA_IP);
  1126. #define KSDATAFORMAT_TYPE_BDA_IP  DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_BDA_IP)
  1127. #define STATIC_KSDATAFORMAT_SUBTYPE_BDA_IP
  1128.     0x5a9a213c, 0xdb08, 0x11d2, 0x8f, 0x32, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe2
  1129. DEFINE_GUIDSTRUCT("5a9a213c-db08-11d2-8f32-00c04f7971e2", KSDATAFORMAT_SUBTYPE_BDA_IP);
  1130. #define KSDATAFORMAT_SUBTYPE_BDA_IP  DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_BDA_IP)
  1131. #define STATIC_KSDATAFORMAT_SPECIFIER_BDA_IP
  1132.     0x6b891420, 0xdb09, 0x11d2, 0x8f, 0x32, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe2
  1133. DEFINE_GUIDSTRUCT("6B891420-DB09-11d2-8F32-00C04F7971E2", KSDATAFORMAT_SPECIFIER_BDA_IP);
  1134. #define KSDATAFORMAT_SPECIFIER_BDA_IP  DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_BDA_IP)
  1135. #define STATIC_KSDATAFORMAT_TYPE_BDA_IP_CONTROL
  1136.     0xdadd5799, 0x7d5b, 0x4b63, 0x80, 0xfb, 0xd1, 0x44, 0x2f, 0x26, 0xb6, 0x21
  1137. DEFINE_GUIDSTRUCT("DADD5799-7D5B-4b63-80FB-D1442F26B621", KSDATAFORMAT_TYPE_BDA_IP_CONTROL);
  1138. #define KSDATAFORMAT_TYPE_BDA_IP_CONTROL  DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_BDA_IP_CONTROL)
  1139. #define STATIC_KSDATAFORMAT_SUBTYPE_BDA_IP_CONTROL
  1140.     0x499856e8, 0xe85b, 0x48ed, 0x9b, 0xea, 0x41, 0xd, 0xd, 0xd4, 0xef, 0x81
  1141. DEFINE_GUIDSTRUCT("499856E8-E85B-48ed-9BEA-410D0DD4EF81", KSDATAFORMAT_SUBTYPE_BDA_IP_CONTROL);
  1142. #define KSDATAFORMAT_SUBTYPE_BDA_IP_CONTROL  DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_BDA_IP_CONTROL)
  1143. //===========================================================================
  1144. //
  1145. // MPE PINNAME GUID
  1146. //
  1147. //===========================================================================
  1148. #define STATIC_PINNAME_MPE 
  1149.     0xc1b06d73L, 0x1dbb, 0x11d3, 0x8f, 0x46, 0x00, 0xC0, 0x4f, 0x79, 0x71, 0xE2
  1150. DEFINE_GUIDSTRUCT("C1B06D73-1DBB-11d3-8F46-00C04F7971E2", PINNAME_MPE);
  1151. #define PINNAME_MPE   DEFINE_GUIDNAMED(PINNAME_MPE)
  1152. /////////////////////////////////////////////////////////////
  1153. //
  1154. // BDA MPE Categories/Types
  1155. //
  1156. #define STATIC_KSDATAFORMAT_TYPE_MPE 
  1157.     0x455f176c, 0x4b06, 0x47ce, 0x9a, 0xef, 0x8c, 0xae, 0xf7, 0x3d, 0xf7, 0xb5
  1158. DEFINE_GUIDSTRUCT("455F176C-4B06-47ce-9AEF-8CAEF73DF7B5", KSDATAFORMAT_TYPE_MPE);
  1159. #define KSDATAFORMAT_TYPE_MPE  DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_MPE)
  1160. #if defined(__cplusplus)
  1161. }
  1162. #endif // defined(__cplusplus)
  1163. #endif // !defined(_BDAMEDIA_)