Freigeben über


IMediaSeeking::CheckCapabilities-Methode (strmif.h)

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

Die CheckCapabilities-Methode fragt ab, ob ein Stream über angegebene Suchfunktionen verfügt.

Syntax

HRESULT CheckCapabilities(
  [in, out] DWORD *pCapabilities
);

Parameter

[in, out] pCapabilities

Bei der Eingabe ein Zeiger auf eine Variable, die ein bitweises OR eines oder mehrerer AM_SEEKING_SEEKING_CAPABILITIES Attribute enthält. Wenn die Methode zurückgibt, gibt der Wert an, welche dieser Attribute verfügbar sind.

Rückgabewert

Gibt einen HRESULT-Wert zurück. Die folgenden Werte sind möglich.

Rückgabecode Beschreibung
S_FALSE
Einige, aber nicht alle Funktionen in pCapabilities sind vorhanden.
S_OK
Alle Funktionen in pCapabilities sind vorhanden.
E_FAIL
In pCapabilities sind keine Funktionen vorhanden.
E_POINTER
NULL-Zeigerargument.

Hinweise

Wenn Sie nur an einigen bestimmten Funktionen interessiert sind, ist das Aufrufen dieser Methode effizienter als der Aufruf von IMediaSeeking::GetCapabilities, der alle Suchfunktionen des Streams überprüft.

Um diese Methode aufzurufen, deklarieren Sie eine DWORD-Variable , und legen Sie den Wert auf die bitweise OR-Kombination der AM_SEEKING_SEEKING_CAPABILITIES Flags fest, die Sie testen möchten. Übergeben Sie die Adresse dieses Werts im pCapabilities-Parameter . Wenn die Methode zurückgibt, enthält pCapabilities eine Teilmenge der ursprünglichen Bits, die angibt, welche Funktionen vorhanden sind. Der Rückgabewert gibt an, ob einige, keine oder alle angeforderten Funktionen vorhanden sind.

Im folgenden Codebeispiel wird gezeigt, wie Sie herausfinden, ob der Stream Vorwärtssuche, Rückwärtssuche und absolute Suche unterstützt.

C++
Legen Sie Flags für die Funktionen fest, die Sie überprüfen möchten.

DWORD dwCaps = AM_SEEKING_CanSeekAbsolute | AM_SEEKING_CanSeekForwards | AM_SEEKING_CanSeekBackwards;

HRESULT hr = pMediaSeeking-CheckCapabilities>(&dwCaps); if(FAILED(hr)) { // Der Stream kann nicht suchen. } else if (hr == S_OK) {
// The stream can seek forward, backward, and to an absolute position. } else if (hr == S_FALSE) // The stream has some of the capabilities. { if (dwCaps & AM_SEEKING_CanSeekAbsolute) { // The stream can seek to an absolute position. } if (dwCaps & AM_SEEKING_CanSeekForwards) { // The stream can seek forward. } if (dwCaps & AM_SEEKING_CanSeekBackwards) { // The stream can seek backward. } }

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile strmif.h (include Dshow.h)
Bibliothek Strmiids.lib

Weitere Informationen

Fehler- und Erfolgscodes

IMediaSeeking-Schnittstelle