Metodo CBasePin.AgreeMediaType

[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 AgreeMediaType metodo cerca un tipo di supporto per stabilire una connessione pin.

Sintassi

virtual HRESULT AgreeMediaType(
         IPin       *pReceivePin,
   const CMediaType *pmt
);

Parametri

pReceivePin

Puntatore all'interfaccia IPin del pin di ricezione.

Pmt

Puntatore a un oggetto CMediaType che specifica un tipo di supporto o NULL.

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 alcun tipo di supporto accettabile.

Commenti

Se il parametro pmt è diverso da NULL e specifica completamente un tipo di supporto, questo metodo tenta una connessione usando tale tipo di supporto. Se il tentativo non riesce, il metodo restituisce un errore.

Se il parametro pmt è NULL o specifica un tipo di supporto parziale, questo metodo tenta i tipi di supporti nell'ordine seguente:

  1. Tipi di supporti preferiti del pin di ricezione.
  2. Tipi di supporti preferiti di questo pin.

I tipi di supporti preferiti vengono enumerati con il metodo CBasePin::EnumMediaTypes e l'enumeratore risultante viene passato al metodo CBasePin::TryMediaTypes .

Requisiti

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

Vedi anche

Classe CBasePin