Metodo IFilterMapper2::EnumMatchingFilters (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 EnumMatchingFilters
metodo enumera i filtri registrati che soddisfano i requisiti specificati.
Sintassi
HRESULT EnumMatchingFilters(
[out] IEnumMoniker **ppEnum,
[in] DWORD dwFlags,
[in] BOOL bExactMatch,
[in] DWORD dwMerit,
[in] BOOL bInputNeeded,
[in] DWORD cInputTypes,
[in] const GUID *pInputTypes,
[in] const REGPINMEDIUM *pMedIn,
[in] const CLSID *pPinCategoryIn,
[in] BOOL bRender,
[in] BOOL bOutputNeeded,
[in] DWORD cOutputTypes,
[in] const GUID *pOutputTypes,
[in] const REGPINMEDIUM *pMedOut,
[in] const CLSID *pPinCategoryOut
);
Parametri
[out] ppEnum
Riceve un puntatore all'interfaccia IEnumMoniker . Usare questo puntatore all'interfaccia per recuperare i moniker di filtro dall'enumerazione . Il chiamante deve rilasciare l'interfaccia.
[in] dwFlags
Riservato, deve essere zero.
[in] bExactMatch
Valore booleano che indica se è necessaria una corrispondenza esatta. Per ulteriori informazioni, vedere la sezione Osservazioni.
[in] dwMerit
Valore minimo di merito. L'enumerazione esclude i filtri con un valore di merito minore. Per un elenco dei valori di merito, vedere Merit. Se dwMerit è maggiore di MERIT_DO_NOT_USE, l'enumerazione esclude anche i filtri la cui categoria ha un merito minore o uguale a MERIT_DO_NOT_USE. Vedere Categorie di filtri.
[in] bInputNeeded
Valore booleano che indica se il filtro deve avere un pin di input. Se il valore è TRUE, il filtro deve avere almeno un pin di input.
[in] cInputTypes
Numero di tipi di supporti di input specificati in pInputTypes.
[in] pInputTypes
Puntatore a una matrice di coppie GUID che specificano tipi e sottotipi principali, in modo che i pin di input corrispondano. La dimensione della matrice è 2 * cInputTypes. La matrice può essere NULL. I singoli membri della matrice possono essere GUID_NULL, che corrispondono a qualsiasi tipo. Vedere Tipi di supporti.
[in] pMedIn
Puntatore a una struttura REGPINMEDIUM che specifica il supporto per i pin di input. Impostare su NULL se non necessario.
[in] pPinCategoryIn
Puntatore a un GUID che specifica la categoria del pin di input. Vedere Set di proprietà Pin. Impostare su NULL se non necessario.
[in] bRender
Valore booleano che specifica se il filtro deve eseguire il rendering dell'input. Se TRUE, il filtro specificato deve eseguire il rendering dell'input. Questo valore corrisponde al campo bRendered nella struttura REGFILTERPINS , che viene usato per registrare informazioni sui pin del filtro.
[in] bOutputNeeded
Valore booleano che specifica se il filtro deve avere un pin di output. Se TRUE, il filtro deve avere almeno un pin di output.
[in] cOutputTypes
Numero di tipi di supporti di input specificati in pOutputTypes.
[in] pOutputTypes
Puntatore a una matrice di coppie GUID che specificano tipi e sottotipi principali, in modo che i pin di output corrispondano. La dimensione della matrice è 2 * cOutputTypes. La matrice può essere NULL. I singoli membri della matrice possono essere GUID_NULL, che corrispondono a qualsiasi tipo.
[in] pMedOut
Puntatore a una struttura REGPINMEDIUM che specifica il supporto per i pin di output. Impostare su NULL se non necessario.
[in] pPinCategoryOut
Puntatore a un GUID che specifica la categoria del pin di output. Vedere Set di proprietà Pin. Impostare su NULL se non necessario.
Valore restituito
Restituisce un valore HRESULT . I valori possibili includono quelli illustrati nella tabella seguente.
Codice restituito | Descrizione |
---|---|
|
Operazione riuscita |
|
Operazioni non riuscite |
|
Memoria insufficiente |
|
Argomento puntatore NULL |
Commenti
Per trovare filtri i cui pin di input corrispondono a un determinato set di tipi multimediali, dichiarare una matrice con GUID di tipo principale e GUID di sottotipo ordinati in coppie. Passare l'indirizzo della matrice nel parametro pInputTypes e impostare il parametro cInputTypes uguale al numero di coppie (ovvero metà delle dimensioni della matrice):
C++ |
---|
Matrice GUIDInTypes[2]; arrayInTypes[0] = MEDIATYPE_Video; arrayInTypes[1] = GUID_NULL; |
Se il valore del parametro bExactMatch è TRUE, questo metodo cerca filtri che corrispondono esattamente ai valori specificati per il tipo di supporto, la categoria di pin e il supporto pin. Se il valore è FALSE, i filtri che registrano un valore NULL per uno di questi elementi vengono considerati una corrispondenza. In effetti, un valore NULL nel Registro di sistema funge da carattere jolly.
Se si specifica NULL per il tipo di supporto, la categoria di pin o il supporto pin, qualsiasi filtro viene considerato una corrispondenza per tale parametro.
Se un pin non ha registrato alcun tipo di supporto, questo metodo non lo considererà una corrispondenza per il tipo di supporto.
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 |