共用方式為


CSourceSeeking.CheckCapabilities 方法

[與此頁面相關的功能 DirectShow是舊版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayerIMFMediaEngine音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議使用舊版 API 的現有程式碼盡可能重寫為使用新的 API。

方法 CheckCapabilities 會查詢資料流程是否有指定的搜尋功能。 這個方法會實作 IMediaSeeking::CheckCapabilities 方法。

語法

HRESULT CheckCapabilities(
   DWORD *pCapabilities
);

參數

pCapabilities

一或多個 AM_SEEKING_SEEKING_CAPABILITIES 屬性的位元組合指標。

傳回值

傳回下表所列的其中一個 HRESULT 值。

傳回碼 Description
S_FALSE
pCapabilities中的所有功能都不存在。
S_OK
pCapabilities中的所有功能都存在。
E_POINTER
Null 指標引數。

備註

實作時,此方法會根據CSourceSeeking::m_dwSeekingCaps成員變數檢查*pCapabilities的值。 不過,它不會將 *pCapabilities 設定為 等於 m_dwSeekingCaps,如 IMediaSeeking::CheckCapabilities 方法所述。 此外,在沒有任何指定的功能可用的情況下,此方法不會傳回E_FAIL。 更完整的實作如下所示:

STDMETHODIMP CheckCapabilities(DWORD *pCapabilities)
{
    CheckPointer(pCapabilities, E_POINTER)
;
    DWORD dwCaps;
    HRESULT hr = GetCapabilities(&dwCaps);
    if (SUCCEEDED(hr))
    {
        dwCaps &= *pCapabilities;
        if (dwCaps)
        {
            hr =  (dwCaps == *pCapabilities ? S_OK : S_FALSE );
        }
        else 
        {
            hr = E_FAIL;
        }
        *pCapabilities = dwCaps;
    }
    else 
    {
        *pCapabilities = 0;
    }
    return hr;
}

規格需求

需求
標頭
Ctlutil.h (包含 Streams.h)
程式庫
Strmbase.lib (零售組建) ;
Strmbasd.lib (偵錯組建)

另請參閱

CSourceSeeking 類別