4 typedef struct _KSP_BDA_NODE_PIN
{
9 } KSP_BDA_NODE_PIN
, *PKSP_BDA_NODE_PIN
;
11 typedef struct _KSM_BDA_PIN
20 } KSM_BDA_PIN
, * PKSM_BDA_PIN
;
22 typedef struct _KSM_BDA_PIN_PAIR
35 } KSM_BDA_PIN_PAIR
, * PKSM_BDA_PIN_PAIR
;
37 /* ------------------------------------------------------------
38 BDA Topology Property Set {A14EE835-0A23-11d3-9CC7-00C04F7971E0}
41 #define STATIC_KSPROPSETID_BdaTopology \
42 0xa14ee835, 0x0a23, 0x11d3, 0x9c, 0xc7, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0
43 DEFINE_GUIDSTRUCT("A14EE835-0A23-11d3-9CC7-00C04F7971E0", KSPROPSETID_BdaTopology
);
44 #define KSPROPSETID_BdaTopology DEFINE_GUIDNAMED(KSPROPSETID_BdaTopology)
47 KSPROPERTY_BDA_NODE_TYPES
,
48 KSPROPERTY_BDA_PIN_TYPES
,
49 KSPROPERTY_BDA_TEMPLATE_CONNECTIONS
,
50 KSPROPERTY_BDA_NODE_METHODS
,
51 KSPROPERTY_BDA_NODE_PROPERTIES
,
52 KSPROPERTY_BDA_NODE_EVENTS
,
53 KSPROPERTY_BDA_CONTROLLING_PIN_ID
,
54 KSPROPERTY_BDA_NODE_DESCRIPTORS
55 }KSPROPERTY_BDA_TOPOLOGY
;
57 #define DEFINE_KSPROPERTY_ITEM_BDA_NODE_TYPES(GetHandler, SetHandler)\
58 DEFINE_KSPROPERTY_ITEM(\
59 KSPROPERTY_BDA_NODE_TYPES,\
64 NULL, 0, NULL, NULL, 0)
66 #define DEFINE_KSPROPERTY_ITEM_BDA_PIN_TYPES(GetHandler, SetHandler)\
67 DEFINE_KSPROPERTY_ITEM(\
68 KSPROPERTY_BDA_PIN_TYPES,\
73 NULL, 0, NULL, NULL, 0)
75 #define DEFINE_KSPROPERTY_ITEM_BDA_TEMPLATE_CONNECTIONS(GetHandler, SetHandler)\
76 DEFINE_KSPROPERTY_ITEM(\
77 KSPROPERTY_BDA_TEMPLATE_CONNECTIONS,\
80 sizeof( BDA_TEMPLATE_CONNECTION),\
82 NULL, 0, NULL, NULL, 0)
84 #define DEFINE_KSPROPERTY_ITEM_BDA_NODE_METHODS(GetHandler, SetHandler)\
85 DEFINE_KSPROPERTY_ITEM(\
86 KSPROPERTY_BDA_NODE_METHODS,\
91 NULL, 0, NULL, NULL, 0)
93 #define DEFINE_KSPROPERTY_ITEM_BDA_NODE_PROPERTIES(GetHandler, SetHandler)\
94 DEFINE_KSPROPERTY_ITEM(\
95 KSPROPERTY_BDA_NODE_PROPERTIES,\
100 NULL, 0, NULL, NULL, 0)
102 #define DEFINE_KSPROPERTY_ITEM_BDA_NODE_EVENTS(GetHandler, SetHandler)\
103 DEFINE_KSPROPERTY_ITEM(\
104 KSPROPERTY_BDA_NODE_EVENTS,\
109 NULL, 0, NULL, NULL, 0)
111 #define DEFINE_KSPROPERTY_ITEM_BDA_CONTROLLING_PIN_ID(GetHandler, SetHandler)\
112 DEFINE_KSPROPERTY_ITEM(\
113 KSPROPERTY_BDA_CONTROLLING_PIN_ID,\
115 sizeof(KSP_BDA_NODE_PIN),\
118 NULL, 0, NULL, NULL, 0)
120 #define DEFINE_KSPROPERTY_ITEM_BDA_NODE_DESCRIPTORS(GetHandler, SetHandler)\
121 DEFINE_KSPROPERTY_ITEM(\
122 KSPROPERTY_BDA_NODE_DESCRIPTORS,\
127 NULL, 0, NULL, NULL, 0)
129 /* ------------------------------------------------------------
130 BDA Device Configuration Method Set {71985F45-1CA1-11d3-9CC8-00C04F7971E0}
133 #define STATIC_KSMETHODSETID_BdaDeviceConfiguration \
134 0x71985f45, 0x1ca1, 0x11d3, 0x9c, 0xc8, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0
135 DEFINE_GUIDSTRUCT("71985F45-1CA1-11d3-9CC8-00C04F7971E0", KSMETHODSETID_BdaDeviceConfiguration
);
136 #define KSMETHODSETID_BdaDeviceConfiguration DEFINE_GUIDNAMED(KSMETHODSETID_BdaDeviceConfiguration)
139 KSMETHOD_BDA_CREATE_PIN_FACTORY
= 0,
140 KSMETHOD_BDA_DELETE_PIN_FACTORY
,
141 KSMETHOD_BDA_CREATE_TOPOLOGY
142 } KSMETHOD_BDA_DEVICE_CONFIGURATION
;
144 #define DEFINE_KSMETHOD_ITEM_BDA_CREATE_PIN_FACTORY(MethodHandler, SupportHandler)\
145 DEFINE_KSMETHOD_ITEM(\
146 KSMETHOD_BDA_CREATE_PIN_FACTORY,\
149 sizeof(KSM_BDA_PIN),\
153 #define DEFINE_KSMETHOD_ITEM_BDA_DELETE_PIN_FACTORY(MethodHandler, SupportHandler)\
154 DEFINE_KSMETHOD_ITEM(\
155 KSMETHOD_BDA_DELETE_PIN_FACTORY,\
158 sizeof(KSM_BDA_PIN),\
162 #define DEFINE_KSMETHOD_ITEM_BDA_CREATE_TOPOLOGY(MethodHandler, SupportHandler)\
163 DEFINE_KSMETHOD_ITEM(\
164 KSMETHOD_BDA_CREATE_TOPOLOGY,\
165 KSMETHOD_TYPE_WRITE,\
167 sizeof(KSM_BDA_PIN_PAIR),\
171 /* ------------------------------------------------------------
172 BDA Pin Control Property {0DED49D5-A8B7-4d5d-97A1-12B0C195874D}
175 #define STATIC_KSPROPSETID_BdaPinControl \
176 0xded49d5, 0xa8b7, 0x4d5d, 0x97, 0xa1, 0x12, 0xb0, 0xc1, 0x95, 0x87, 0x4d
177 DEFINE_GUIDSTRUCT("0DED49D5-A8B7-4d5d-97A1-12B0C195874D", KSPROPSETID_BdaPinControl
);
178 #define KSPROPSETID_BdaPinControl DEFINE_GUIDNAMED(KSPROPSETID_BdaPinControl)
181 KSPROPERTY_BDA_PIN_ID
= 0,
182 KSPROPERTY_BDA_PIN_TYPE
183 } KSPROPERTY_BDA_PIN_CONTROL
;
185 #define DEFINE_KSPROPERTY_ITEM_BDA_PIN_ID(GetHandler, SetHandler)\
186 DEFINE_KSPROPERTY_ITEM(\
187 KSPROPERTY_BDA_PIN_ID,\
189 sizeof( KSPROPERTY),\
192 NULL, 0, NULL, NULL, 0)
194 #define DEFINE_KSPROPERTY_ITEM_BDA_PIN_TYPE(GetHandler, SetHandler)\
195 DEFINE_KSPROPERTY_ITEM(\
196 KSPROPERTY_BDA_PIN_TYPE,\
198 sizeof( KSPROPERTY),\
201 NULL, 0, NULL, NULL, 0)
204 /* ------------------------------------------------------------
205 BDA Change Sync Method Set {FD0A5AF3-B41D-11d2-9C95-00C04F7971E0}
208 #define STATIC_KSMETHODSETID_BdaChangeSync \
209 0xfd0a5af3, 0xb41d, 0x11d2, {0x9c, 0x95, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0}
210 DEFINE_GUIDSTRUCT("FD0A5AF3-B41D-11d2-9C95-00C04F7971E0", KSMETHODSETID_BdaChangeSync
);
211 #define KSMETHODSETID_BdaChangeSync DEFINE_GUIDNAMED(KSMETHODSETID_BdaChangeSync)
214 KSMETHOD_BDA_START_CHANGES
= 0,
215 KSMETHOD_BDA_CHECK_CHANGES
,
216 KSMETHOD_BDA_COMMIT_CHANGES
,
217 KSMETHOD_BDA_GET_CHANGE_STATE
218 } KSMETHOD_BDA_CHANGE_SYNC
;
220 #define DEFINE_KSMETHOD_ITEM_BDA_START_CHANGES(MethodHandler, SupportHandler)\
221 DEFINE_KSMETHOD_ITEM(\
222 KSMETHOD_BDA_START_CHANGES,\
229 #define DEFINE_KSMETHOD_ITEM_BDA_CHECK_CHANGES(MethodHandler, SupportHandler)\
230 DEFINE_KSMETHOD_ITEM(\
231 KSMETHOD_BDA_CHECK_CHANGES,\
238 #define DEFINE_KSMETHOD_ITEM_BDA_COMMIT_CHANGES(MethodHandler, SupportHandler)\
239 DEFINE_KSMETHOD_ITEM(\
240 KSMETHOD_BDA_COMMIT_CHANGES,\
247 #define DEFINE_KSMETHOD_ITEM_BDA_GET_CHANGE_STATE(MethodHandler, SupportHandler)\
248 DEFINE_KSMETHOD_ITEM(\
249 KSMETHOD_BDA_GET_CHANGE_STATE,\
256 #define STATIC_KSPROPSETID_BdaFrequencyFilter \
257 0x71985f47, 0x1ca1, 0x11d3, 0x9c, 0xc8, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0
258 DEFINE_GUIDSTRUCT("71985F47-1CA1-11d3-9CC8-00C04F7971E0", KSPROPSETID_BdaFrequencyFilter
);
259 #define KSPROPSETID_BdaFrequencyFilter DEFINE_GUIDNAMED(KSPROPSETID_BdaFrequencyFilter)
262 KSPROPERTY_BDA_RF_TUNER_FREQUENCY
= 0,
263 KSPROPERTY_BDA_RF_TUNER_POLARITY
,
264 KSPROPERTY_BDA_RF_TUNER_RANGE
,
265 KSPROPERTY_BDA_RF_TUNER_TRANSPONDER
,
266 KSPROPERTY_BDA_RF_TUNER_BANDWIDTH
,
267 KSPROPERTY_BDA_RF_TUNER_FREQUENCY_MULTIPLIER
,
268 KSPROPERTY_BDA_RF_TUNER_CAPS
,
269 KSPROPERTY_BDA_RF_TUNER_SCAN_STATUS
,
270 KSPROPERTY_BDA_RF_TUNER_STANDARD
,
271 KSPROPERTY_BDA_RF_TUNER_STANDARD_MODE
272 }KSPROPERTY_BDA_FREQUENCY_FILTER
;
275 #define STATIC_KSPROPSETID_BdaDigitalDemodulator \
276 0xef30f379, 0x985b, 0x4d10, 0xb6, 0x40, 0xa7, 0x9d, 0x5e, 0x4, 0xe1, 0xe0
277 DEFINE_GUIDSTRUCT("EF30F379-985B-4d10-B640-A79D5E04E1E0", KSPROPSETID_BdaDigitalDemodulator
);
278 #define KSPROPSETID_BdaDigitalDemodulator DEFINE_GUIDNAMED(KSPROPSETID_BdaDigitalDemodulator)
281 KSPROPERTY_BDA_MODULATION_TYPE
= 0,
282 KSPROPERTY_BDA_INNER_FEC_TYPE
,
283 KSPROPERTY_BDA_INNER_FEC_RATE
,
284 KSPROPERTY_BDA_OUTER_FEC_TYPE
,
285 KSPROPERTY_BDA_OUTER_FEC_RATE
,
286 KSPROPERTY_BDA_SYMBOL_RATE
,
287 KSPROPERTY_BDA_SPECTRAL_INVERSION
,
288 KSPROPERTY_BDA_GUARD_INTERVAL
,
289 KSPROPERTY_BDA_TRANSMISSION_MODE
,
290 KSPROPERTY_BDA_ROLL_OFF
,
291 KSPROPERTY_BDA_PILOT
,
292 KSPROPERTY_BDA_SIGNALTIMEOUTS
293 }KSPROPERTY_BDA_DIGITAL_DEMODULATOR
;
295 #define STATIC_KSPROPSETID_BdaLNBInfo \
296 0x992cf102, 0x49f9, 0x4719, 0xa6, 0x64, 0xc4, 0xf2, 0x3e, 0x24, 0x8, 0xf4
297 DEFINE_GUIDSTRUCT("992CF102-49F9-4719-A664-C4F23E2408F4", KSPROPSETID_BdaLNBInfo
);
298 #define KSPROPSETID_BdaLNBInfo DEFINE_GUIDNAMED(KSPROPSETID_BdaLNBInfo)
301 KSPROPERTY_BDA_LNB_LOF_LOW_BAND
= 0,
302 KSPROPERTY_BDA_LNB_LOF_HIGH_BAND
,
303 KSPROPERTY_BDA_LNB_SWITCH_FREQUENCY
304 }KSPROPERTY_BDA_LNB_INFO
;
306 #define STATIC_KSPROPSETID_BdaSignalStats \
307 0x1347d106, 0xcf3a, 0x428a, 0xa5, 0xcb, 0xac, 0xd, 0x9a, 0x2a, 0x43, 0x38
308 DEFINE_GUIDSTRUCT("1347D106-CF3A-428a-A5CB-AC0D9A2A4338", KSPROPSETID_BdaSignalStats
);
309 #define KSPROPSETID_BdaSignalStats DEFINE_GUIDNAMED(KSPROPSETID_BdaSignalStats)
312 KSPROPERTY_BDA_SIGNAL_STRENGTH
= 0,
313 KSPROPERTY_BDA_SIGNAL_QUALITY
,
314 KSPROPERTY_BDA_SIGNAL_PRESENT
,
315 KSPROPERTY_BDA_SIGNAL_LOCKED
,
316 KSPROPERTY_BDA_SAMPLE_TIME
317 }KSPROPERTY_BDA_SIGNAL_STATS
;
320 typedef struct tagBDA_TRANSPORT_INFO
{
321 ULONG ulcbPhyiscalPacket
;
322 ULONG ulcbPhyiscalFrame
;
323 ULONG ulcbPhyiscalFrameAlignment
;
324 REFERENCE_TIME AvgTimePerFrame
;
326 } BDA_TRANSPORT_INFO
, *PBDA_TRANSPORT_INFO
;
328 typedef struct tagKS_DATARANGE_BDA_TRANSPORT
330 KSDATARANGE DataRange
;
331 BDA_TRANSPORT_INFO BdaTransportInfo
;
332 } KS_DATARANGE_BDA_TRANSPORT
, *PKS_DATARANGE_BDA_TRANSPORT
;
334 /* ------------------------------------------------------------
335 BDA Stream Format GUIDs
338 #define STATIC_KSDATAFORMAT_TYPE_BDA_ANTENNA\
339 0x71985f41, 0x1ca1, 0x11d3, 0x9c, 0xc8, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0
340 DEFINE_GUIDSTRUCT("71985F41-1CA1-11d3-9CC8-00C04F7971E0", KSDATAFORMAT_TYPE_BDA_ANTENNA
);
341 #define KSDATAFORMAT_TYPE_BDA_ANTENNA DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_BDA_ANTENNA)
344 #define STATIC_KSDATAFORMAT_SUBTYPE_BDA_MPEG2_TRANSPORT\
345 0xf4aeb342, 0x0329, 0x4fdd, 0xa8, 0xfd, 0x4a, 0xff, 0x49, 0x26, 0xc9, 0x78
346 DEFINE_GUIDSTRUCT("F4AEB342-0329-4fdd-A8FD-4AFF4926C978", KSDATAFORMAT_SUBTYPE_BDA_MPEG2_TRANSPORT
);
347 #define KSDATAFORMAT_SUBTYPE_BDA_MPEG2_TRANSPORT DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_BDA_MPEG2_TRANSPORT)
350 #define STATIC_KSDATAFORMAT_SPECIFIER_BDA_TRANSPORT\
351 0x8deda6fd, 0xac5f, 0x4334, 0x8e, 0xcf, 0xa4, 0xba, 0x8f, 0xa7, 0xd0, 0xf0
352 DEFINE_GUIDSTRUCT("8DEDA6FD-AC5F-4334-8ECF-A4BA8FA7D0F0", KSDATAFORMAT_SPECIFIER_BDA_TRANSPORT
);
353 #define KSDATAFORMAT_SPECIFIER_BDA_TRANSPORT DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_BDA_TRANSPORT)
356 #define STATIC_KSDATAFORMAT_TYPE_BDA_IF_SIGNAL\
357 0x61be0b47, 0xa5eb, 0x499b, 0x9a, 0x85, 0x5b, 0x16, 0xc0, 0x7f, 0x12, 0x58
358 DEFINE_GUIDSTRUCT("61BE0B47-A5EB-499b-9A85-5B16C07F1258", KSDATAFORMAT_TYPE_BDA_IF_SIGNAL
);
359 #define KSDATAFORMAT_TYPE_BDA_IF_SIGNAL DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_BDA_IF_SIGNAL)
362 #define STATIC_KSDATAFORMAT_TYPE_MPEG2_SECTIONS\
363 0x455f176c, 0x4b06, 0x47ce, 0x9a, 0xef, 0x8c, 0xae, 0xf7, 0x3d, 0xf7, 0xb5
364 DEFINE_GUIDSTRUCT("455F176C-4B06-47CE-9AEF-8CAEF73DF7B5", KSDATAFORMAT_TYPE_MPEG2_SECTIONS
);
365 #define KSDATAFORMAT_TYPE_MPEG2_SECTIONS DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_MPEG2_SECTIONS)
368 #define STATIC_KSDATAFORMAT_SUBTYPE_ATSC_SI\
369 0xb3c7397c, 0xd303, 0x414d, 0xb3, 0x3c, 0x4e, 0xd2, 0xc9, 0xd2, 0x97, 0x33
370 DEFINE_GUIDSTRUCT("B3C7397C-D303-414D-B33C-4ED2C9D29733", KSDATAFORMAT_SUBTYPE_ATSC_SI
);
371 #define KSDATAFORMAT_SUBTYPE_ATSC_SI DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_ATSC_SI)
374 #define STATIC_KSDATAFORMAT_SUBTYPE_DVB_SI\
375 0xe9dd31a3, 0x221d, 0x4adb, 0x85, 0x32, 0x9a, 0xf3, 0x9, 0xc1, 0xa4, 0x8
376 DEFINE_GUIDSTRUCT("e9dd31a3-221d-4adb-8532-9af309c1a408", KSDATAFORMAT_SUBTYPE_DVB_SI
);
377 #define KSDATAFORMAT_SUBTYPE_DVB_SI DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_DVB_SI)
380 #define STATIC_KSDATAFORMAT_SUBTYPE_BDA_OPENCABLE_PSIP\
381 0x762e3f66, 0x336f, 0x48d1, 0xbf, 0x83, 0x2b, 0x0, 0x35, 0x2c, 0x11, 0xf0
382 DEFINE_GUIDSTRUCT("762E3F66-336F-48d1-BF83-2B00352C11F0", KSDATAFORMAT_SUBTYPE_BDA_OPENCABLE_PSIP
);
383 #define KSDATAFORMAT_SUBTYPE_BDA_OPENCABLE_PSIP DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_BDA_OPENCABLE_PSIP)
386 #define STATIC_KSDATAFORMAT_SUBTYPE_BDA_OPENCABLE_OOB_PSIP\
387 0x951727db, 0xd2ce, 0x4528, 0x96, 0xf6, 0x33, 0x1, 0xfa, 0xbb, 0x2d, 0xe0
388 DEFINE_GUIDSTRUCT("951727DB-D2CE-4528-96F6-3301FABB2DE0", KSDATAFORMAT_SUBTYPE_BDA_OPENCABLE_OOB_PSIP
);
389 #define KSDATAFORMAT_SUBTYPE_BDA_OPENCABLE_OOB_PSIP DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_BDA_OPENCABLE_OOB_PSIP)
392 #define STATIC_KSDATAFORMAT_SUBTYPE_ISDB_SI\
393 0x4a2eeb99, 0x6458, 0x4538, 0xb1, 0x87, 0x04, 0x01, 0x7c, 0x41, 0x41, 0x3f
394 DEFINE_GUIDSTRUCT("4a2eeb99-6458-4538-b187-04017c41413f", KSDATAFORMAT_SUBTYPE_ISDB_SI
);
395 #define KSDATAFORMAT_SUBTYPE_ISDB_SI DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_ISDB_SI)
398 #define STATIC_KSDATAFORMAT_SUBTYPE_PBDA_TRANSPORT_RAW\
399 0x0d7aed42, 0xcb9a, 0x11db, 0x97, 0x05, 0x00, 0x50, 0x56, 0xc0, 0x00, 0x08
400 DEFINE_GUIDSTRUCT("0d7AED42-CB9A-11DB-9705-005056C00008", KSDATAFORMAT_SUBTYPE_PBDA_TRANSPORT_RAW
);
401 #define KSDATAFORMAT_SUBTYPE_PBDA_TRANSPORT_RAW DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_PBDA_TRANSPORT_RAW)