13 #include <pseh/pseh2.h>
23 #define TAG_DEVICE_HEADER 'KSDH'
24 #define REG_PINFLAG_B_MANY 0x4 /* strmif.h */
25 #define MERIT_DO_NOT_USE 0x200000 /* dshow.h */
27 #define DEFINE_KSPROPERTY_PINPROPOSEDATAFORMAT(PinSet,\
28 PropGeneral, PropInstances, PropIntersection)\
29 DEFINE_KSPROPERTY_TABLE(PinSet) {\
30 DEFINE_KSPROPERTY_ITEM_PIN_CINSTANCES(PropInstances),\
31 DEFINE_KSPROPERTY_ITEM_PIN_CTYPES(PropGeneral),\
32 DEFINE_KSPROPERTY_ITEM_PIN_DATAFLOW(PropGeneral),\
33 DEFINE_KSPROPERTY_ITEM_PIN_DATARANGES(PropGeneral),\
34 DEFINE_KSPROPERTY_ITEM_PIN_DATAINTERSECTION(PropIntersection),\
35 DEFINE_KSPROPERTY_ITEM_PIN_INTERFACES(PropGeneral),\
36 DEFINE_KSPROPERTY_ITEM_PIN_MEDIUMS(PropGeneral),\
37 DEFINE_KSPROPERTY_ITEM_PIN_COMMUNICATION(PropGeneral),\
38 DEFINE_KSPROPERTY_ITEM_PIN_CATEGORY(PropGeneral),\
39 DEFINE_KSPROPERTY_ITEM_PIN_NAME(PropGeneral),\
40 DEFINE_KSPROPERTY_ITEM_PIN_CONSTRAINEDDATARANGES(PropGeneral),\
41 DEFINE_KSPROPERTY_ITEM_PIN_PROPOSEDATAFORMAT(PropGeneral)\
44 #define DEFINE_KSPROPERTY_CONNECTIONSET(PinSet,\
45 PropStateHandler, PropDataFormatHandler, PropAllocatorFraming)\
46 DEFINE_KSPROPERTY_TABLE(PinSet) {\
47 DEFINE_KSPROPERTY_ITEM_CONNECTION_STATE(PropStateHandler, PropStateHandler),\
48 DEFINE_KSPROPERTY_ITEM_CONNECTION_DATAFORMAT(PropDataFormatHandler, PropDataFormatHandler),\
49 DEFINE_KSPROPERTY_ITEM_CONNECTION_ALLOCATORFRAMING_EX(PropAllocatorFraming)\
53 #define DEFINE_KSPROPERTY_STREAMSET(PinSet,\
54 PropStreamAllocator, PropMasterClock, PropPipeId)\
55 DEFINE_KSPROPERTY_TABLE(PinSet) {\
56 DEFINE_KSPROPERTY_ITEM_STREAM_ALLOCATOR(PropStreamAllocator, PropStreamAllocator),\
57 DEFINE_KSPROPERTY_ITEM_STREAM_MASTERCLOCK(PropMasterClock, PropMasterClock),\
58 DEFINE_KSPROPERTY_ITEM_STREAM_PIPE_ID(PropPipeId, PropPipeId)\