Share via


Metodo IMediaSeeking::CheckCapabilities (strmif.h)

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation anziché DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Il metodo CheckCapabilities esegue una query sul fatto che un flusso abbia specificato funzionalità di ricerca.

Sintassi

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

Parametri

[in, out] pCapabilities

In input, un puntatore a una variabile contenente un OR bit per bit di uno o più attributi AM_SEEKING_SEEKING_CAPABILITIES . Quando il metodo restituisce, il valore indica quale di questi attributi sono disponibili.

Valore restituito

Restituisce un valore HRESULT . Di seguito sono indicati alcuni valori possibili.

Codice restituito Descrizione
S_FALSE
Alcune funzionalità, ma non tutte le funzionalità in pCapabilities sono presenti.
S_OK
Tutte le funzionalità in pCapabilities sono presenti.
E_FAIL
Non sono presenti funzionalità in pCapabilities .
E_POINTER
Argomento puntatore NULL.

Commenti

Se si è interessati solo a alcune funzionalità specifiche, chiamare questo metodo è più efficiente di chiamare IMediaSeeking::GetCapabilities, che controlla tutte le funzionalità di ricerca del flusso.

Per chiamare questo metodo, dichiarare una variabile DWORD e impostare il valore sulla combinazione bit per bit-ORdei flag AM_SEEKING_SEEKING_CAPABILITIES da testare. Passare l'indirizzo di questo valore nel parametro pCapabilities . Quando il metodo restituisce, pCapabilities contiene un subset dei bit originali, che indica quali funzionalità sono presenti. Il valore restituito indica se sono presenti alcune funzionalità, none o tutte le funzionalità richieste.

Nell'esempio di codice seguente viene illustrato come scoprire se il flusso supporta la ricerca avanti, la ricerca indietro e la ricerca assoluta.

C++
Impostare i flag per le funzionalità da controllare.

DWORD dwCaps = AM_SEEKING_CanSeekAbsolute | AM_SEEKING_CanSeekForwards | AM_SEEKING_CanSeekBackwards;

HRESULT hr = pMediaSeeking-CheckCapabilities>(&dwCaps); if(FAILED(hr)) { // Impossibile cercare il flusso. } 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. } }

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione strmif.h (include Dshow.h)
Libreria Strmiids.lib

Vedi anche

Codici errore e esito positivo

Interfaccia IMediaSeeking