Metodo ICaptureGraphBuilder2::FindInterface (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 FindInterface
metodo cerca nel grafico un'interfaccia specificata, a partire da un filtro specificato. È possibile limitare la ricerca a una sezione del grafico a monte o a valle del filtro oppure limitarla a una determinata categoria di puntina o a un tipo di supporto specifico.
Sintassi
HRESULT FindInterface(
[in] const GUID *pCategory,
[in] const GUID *pType,
[in] IBaseFilter *pf,
[in] REFIID riid,
[out] void **ppint
);
Parametri
[in] pCategory
Puntatore a un GUID che specifica i criteri di ricerca. Per ulteriori informazioni, vedere la sezione Osservazioni. Sono possibili i valori seguenti:
- &LOOK_UPSTREAM_ONLY.
- &LOOK_DOWNSTREAM_ONLY.
- Una delle categorie di pin elencate nel set di proprietà Pin.
- NULL
[in] pType
Puntatore a un GUID che specifica il tipo di supporto principale di un pin di output o NULL.
[in] pf
Puntatore all'interfaccia IBaseFilter del filtro. Il metodo inizia la ricerca da questo filtro.
[in] riid
Identificatore di interfaccia (IID) dell'interfaccia da individuare.
[out] ppint
Indirizzo di una variabile che riceve il puntatore all'interfaccia. Assicurarsi di rilasciare il puntatore all'interfaccia recuperato al termine dell'interfaccia.
Valore restituito
Restituisce un valore HRESULT . Di seguito sono indicati alcuni valori possibili.
Codice restituito | Descrizione |
---|---|
|
Operazione completata. |
|
Esito negativo. |
|
Nessuna interfaccia di questo tipo supportata. |
|
Argomento puntatore NULL. |
Commenti
In un grafico di acquisizione, vari filtri e pin potrebbero esporre interfacce per l'impostazione di proprietà, ad esempio i parametri di compressione (IAMVideoCompression) o i formati di flusso (IAMStreamConfig). A seconda del dispositivo di acquisizione, altre interfacce utili possono includere IAMCrossbar, che instrada i segnali analogici o IAMTVTuner, che controlla un dispositivo di tuner TV. È possibile usare questo metodo per trovare un'interfaccia, senza scrivere codice speciale che attraversa il grafico.
- Filtro
- Pin del filtro
- Tutti i filtri downstream, inclusi i relativi pin
- Tutti i filtri upstream, inclusi i relativi pin
- Se pCategory è uguale a &LOOK_UPSTREAM_ONLY, la ricerca inizia dai pin di input del filtro e continua a monte. Non include il filtro o qualsiasi elemento downstream dal filtro. Il parametro pType viene ignorato.
- Se pCategory è uguale a &LOOK_DOWNSTREAM_ONLY, la ricerca inizia dai pin di output del filtro e continua a valle. Non include il filtro o qualsiasi elemento upstream dal filtro. Il parametro pType viene ignorato.
- Se pCategory specifica una categoria di pin, la parte downstream della ricerca è limitata ai pin di output nel filtro che corrispondono sia alla categoria pin che al tipo di supporto specificato nel parametro pType . In questo caso, il metodo cerca anche il filtro e tutto a monte dal filtro.
Le categorie di pin sono utili per trovare le interfacce dei pin nei filtri di acquisizione. Ad esempio, un filtro di acquisizione potrebbe avere pin separati per l'acquisizione e l'anteprima. Se si specifica una categoria di pin, è necessario specificare anche il tipo di supporto, per assicurarsi che il metodo selezioni il filtro e il pin corretti.
Alcuni filtri di acquisizione video hanno un pin di porta video (PIN_CATEGORY_VIDEOPORT) anziché un pin di anteprima. Se si specifica PIN_CATEGORY_PREVIEW e MEDIATYPE_Video, il metodo considera i pin delle porte video come pin di anteprima. L'applicazione non deve testare questa possibilità.
Filtri di supporto. Se un dispositivo di acquisizione usa un driver WDM (Windows Driver Model), il grafico potrebbe richiedere determinati filtri upstream dal filtro di acquisizione video WDM , ad esempio un filtro tuner TV o un filtro barra incrociata video analogica . Se il parametro pCategory non è uguale a NULL, questo metodo inserisce automaticamente eventuali filtri WDM necessari nel grafico. A tale scopo, esegue una query sui pin di input nel filtro di acquisizione per determinare quali supporti supportano e li connette ai filtri corrispondenti. Se il parametro pCategory è NULL, il metodo non aggiunge i filtri upstream.
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 |