CSourceSeeking.CheckCapabilities-Methode

Die CheckCapabilities -Methode fragt ab, ob der Stream Suchfunktionen angegeben hat. Diese Methode implementiert die IMediaSeeking::CheckCapabilities-Methode.

Syntax

HRESULT CheckCapabilities(
   DWORD *pCapabilities
);

Parameter

pCapabilities

Zeiger auf eine bitweise Kombination aus mindestens einem AM _ SEEKING SEEKING _ _ CAPABILITIES-Attribut.

Rückgabewert

Gibt einen der in der folgenden Tabelle aufgeführten HRESULT-Werte zurück.

Rückgabecode Beschreibung
S _ FALSE
Nicht alle Funktionen in pCapabilities sind vorhanden.
S _ OK
Alle Funktionen in pCapabilities sind vorhanden.
_E-ZEIGER
NULL-Zeigerargument.

Hinweise

Wie implementiert, überprüft diese Methode den Wert * von pCapabilities mit der CSourceSeeking::m _ dwSeekingCaps-Membervariable. Allerdings wird * pCapabilities nicht auf m _ dwSeekingCaps festgelegt, wie für die IMediaSeeking::CheckCapabilities-Methode beschrieben. Falls keine der angegebenen Funktionen verfügbar ist, gibt die Methode auch E _ FAIL nicht zurück. Eine vollständigere Implementierung wäre wie folgt:

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

Anforderungen

Anforderung Wert
Header
Ctlutil.h (include Streams.h)
Bibliothek
Strmbase.lib (Einzelhandels-Builds);
Strmbasd.lib (Debugbuilds)

Siehe auch

CSourceSeeking-Klasse