Metodo IPin::QueryInternalConnections (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 metodo QueryInternalConnections recupera i pin connessi internamente a questo pin (all'interno del filtro).

Sintassi

HRESULT QueryInternalConnections(
  [out]     IPin  **apPin,
  [in, out] ULONG *nPin
);

Parametri

[out] apPin

Indirizzo di una matrice di puntatori IPin . Il chiamante alloca la matrice. Il metodo riempie la matrice con puntatori IPin . Se nPin è zero, questo parametro può essere NULL.

[in, out] nPin

In input, specifica le dimensioni della matrice. Nell'output specifica il numero di pin connessi internamente.

Valore restituito

Restituisce un valore HRESULT . Di seguito sono indicati alcuni valori possibili.

Codice restituito Descrizione
S_FALSE
Dimensioni della matrice insufficienti.
S_OK
Operazione completata.
E_NOTIMPL
Non implementato.

Commenti

Questo metodo restituisce informazioni sul mapping interno del filtro dei pin di input ai pin di output. In altre parole, descrive in che modo i pin di input recapitano i dati ai pin di output.

Nella maggior parte dei filtri ogni pin di input si connette a ogni pin di output. Ad esempio, in un filtro di trasformazione, un input si connette a un output; in un filtro di divisione, un input si connette a più output. In questi casi, il metodo deve semplicemente restituire E_NOTIMPL.

In caso contrario, il metodo restituisce una matrice di puntatori IPin , uno per ogni pin mappato internamente al pin su cui è stata eseguita la query. Se si chiama il metodo su un pin di input, la matrice contiene puntatori ai pin di output e viceversa.

Il chiamante alloca la matrice di puntatori IPin . Per ottenere le dimensioni della matrice necessarie, chiamare il metodo una volta con apPin uguale a NULL. Le dimensioni vengono restituite nel parametro nPin . Allocare quindi la matrice e chiamare di nuovo il metodo, impostando apPin uguale all'indirizzo della matrice e nPin uguale alla dimensione della matrice. Il metodo riempie quindi la matrice con puntatori IPin . Ogni puntatore restituito ha un conteggio dei riferimenti in sospeso e deve essere rilasciato dal chiamante.

Questo metodo ha un altro uso ora deprecato: Filter Graph Manager considera un filtro come un filtro renderer se almeno un pin di input implementa questo metodo ma restituisce zero in nPin. Se si sta scrivendo un nuovo filtro renderer, tuttavia, è necessario implementare l'interfaccia IAMFilterMiscFlags anziché usare questo metodo per indicare che il filtro è un renderer.

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

Vedi anche

Codici di errore e di esito positivo

Interfaccia IPin