Metodo IGraphBuilder::AddSourceFilter (strmif.h)

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEngine 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, IMFMediaEngine e Audio/Video Capture in Media Foundation invece di DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Il AddSourceFilter metodo aggiunge un filtro di origine per un file specificato al grafico del filtro.

Sintassi

HRESULT AddSourceFilter(
  [in]  LPCWSTR     lpcwstrFileName,
  [in]  LPCWSTR     lpcwstrFilterName,
  [out] IBaseFilter **ppFilter
);

Parametri

[in] lpcwstrFileName

Specifica il nome del file da caricare.

[in] lpcwstrFilterName

Specifica un nome per il filtro di origine.

[out] ppFilter

Riceve un puntatore all'interfaccia IBaseFilter del filtro. Il chiamante deve rilasciare l'interfaccia.

Valore restituito

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

Codice restituito Descrizione
S_OK
Operazione completata.
E_NOINTERFACE
Il filtro di origine non supporta l'interfaccia IFileSourceFilter .
E_OUTOFMEMORY
Memoria insufficiente.
E_POINTER
Argomento puntatore NULL.
VFW_E_CANNOT_LOAD_SOURCE_FILTER
Impossibile caricare il filtro di origine per questo file.
VFW_E_NOT_FOUND
File o oggetto non trovato.
VFW_E_UNKNOWN_FILE_TYPE
Il tipo di supporto di questo file non è stato riconosciuto.

Commenti

Questo metodo cerca un filtro installato in grado di leggere il file specificato. Se ne trova uno, il metodo lo aggiunge al grafico dei filtri e restituisce un puntatore all'interfaccia IBaseFilter del filtro. Per determinare il tipo di supporto e lo schema di compressione del file, Filter Graph Manager legge i primi byte del file, cercando modelli specifici di byte, come documentato nell'articolo Registrazione di un tipo di file personalizzato.

L'applicazione è responsabile della compilazione del resto del grafico dei filtri. A tale scopo, chiamare IBaseFilter::EnumPins per enumerare i pin di output nel filtro di origine. Usare quindi il metodo IGraphBuilder::Connect o il metodo IGraphBuilder::Render .

Se il metodo ha esito positivo, l'interfaccia IBaseFilter ha un conteggio dei riferimenti in sospeso. Il chiamante deve rilasciare l'interfaccia.

Per eseguire il rendering di un file per la riproduzione predefinita, usare il metodo IGraphBuilder::RenderFile .

Filter Graph Manager contiene un conteggio dei riferimenti per il filtro finché il filtro non viene rimosso dal grafico o viene rilasciato Filter Graph Manager.

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 di errore e di esito positivo

Interfaccia IGraphBuilder