Partager via


IAMDevMemoryAllocator::GetDevMemoryObject, méthode (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 dans Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement au nouveau code d’utiliser MediaPlayer, IMFMediaEngine et La capture audio/vidéo dans Media Foundation au lieu de DirectShow, lorsque cela est 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.]

NoteL’interface IAMDevMemoryAllocator est déconseillée.
 
Récupère un pointeur d’interface IUnknown vers un objet de contrôle de mémoire d’appareil qui peut être agrégé avec un allocateur personnalisé.

Syntaxe

HRESULT GetDevMemoryObject(
  [out] IUnknown **ppUnkInnner,
  [in]  IUnknown *pUnkOuter
);

Paramètres

[out] ppUnkInnner

Adresse d’un pointeur vers le propre IUnknown de l’objet de contrôle nouvellement créé. Cette interface IUnknown interne doit être libérée lorsque l’objet externe est détruit. L’allocateur personnalisé doit appeler la méthode QueryInterface sur ce pointeur pour obtenir l’interface IAMDevMemoryControl .

[in] pUnkOuter

Pointeur vers l’interface IUnknown de l’allocateur personnalisé. Cette interface agrège l’objet de contrôle de la mémoire de l’appareil à l’intérieur de l’allocateur personnalisé.

Valeur renvoyée

Retourne une valeur HRESULT .

Notes

L’objet de contrôle de la mémoire de l’appareil est nécessaire pour s’agréger avec l’allocateur personnalisé, car les convertisseurs qui nécessitent l’utilisation de la mémoire embarquée interrogent IAMDevMemoryControl lorsqu’ils reçoivent un nouvel allocateur, pour vérifier que la mémoire provient du même appareil. Cela se produit parce que le filtre matériel reçoit un objet IMemAllocator , qui peut utiliser ou non la mémoire embarquée. Pour déterminer s’il s’agit d’un allocateur compatible, l’objet interroge l’interface IAMDevMemoryControl pour accéder à des méthodes spécifiques. IAMDevMemoryControl crée un objet agrégé qui implémente les méthodes d’IAMDevMemoryControl (celles-ci sont souvent spécifiques au matériel).

Consultez la documentation COM pour obtenir des règles sur la façon dont l’objet externe implémente l’agrégation.

Configuration requise

   
Plateforme cible Windows
En-tête strmif.h (include Dshow.h)

Voir aussi

Codes d’erreur et de réussite

IAMDevMemoryAllocator, interface