Partager via


IAsyncReader ::RequestAllocator, 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.]

La RequestAllocator méthode demande un allocateur pendant la connexion de broche.

Syntaxe

HRESULT RequestAllocator(
  [in]  IMemAllocator        *pPreferred,
  [in]  ALLOCATOR_PROPERTIES *pProps,
  [out] IMemAllocator        **ppActual
);

Paramètres

[in] pPreferred

Pointeur vers l’interface IMemAllocator sur l’allocateur préféré de la broche d’entrée, ou NULL.

[in] pProps

Spécifie l’adresse d’une structure ALLOCATOR_PROPERTIES , allouée par l’appelant. L’appelant doit renseigner toutes les propriétés d’allocator requises par la broche d’entrée et définir les membres restants sur zéro.

[out] ppActual

Adresse d’une variable qui reçoit un pointeur d’interface IMemAllocator .

Valeur retournée

Retourne une valeur HRESULT . Les valeurs possibles sont les suivantes.

Code de retour Description
E_FAIL
Échec de l’initialisation d’un allocator.
VFW_E_BADALIGN
Un alignement non valide a été spécifié.
S_OK
L’allocateur a été retourné.

Remarques

La broche d’entrée en aval doit appeler cette méthode pendant le processus de connexion. Si la broche a un allocateur préféré, spécifiez-le dans le paramètre pPreferred . Spécifiez les exigences de mémoire tampon, telles que la taille ou l’alignement de la mémoire tampon, dans le paramètre pProps . La broche de sortie choisit l’allocateur et retourne un pointeur vers celui-ci dans le paramètre ppActual .

La broche de sortie n’est pas nécessaire pour honorer les demandes de la broche d’entrée. Si la broche d’entrée a des exigences absolues, elle doit appeler la méthode IMemAllocator ::GetProperties sur l’allocator retourné. La connexion peut échouer si les propriétés de l’allocateur ne conviennent pas. Une fois la connexion établie, la broche d’entrée doit utiliser l’attribut choisi par la broche de sortie.

La broche d’entrée est responsable de la validation et de la désengagement de l’allocateur.

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

IAsyncReader Interface