Share via


Méthode IFilterMapper2 ::RegisterFilter (strmif.h)

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture in Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation au lieu de DirectShow, si possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]

La RegisterFilter méthode ajoute des informations de filtre au Registre.

Syntaxe

HRESULT RegisterFilter(
  [in]      REFCLSID         clsidFilter,
  [in]      LPCWSTR          Name,
  [in, out] IMoniker         **ppMoniker,
  [in]      const CLSID      *pclsidCategory,
  [in]      LPCOLESTR        szInstance,
  [in]      const REGFILTER2 *prf2
);

Paramètres

[in] clsidFilter

Identificateur de classe (CLSID) du filtre.

[in] Name

Nom descriptif du filtre.

[in, out] ppMoniker

Adresse d’un pointeur vers un moniker d’appareil qui détermine où les données de ce filtre seront écrites. Peut être NULL.

[in] pclsidCategory

Pointeur vers la catégorie de filtre du filtre. Si la valeur est NULL, la catégorie par défaut est CLSID_ActiveMovieFilters. (Voir Catégories de filtres.)

[in] szInstance

Données d’instance pour la construction du nom d’affichage du moniker d’appareil. Il peut s’agir du nom convivial ou de la représentation sous forme de chaîne du CLSID du filtre. Si la valeur est NULL, le CLSID de filtre est défini par défaut.

[in] prf2

Pointeur vers une structure de REGFILTER2 contenant des informations de filtre.

Valeur retournée

Retourne une valeur HRESULT . Les valeurs possibles incluent celles indiquées dans le tableau suivant.

Code de retour Description
S_OK
Réussite.
VFW_E_BAD_KEY
Impossible d’obtenir la clé de Registre.

Remarques

Cette méthode ajoute des informations sur le filtre au Registre, sous l’entrée de Registre pour la catégorie de filtre spécifiée. Il n’inscrit pas le serveur in-process qui crée le filtre (généralement une DLL). Pour inscrire le serveur, vous pouvez appeler la fonction AMovieDllRegisterServer2 .

Pour le paramètre ppMoniker , utilisez l’une des options suivantes :

  • Adresse d’un pointeur d’interface IMoniker pour un moniker d’appareil existant
  • Adresse d’un pointeur d’interface IMonikerNULL
  • NULL
Si vous inscrivez un filtre pour un modèle de pilote Windows (WDM) ou Plug-and-Play appareil, transmettez l’adresse du moniker d’appareil existant. Le filtre sera inscrit à l’aide de ce moniker. Lorsque la méthode retourne, *ppMoniker a la valeur NULL.

Sinon, la méthode crée un nouveau moniker. Si ppMoniker n’a pas la valeur NULL, la méthode définit *ppMoniker pour qu’il pointe vers le nouveau moniker. L’application peut utiliser ce moniker pour écrire des valeurs privées supplémentaires dans le conteneur de propriétés. Veillez à libérer l’interface.

Définissez ppMoniker sur NULL si vous ne souhaitez pas fournir ou recevoir le moniker.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête strmif.h (include Dshow.h)
Bibliothèque Strmiids.lib

Voir aussi

Codes d’erreur et de réussite

IFilterMapper2, interface