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