Partager via


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

Voir aussi

Codes d’erreur et de réussite

IMemAllocatorCallbackTemp, interface