Condividi tramite


Metodo CTransInPlaceFilter.CompleteConnect

[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 CompleteConnect metodo completa una connessione pin.

Sintassi

HRESULT CompleteConnect(
   PIN_DIRECTION direction,
   IPin          *pReceivePin
);

Parametri

direction

Membro del PIN_DIRECTION tipo enumerato, specificando quale pin nel filtro sta effettuando la connessione.

pReceivePin

Puntatore all'interfaccia IPin dell'altro pin in questo tentativo di connessione.

Valore restituito

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

Codice restituito Descrizione
S_OK
Operazione completata.
VFW_E_NOT_IN_GRAPH
Il filtro non si trova in un grafico di filtro.

Commenti

Questo metodo esegue l'override del metodo CTransformFilter::CompleteConnect .

Il comportamento del filtro dipende dall'ordine delle connessioni pin:

  • Se il pin di input è connesso per primo, la connessione usa un allocatore temporaneo. Quando il pin di output è connesso, il filtro riconnette il pin di input. La riconnessione del pin di input fa sì che il filtro upstream rinegotiti l'allocatore. A questo punto, il pin di input propone un allocatore dal filtro downstream. Per altre informazioni, vedere CTransInPlaceInputPin::GetAllocator.
  • Se il pin di output è connesso per primo, il pin di output non seleziona un allocatore. Quando il pin di input è connesso, negozia un allocatore per entrambe le connessioni. Se i tipi di supporti di input e output non sono uguali, il filtro riconnette il pin di output usando il tipo di input.

Il filtro esegue tutte le riconnessioni dei pin chiamando il metodo CBaseFilter::ReconnectPin . Il metodo ReconnectPin chiama a sua volta il metodo IFilterGraph2::ReconnectEx nella gestione del grafo dei filtri.

Requisiti

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

Vedi anche

Classe CTransInPlaceFilter