Metodo CBasePin.TryMediaTypes

[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.

Dato un elenco di tipi di supporti, il TryMediaTypes metodo tenta di completare una connessione usando uno di questi tipi.

Sintassi

virtual HRESULT TryMediaTypes(
         IPin            *pReceivePin,
   const CMediaType      *pmt,
         IEnumMediaTypes *pEnum
);

Parametri

pReceivePin

Puntatore all'interfaccia IPin del pin di ricezione.

Pmt

Puntatore a un oggetto CMediaType che limita i possibili tipi di supporti o NULL.

pEnum

Puntatore a un'interfaccia IEnumMediaTypes , usata per enumerare l'elenco di tipi multimediali.

Valore restituito

Restituisce un valore HRESULT . I valori possibili includono quelli nella tabella seguente.

Codice restituito Descrizione
S_OK
Operazione completata.
VFW_E_NO_ACCEPTABLE_TYPES
Non è stato trovato un tipo di supporto accettabile.

Commenti

Per ogni tipo di supporto restituito dall'interfaccia IEnumMediaTypes , questo metodo tenta una connessione chiamando il metodo CBasePin::AttemptConnection .

Se il parametro pmt è diverso da NULL, il pin ignora i tipi di supporti che non corrispondono a questo tipo. Il parametro pmt può specificare un tipo di supporto parziale. Un tipo di supporto parziale ha un valore di GUID_NULL per il tipo principale, il sottotipo o il formato. Il valore GUID_NULL corrisponde a qualsiasi tipo, simile a un valore "jolly".

Requisiti

Requisito Valore
Intestazione
Amfilter.h (include Streams.h)
Libreria
Strmbase.lib (build retail);
Strmbasd.lib (build di debug)

Vedi anche

Classe CBasePin