(
        &KSEVENTSETID_ExtendedCameraControl,
        SIZEOF_ARRAY(ExtendedPropertyEventTable),
        ExtendedPropertyEventTable
    ),
    DEFINE_KSEVENT_SET
    (
        &EVENTSETID_VIDCAP_CAMERACONTROL_REGION_OF_INTEREST,
        SIZEOF_ARRAY(VidCapRoiEventTable),
        VidCapRoiEventTable
    )
};

DEFINE_KSAUTOMATION_TABLE(AvsCameraFilterAutomationTable)
{
    DEFINE_KSAUTOMATION_PROPERTIES(PropertySets),
    DEFINE_KSAUTOMATION_METHODS_NULL,
    DEFINE_KSAUTOMATION_EVENTS(EventSets)
};

//FFC
DEFINE_KSPROPERTY_SET_TABLE(PropertySetsFFC)
{
    DEFINE_STD_PROPERTY_SET( PROPSETID_VIDCAP_VIDEOCONTROL,                       FilterVidcapPropertyTable     ),
    DEFINE_STD_PROPERTY_SET( PROPSETID_VIDCAP_CAMERACONTROL_IMAGE_PIN_CAPABILITY, PinDependencePropertyItems    ),
    DEFINE_STD_PROPERTY_SET( KSPROPERTYSETID_ExtendedCameraControl,               ExtendedPropertyItemsFFC      ),
    DEFINE_STD_PROPERTY_SET( PROPSETID_VIDCAP_VIDEOPROCAMP,                       VideoProcampPropertyTable     ),
    DEFINE_STD_PROPERTY_SET( PROPSETID_VIDCAP_CUSTOMCONTROL,                      CustomPropertyTable           )
};

DEFINE_KSEVENT_SET_TABLE(EventSetsFFC)
Ejemplo n.º 2
0
    (
        &KSPROPSETID_Audio,
        SIZEOF_ARRAY(gPinProperty),
        gPinProperty,
        0,
        NULL
    )
};

// 定义自控表
// 自控表由属性、方法、事件三者组成
// 但在没有必要的情况下,可以不定义它们
// 本驱动仅实现了属性
DEFINE_KSAUTOMATION_TABLE (gPinAutomation)
{
    DEFINE_KSAUTOMATION_PROPERTIES(gPinPropertySet),
    DEFINE_KSAUTOMATION_METHODS_NULL,
    DEFINE_KSAUTOMATION_EVENTS_NULL
};

// 定义Pin描述符
const KSPIN_DESCRIPTOR_EX gPins [2] = 
{
    // 输入Pin
    // 可实例化的Pin个数为1,即仅有一个输入Pin。
    {
        &gPinDispatch,
        &gPinAutomation,
        {
            DEFINE_KSPIN_DEFAULT_INTERFACES,
            DEFINE_KSPIN_DEFAULT_MEDIUMS,