Metodo ICaptureGraphBuilder2::SetOutputFileName (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 SetOutputFileName
metodo crea la sezione di scrittura del file del grafico del filtro.
Sintassi
HRESULT SetOutputFileName(
[in] const GUID *pType,
[in] LPCOLESTR lpstrFile,
[out] IBaseFilter **ppf,
[out] IFileSinkFilter **ppSink
);
Parametri
[in] pType
Puntatore a un GUID che rappresenta il sottotipo multimediale dell'output o l'identificatore di classe (CLSID) di un filtro multiplexer o del writer di file. Se si specifica un sottotipo multimediale, deve essere uno dei seguenti:
Valore | Descrizione |
---|---|
MEDIASUBTYPE_Avi | Audio-Video Interleaved (AVI) |
MEDIASUBTYPE_Asf | Advanced Systems Format (ASF) |
[in] lpstrFile
Puntatore a una stringa di caratteri wide contenente il nome del file di output.
[out] ppf
Indirizzo di un puntatore che riceve l'interfaccia IBaseFilter di multiplexer.
[out] ppSink
Indirizzo di un puntatore che riceve l'interfaccia IFileSinkFilter del writer del file. Può essere NULL.
Valore restituito
Restituisce un valore HRESULT . Di seguito sono indicati alcuni valori possibili.
Codice restituito | Descrizione |
---|---|
|
Operazione completata. |
|
Esito negativo. |
|
Argomento puntatore NULL. |
Commenti
Questo metodo crea un filtro multiplexer in base al valore del parametro pType . Per AVI, crea il filtro MUX AVI. Per ASF, crea il writer WM ASF. Per altri valori, crea il filtro identificato da CLSID. Aggiunge il multiplexer al grafico del filtro e restituisce un puntatore alla relativa interfaccia IBaseFilter nel parametro ppf .
Se multiplexer supporta l'interfaccia IFileSinkFilter , il metodo chiama IFileSinkFilter::SetFileName per impostare il nome del file di output, usando il valore specificato nel parametro lpwstrFile . Se il multiplexer non supporta l'interfaccia IFileSinkFilter , il metodo aggiunge il filtro del writer file al grafico del filtro, connette il multiplexer al writer di file e usa l'interfaccia IFileSinkFilter del file writer per chiamare SetFileName. Se il parametro pSink non è NULL, riceve un puntatore all'interfaccia IFileSinkFilter .
È possibile usare il puntatore al filtro multiplexer, restituito nel parametro ppf , come parametro pSink nel metodo ICaptureGraphBuilder2::RenderStream .
Per i filtri multiplexer personalizzati, il metodo ha esito negativo se il filtro non supporta una connessione sul pin di output prima che i pin di input siano connessi. Ad esempio, l'esempio di filtro WavDest incluso nell'SDK ha questa limitazione.
Se il metodo ha esito positivo, l'interfaccia IBaseFilter restituita nel parametro ppf ha un numero di riferimenti in sospeso. Se il metodo ha esito positivo e pSink non è NULL, l'interfaccia IFileSinkFilter ha anche un numero di riferimenti in sospeso. Assicurarsi di rilasciare entrambe le interfacce al termine dell'uso.
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 |