xref: /reactos/drivers/ksfilter/ks/precomp.h (revision c2c66aff)
1 #ifndef _KS_PCH_
2 #define _KS_PCH_
3 
4 #define _KSDDK_
5 
6 #include <ntddk.h>
7 #include <portcls.h>
8 #include <kcom.h>
9 #include <pseh/pseh2.h>
10 #include <ntstrsafe.h>
11 
12 #include "ksiface.h"
13 #include "kstypes.h"
14 #include "ksfunc.h"
15 
16 #define TAG_DEVICE_HEADER 'KSDH'
17 #define REG_PINFLAG_B_MANY 0x4 /* strmif.h */
18 #define MERIT_DO_NOT_USE 0x200000 /* dshow.h */
19 
20 #define DEFINE_KSPROPERTY_PINPROPOSEDATAFORMAT(PinSet,\
21     PropGeneral, PropInstances, PropIntersection)\
22 DEFINE_KSPROPERTY_TABLE(PinSet) {\
23     DEFINE_KSPROPERTY_ITEM_PIN_CINSTANCES(PropInstances),\
24     DEFINE_KSPROPERTY_ITEM_PIN_CTYPES(PropGeneral),\
25     DEFINE_KSPROPERTY_ITEM_PIN_DATAFLOW(PropGeneral),\
26     DEFINE_KSPROPERTY_ITEM_PIN_DATARANGES(PropGeneral),\
27     DEFINE_KSPROPERTY_ITEM_PIN_DATAINTERSECTION(PropIntersection),\
28     DEFINE_KSPROPERTY_ITEM_PIN_INTERFACES(PropGeneral),\
29     DEFINE_KSPROPERTY_ITEM_PIN_MEDIUMS(PropGeneral),\
30     DEFINE_KSPROPERTY_ITEM_PIN_COMMUNICATION(PropGeneral),\
31     DEFINE_KSPROPERTY_ITEM_PIN_CATEGORY(PropGeneral),\
32     DEFINE_KSPROPERTY_ITEM_PIN_NAME(PropGeneral),\
33     DEFINE_KSPROPERTY_ITEM_PIN_CONSTRAINEDDATARANGES(PropGeneral),\
34     DEFINE_KSPROPERTY_ITEM_PIN_PROPOSEDATAFORMAT(PropGeneral)\
35 }
36 #define DEFINE_KSPROPERTY_GENEREAL_COMPONENTID(PinSet,\
37     PropGeneral)\
38 DEFINE_KSPROPERTY_TABLE(PinSet) {\
39 DEFINE_KSPROPERTY_ITEM_GENERAL_COMPONENTID(PropGeneral)\
40 }
41 
42 #define DEFINE_KSPROPERTY_CONNECTIONSET(PinSet,\
43     PropStateHandler, PropDataFormatHandler, PropAllocatorFraming)\
44 DEFINE_KSPROPERTY_TABLE(PinSet) {\
45     DEFINE_KSPROPERTY_ITEM_CONNECTION_STATE(PropStateHandler, PropStateHandler),\
46     DEFINE_KSPROPERTY_ITEM_CONNECTION_DATAFORMAT(PropDataFormatHandler, PropDataFormatHandler),\
47     DEFINE_KSPROPERTY_ITEM_CONNECTION_ALLOCATORFRAMING_EX(PropAllocatorFraming)\
48 }
49 
50 #define DEFINE_KSPROPERTY_STREAMSET(PinSet,\
51     PropStreamAllocator, PropMasterClock, PropPipeId)\
52 DEFINE_KSPROPERTY_TABLE(PinSet) {\
53     DEFINE_KSPROPERTY_ITEM_STREAM_ALLOCATOR(PropStreamAllocator, PropStreamAllocator),\
54     DEFINE_KSPROPERTY_ITEM_STREAM_MASTERCLOCK(PropMasterClock, PropMasterClock),\
55     DEFINE_KSPROPERTY_ITEM_STREAM_PIPE_ID(PropPipeId, PropPipeId)\
56 }
57 
58 #endif /* _KS_PCH_ */
59