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 |
---|---|
|
Operazione completata. |
|
Il filtro di origine non supporta l'interfaccia IFileSourceFilter . |
|
Memoria insufficiente. |
|
Argomento puntatore NULL. |
|
Impossibile caricare il filtro di origine per questo file. |
|
File o oggetto non trovato. |
|
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 |