Metodo IGraphBuilder::RenderFile (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 RenderFile metodo compila un grafico di filtro che esegue il rendering del file specificato.

Sintassi

HRESULT RenderFile(
  [in] LPCWSTR lpcwstrFile,
  [in] LPCWSTR lpcwstrPlayList
);

Parametri

[in] lpcwstrFile

Specifica una stringa di caratteri wide contenente il nome di un file multimediale.

[in] lpcwstrPlayList

Riservato. Deve essere NULL.

Valore restituito

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

Codice restituito Descrizione
S_OK
Operazione completata.
VFW_S_AUDIO_NOT_RENDERED
Esito parziale; l'audio non è stato eseguito il rendering.
VFW_S_DUPLICATE_NAME
Successo; Filter Graph Manager ha modificato il nome del filtro per evitare la duplicazione.
VFW_S_PARTIAL_RENDER
Alcuni dei flussi di questo film sono in formato non supportato.
VFW_S_VIDEO_NOT_RENDERED
Esito parziale; alcuni dei flussi in questo film sono in formato non supportato.
E_ABORT
Operazione interrotta.
E_FAIL
Esito negativo.
E_INVALIDARG
L'argomento non è valido.
E_OUTOFMEMORY
Memoria insufficiente.
E_POINTER
Argomento puntatore NULL.
VFW_E_CANNOT_CONNECT
Non è possibile trovare alcuna combinazione di filtri intermedi per rendere la connessione.
VFW_E_CANNOT_LOAD_SOURCE_FILTER
Impossibile caricare il filtro di origine per questo file.
VFW_E_CANNOT_RENDER
Non è possibile trovare alcuna combinazione di filtri per eseguire il rendering del flusso.
VFW_E_INVALID_FILE_FORMAT
Il formato di file non è valido.
VFW_E_NOT_FOUND
Non è stato trovato un oggetto o un nome.
VFW_E_UNKNOWN_FILE_TYPE
Il tipo di supporto di questo file non viene riconosciuto.
VFW_E_UNSUPPORTED_STREAM
Impossibile riprodurre il file: il formato non è supportato.

Commenti

Se il parametro lpwstrFile specifica un file multimediale, il metodo compila un grafico di filtro per la riproduzione predefinita. Innanzitutto aggiunge un filtro di origine che può leggere il file usando lo stesso processo del metodo IGraphBuilder::AddSourceFilter . Esegue quindi il rendering dei pin di output nel filtro di origine, aggiungendo filtri intermedi, se necessario. Prova i filtri nello stesso ordine del metodo IGraphBuilder::Connect .

Durante il processo di connessione, Filter Graph Manager ignora i pin sui filtri intermedi se il nome del pin inizia con una tilde (~). Per altre informazioni, vedere PIN_INFO.

Si noti che il RenderFile metodo non rimuove alcun filtro dal grafico. Se si chiama RenderFile due volte, la seconda chiamata aggiunge semplicemente altri filtri al grafico. Quando si esegue il grafico, entrambe le origini verranno riprodotte contemporaneamente.

Esempio

Nell'esempio seguente viene eseguito il rendering di un file AVI per la riproduzione predefinita:

C++
hr = pGraph->RenderFile(L"C:\\Media\\Example.avi", 0);
Nell'esempio seguente viene scaricato un file AVI tramite HTTP usando il filtro Origine file (URL):
C++
hr = pGraph->RenderFile(L"http://example.microsoft.com/Example.avi", 0);

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 IGraphBuilder