home *** CD-ROM | disk | FTP | other *** search
/ Beginning Direct3D Game Programming / Direct3D.iso / directx / dxf / include / bdamedia.h < prev    next >
C/C++ Source or Header  |  2000-10-03  |  49KB  |  1,418 lines

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