Bagikan melalui


Metode CSourceSeeking.CheckCapabilities

[Fitur yang terkait dengan halaman ini, DirectShow, adalah fitur warisan. Ini telah digantikan oleh MediaPlayer, IMFMediaEngine, dan Pengambilan Audio/Video di Media Foundation. Fitur-fitur tersebut telah dioptimalkan untuk Windows 10 dan Windows 11. Microsoft sangat menyarankan agar kode baru menggunakan MediaPlayer, IMFMediaEngine , dan Pengambilan Audio/Video di Media Foundation alih-alih DirectShow, jika memungkinkan. Microsoft menyarankan agar kode yang ada yang menggunakan API warisan ditulis ulang untuk menggunakan API baru jika memungkinkan.]

Metode ini CheckCapabilities mengkueri apakah aliran telah menentukan kemampuan pencarian. Metode ini mengimplementasikan metode IMediaSeeking::CheckCapabilities .

Sintaks

HRESULT CheckCapabilities(
   DWORD *pCapabilities
);

Parameter

PCapabilities

Arahkan ke kombinasi bitwise dari satu atau beberapa atribut AM_SEEKING_SEEKING_CAPABILITIES .

Nilai kembali

Mengembalikan salah satu nilai HRESULT yang tercantum dalam tabel berikut ini.

Menampilkan kode Deskripsi
S_FALSE
Tidak semua kemampuan dalam pCapabilities ada.
S_OK
Semua kemampuan dalam pCapabilities ada.
E_POINTER
Argumen pointer NULL.

Keterangan

Seperti yang diimplementasikan, metode ini memeriksa nilai *pCapabilities terhadap variabel anggota CSourceSeeking::m_dwSeekingCaps . Namun, ini tidak mengatur *pCapabilities sama dengan m_dwSeekingCaps, seperti yang dijelaskan untuk metode IMediaSeeking::CheckCapabilities . Selain itu, dalam kasus di mana tidak ada kemampuan yang ditentukan yang tersedia, metode tidak mengembalikan E_FAIL. Implementasi yang lebih lengkap adalah sebagai berikut:

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;
}

Persyaratan

Persyaratan Nilai
Header
Ctlutil.h (termasuk Streams.h)
Pustaka
Strmbase.lib (build ritel);
Strmbasd.lib (build debug)

Lihat juga

Kelas CSourceSeeking