Pin 属性集

[与此页面关联的功能(DirectShow)是一项旧功能。 它已被 MediaPlayerIMFMediaEngine取代,并在媒体基金会 音频/视频捕获。 这些功能已针对 Windows 10 和 Windows 11 进行了优化。 Microsoft强烈建议新代码尽可能使用 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获,而不是 DirectShow。 Microsoft建议重写使用旧 API 的现有代码,以尽可能使用新 API。]

pin 属性集返回筛选器上引脚的引脚类别。 该类别由筛选器在创建引脚时设置;类别指示此引脚传递或接收的数据类型。

标签 价值
属性集 GUID AMPROPSETID_Pin

 

属性 ID 描述
AMPROPERTY_PIN_CATEGORY 指定引脚的类别。

 

DirectShow 在 Uuids.h 头文件中定义以下引脚类别。

类别 GUID 描述
PIN_CATEGORY_ANALOGVIDEOIN 捕获筛选器的输入引脚,该筛选器采用模拟并将其数字化。
PIN_CATEGORY_CAPTURE 捕获引脚。
PIN_CATEGORY_CC 固定提供来自第 21 行的隐藏式字幕数据。
PIN_CATEGORY_EDS 固定提供扩展数据服务(第 21 行,偶数字段)。
PIN_CATEGORY_NABTS 固定提供北美视频文本标准数据。
PIN_CATEGORY_PREVIEW 预览引脚。
PIN_CATEGORY_STILL 提供静止图像的固定。 筛选器的捕获引脚必须在连接静止图像引脚之前进行连接。
PIN_CATEGORY_TELETEXT 固定提供电视图文(隐藏式字幕变体)。
PIN_CATEGORY_TIMECODE 固定提供时间码数据。
PIN_CATEGORY_VBI 固定提供垂直空白间隔数据。
PIN_CATEGORY_VIDEOPORT 要连接到 覆盖混音器上的输入引脚零的视频输出引脚。
PIN_CATEGORY_VIDEOPORT_VBI 要连接到 VBI Surface 分配器的引脚,VBI 图面分配器筛选器(需要在使用视频端口的情况下为隐藏式字幕覆盖等内容分配正确的视频内存)分配正确的视频内存。 PCI、IEEE 1394 和 USB 方案不使用此筛选器。
PINNAME_VIDEO_CC_CAPTURE 硬件切片隐藏式字幕引脚

 

此属性为只读。

示例代码

以下代码演示如何检查引脚是否支持此属性集,如果是,如何获取引脚类别:

HRESULT GetPinCategory(IPin *pPin, GUID *pPinCategory)
{
    IKsPropertySet *pKs = NULL;

    HRESULT hr = pPin->QueryInterface(IID_PPV_ARGS(&pKs));
    if (FAILED(hr))
    {
        return hr;
    }

    // Try to retrieve the pin category.
    DWORD cbReturned = 0;
    hr = pKs->Get(AMPROPSETID_Pin, AMPROPERTY_PIN_CATEGORY, NULL, 0, 
        pPinCategory, sizeof(GUID), &cbReturned);
    
    // If this succeeded, pPinCategory now contains the category GUID.

    SafeRelease(&pKs);
    return hr;
}

注意

此示例使用 SafeRelease 函数释放接口指针。

 

捕获筛选器的 引脚要求

属性集

使用固定类别