Metodo CBasePin.ReceiveConnection
[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 ReceiveConnection
metodo accetta una connessione da un altro pin. Questo metodo implementa il metodo IPin::ReceiveConnection .
Sintassi
HRESULT ReceiveConnection(
IPin *pConnector,
AM_MEDIA_TYPE *pmt
);
Parametri
-
pConnector
-
Puntatore all'interfaccia IPin del pin di connessione.
-
Pmt
-
Puntatore a una struttura AM_MEDIA_TYPE che specifica il tipo di supporto.
Valore restituito
Restituisce un valore HRESULT . I valori possibili includono quelli nella tabella seguente.
Codice restituito | Descrizione |
---|---|
|
Operazione completata. |
|
Argomento puntatore NULL. |
|
Il pin è già connesso. |
|
Il filtro è attivo e il pin non supporta la riconnessione dinamica. |
|
Il tipo di supporto specificato non è accettabile. |
Commenti
Il pin di output chiama questo metodo sul pin di input. Se il pin di input restituisce un codice di errore, la connessione non riesce.
Nella classe base questo metodo esegue i passaggi seguenti:
- Controlla se il pin è già connesso.
- Controlla se il filtro è arrestato.
- Chiama il metodo CBasePin::CheckConnect per verificare se il pin di connessione è adatto.
- Chiama il metodo CBasePin::CheckMediaType per verificare se il tipo di supporto è accettabile.
Se tutti questi passaggi hanno esito positivo, il metodo chiama i metodi CBasePin::CompleteConnect e SetMediaType per completare la connessione. Questi metodi archiviano il tipo di supporto e un puntatore al pin di output.
Se CheckConnect o CheckMediaType hanno esito negativo, la classe di base chiama il metodo CBasePin::BreakConnect per interrompere la connessione e quindi restituisce un codice di errore da ReceiveConnection
.
Requisiti
Requisito | Valore |
---|---|
Intestazione |
|
Libreria |
|