prop.h

来自「windows 底层驱动」· C头文件 代码 · 共 136 行

H
136
字号
#ifndef PROP_H
#define PROP_H

// ------------------------------------------------------------------------
// Property table for standard properties that for the tv tuner
// ------------------------------------------------------------------------
DEFINE_KSPROPERTY_TABLE(TunerStandardProperties)
{
    // tuner capabilities - modes supported, video medium, tv audio medium,
    // radio audio medium
    DEFINE_KSPROPERTY_ITEM
    (
        KSPROPERTY_TUNER_CAPS,
        TRUE,
        sizeof(KSPROPERTY_TUNER_CAPS_S),
        sizeof(KSPROPERTY_TUNER_CAPS_S),
        FALSE,
        NULL,
        0,
        NULL,
        NULL,
        0
    ),

    // tuner mode capabilities - TV, FM Radio, ATSC
    DEFINE_KSPROPERTY_ITEM
    (
        KSPROPERTY_TUNER_MODE_CAPS,
        TRUE,
        sizeof(KSPROPERTY_TUNER_MODE_CAPS_S),
        sizeof(KSPROPERTY_TUNER_MODE_CAPS_S),
        FALSE,
        NULL,
        0,
        NULL,
        NULL,
        0
    ),

    // current tuner mode
    DEFINE_KSPROPERTY_ITEM
    (
        KSPROPERTY_TUNER_MODE,
        TRUE,
        sizeof(KSPROPERTY_TUNER_MODE_S),
        sizeof(KSPROPERTY_TUNER_MODE_S),
        TRUE,
        NULL,
        0,
        NULL,
        NULL,
        0
    ),

    // tuner standard - NTSC, PAL, SECAM
    DEFINE_KSPROPERTY_ITEM
    (
        KSPROPERTY_TUNER_STANDARD,
        TRUE,
        sizeof(KSPROPERTY_TUNER_STANDARD_S),
        sizeof(KSPROPERTY_TUNER_STANDARD_S),
        TRUE,
        NULL,
        0,
        NULL,
        NULL,
        sizeof(KSPROPERTY_TUNER_STANDARD_S)
    ),

    // tuner frequency
    DEFINE_KSPROPERTY_ITEM
    (
        KSPROPERTY_TUNER_FREQUENCY,
        TRUE,
        sizeof(KSPROPERTY_TUNER_FREQUENCY_S),
        sizeof(KSPROPERTY_TUNER_FREQUENCY_S),
        TRUE,
        NULL,
        0,
        NULL,
        NULL,
        sizeof(KSPROPERTY_TUNER_FREQUENCY_S)
    ),

    // tuner index number, some tuners have more than one input
    DEFINE_KSPROPERTY_ITEM
    (
        KSPROPERTY_TUNER_INPUT,
        TRUE,
        sizeof(KSPROPERTY_TUNER_INPUT_S),
        sizeof(KSPROPERTY_TUNER_INPUT_S),
        TRUE,
        NULL,
        0,
        NULL,
        NULL,
        sizeof(KSPROPERTY_TUNER_INPUT_S)
    ),

    // tuner status - current freq, PLL offset, Signal Strength, Busy
    DEFINE_KSPROPERTY_ITEM
    (
        KSPROPERTY_TUNER_STATUS,
        TRUE,
        sizeof(KSPROPERTY_TUNER_STATUS_S),
        sizeof(KSPROPERTY_TUNER_STATUS_S),
        FALSE,
        NULL,
        0,
        NULL,
        NULL,
        sizeof(KSPROPERTY_TUNER_STATUS_S)
    ),
};


// ------------------------------------------------------------------------
// Property set table for the driver
// ------------------------------------------------------------------------
DEFINE_KSPROPERTY_SET_TABLE(TunerPropertySet)
{
    // tuner standard properties
    DEFINE_KSPROPERTY_SET
    (
        &PROPSETID_TUNER,
        SIZEOF_ARRAY(TunerStandardProperties),
        TunerStandardProperties,
        0,
        NULL
    ),
};

#define NUMBER_OF_ADAPTER_PROPERTY_SETS (SIZEOF_ARRAY(TunerPropertySet))


#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?