Méthode IMemAllocatorCallbackTemp ::SetNotify (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 SetNotify
méthode définit ou supprime un rappel sur l’allocateur. L’allocateur appelle la méthode de rappel chaque fois que la méthode IMemAllocator ::ReleaseBuffer de l’allocateur est appelée.
Syntaxe
HRESULT SetNotify(
IMemAllocatorNotifyCallbackTemp *pNotify
);
Paramètres
pNotify
Pointeur vers l’interface IMemAllocatorNotifyCallbackTemp qui sera utilisée pour le rappel. L’appelant doit implémenter l’interface. Utilisez la valeur NULL pour supprimer le rappel.
Valeur retournée
Retourne S_OK en cas de réussite, ou un code d’erreur dans le cas contraire.
Remarques
Chaque fois que la méthode ReleaseBuffer de l’allocator est appelée, l’allocator appelle la méthode NotifyRelease sur l’interface fournie dans pNotify. La méthode ReleaseBuffer renvoie un exemple de média à la liste gratuite de l’allocateur. Les exemples appellent cette méthode lorsque leur nombre de références atteint zéro.
L’allocateur contient un nombre de références sur l’interface IMemAllocatorNotifyCallbackTemp de l’appelant. Cela peut créer des nombres de références circulaires, empêchant ainsi la libération correcte des objets dans le graphique. Par conséquent, lorsque l’appelant n’a plus besoin de notifications de rappel, il doit rappeler cette méthode avec la valeur NULL. Le moment approprié pour effectuer cette opération est le moment où le graphique s’arrête ou lorsque les broches sont déconnectées.
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 |