Méthode IResourceManager::RequestResource (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 RequestResource méthode demande l’utilisation d’une ressource inscrite donnée.

Syntaxe

HRESULT RequestResource(
  [in] LONG              idResource,
  [in] IUnknown          *pFocusObject,
  [in] IResourceConsumer *pConsumer
);

Paramètres

[in] idResource

Jeton de ressource récupéré lors de l’inscription de la ressource.

[in] pFocusObject

Pointeur vers l’interface IUnknown d’un objet focus associé à une requête (généralement l’interface IUnknown du filtre).

[in] pConsumer

Pointeur vers l’interface IResourceConsumer sur l’objet qui demande la ressource.

Valeur renvoyée

Retourne une valeur HRESULT . Retourne S_OK si la ressource demandée est retournée, ou S_FALSE si la ressource n’est pas disponible, auquel cas le gestionnaire de ressources rappelle l’objet demandeur lorsque la ressource devient disponible. Tout autre retour est une erreur.

Notes

Lorsqu’il existe plusieurs requêtes pour la ressource, le gestionnaire de ressources décide de la priorité en utilisant l’objet de focus passé avec chaque requête et en le comparant à l’objet de focus passé dans la méthode IResourceManager::SetFocus la plus récente.

Les demandes sont remplies dans l’ordre de priorité suivant :

  1. Requêtes effectuées avec exactement le même objet de focus que la dernière méthode SetFocus .
  2. Demandes dont l’objet de focus partage un filtre source commun dont l’objet de focus partage un graphe de filtre commun.
  3. Demandes dans le même processus que le focus.
Lors de la vérification de cette priorité, le gestionnaire de ressources utilise QueryInterface sur l’objet focus pour IID_IFilter. S’il est trouvé, le gestionnaire de ressources utilise les méthodes IBaseFilter pour case activée le graphique de filtre et rechercher des filtres sources courants avec l’objet focus actuel.

Un filtre doit passer l’interface IUnknown du filtre dans le paramètre pFocusObject . Le gestionnaire de graphe de filtres fait correspondre les filtres au graphe de filtre et tente de tracer les filtres vers les filtres sources courants lors de la vérification des objets de focus.

L’objet focus doit être valide pendant toute la durée de vie de la demande, jusqu’à ce que la méthode IResourceManager::CancelRequest soit appelée ou que la méthode IResourceManager::NotifyRelease soit appelée avec le paramètre bStillWant défini sur FALSE.

Configuration requise

   
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

IResourceManager, interface