Metodo IAMStreamConfig::SetFormat (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 SetFormat
metodo imposta il formato di output sul pin.
Sintassi
HRESULT SetFormat(
[in] AM_MEDIA_TYPE *pmt
);
Parametri
[in] pmt
Puntatore a una struttura AM_MEDIA_TYPE che specifica il nuovo formato.
Valore restituito
Restituisce un valore HRESULT . Di seguito sono indicati alcuni valori possibili.
Codice restituito | Descrizione |
---|---|
|
Operazione completata. |
|
Memoria insufficiente. |
|
Valore del puntatore NULL. |
|
Questo tipo di supporto non è valido. |
|
Il pin di input non è connesso. |
|
Impossibile impostare il tipo; il filtro non viene arrestato. |
|
Impossibile impostare il tipo; il filtro non viene arrestato. |
Commenti
Questo metodo specifica il formato per il pin di output. Se il pin non è connesso, userà questo formato per la connessione successiva. Se il pin è già connesso, tenterà di riconnettersi con questo formato. Il metodo potrebbe non riuscire se l'altro pin rifiuta il nuovo tipo.
Se questo metodo ha esito positivo, le chiamate successive al metodo IPin::EnumMediaTypes restituiranno il nuovo tipo e nessun altro.
Nella maggior parte dei filtri questo metodo ha esito negativo se il filtro è sospeso o in esecuzione. In alcuni filtri di compressione, il metodo ha esito negativo se il pin di input del filtro non è connesso.
Con alcuni filtri, è possibile chiamare questo metodo con il valore NULL per reimpostare il pin nel formato predefinito.
Filtra sviluppatori: le osservazioni seguenti descrivono come implementare questo metodo:
Se il pin di output non è connesso e il pin supporta il tipo di supporto specificato, restituire S_OK. Archiviare il tipo di supporto e offrirlo come numero di formato zero nel metodo CBasePin::GetMediaType . Non offrire altri formati e rifiutare altri formati nel metodo CBasePin::CheckMediaType .
Se il pin è già connesso e il pin supporta il tipo di supporto, riconnettere il pin con tale tipo. Se l'altro pin rifiuta il nuovo tipo, restituire VFW_E_INVALIDMEDIATYPE e ripristinare la connessione originale.
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 |