Partager via


CDeferredCommand, classe

[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.]

Hiérarchie de la classe cdeferredcommand

Les commandes différées sont mises en file d’attente par les appels aux méthodes sur l’interface IQueueCommand et sont exposées par le gestionnaire de graphe de filtres et par certains filtres. Un appel réussi à l’une de ces méthodes retourne une interface IDeferredCommand représentant la commande mise en file d’attente.

Un CDeferredCommand objet représente une seule commande différée et expose l’interface IDeferredCommand ainsi que d’autres méthodes qui permettent de vérifier le temps et l’exécution réelle. Un CDeferredCommand objet contient une référence à l’objet CCmdQueue sur lequel il est mis en file d’attente.

Le nombre de références contrôle la durée de vie de la CDeferredCommand classe. Lors de l’appel de la fonction membre CDeferredCommand::Invoke , l’application appelante obtient un pointeur d’interface qui compte des références, et l’objet CCmdQueue contient également un nombre de références sur la commande différée. L’appel de la fonction membre IDeferredCommand::Cancel supprime la commande différée de la file d’attente de commandes et réduit ainsi le nombre de références d’un. Une fois retirée de la file d’attente, la commande ne peut pas être remise dans la file d’attente.

Membres de données protégés Description
m_bStream Indicateur pour l’heure de diffusion ou l’heure de présentation. à passer à la méthode appelée.
m_Dispatch Accède à l’interface ITypeInfo .
m_dispidMethod Méthode sur l’interface à exécuter.
m_DispParams Objet CDispParams contenant la liste de paramètres DISPPARAMS
m_hrResult Stocke la valeur HRESULT retournée.
m_iid Identificateur global unique (GUID) de l’interface.
m_pQueue Pointeur vers l’objet CCmdQueue qui expose l’interface IQueueCommand .
m_pUnk Pointeur IUnknown vers l’interface sur laquelle la commande sera exécutée.
m_pvarResult Informations résultantes, le cas échéant, de la méthode appelée.
m_time Heure à laquelle la commande sera exécutée.
m_wFlags Indicateurs spécifiant le contexte de l’appel.
Fonctions de membre Description
CDeferredCommand Construit un objet CDeferredCommand .
GetFlags Récupère les indicateurs de contexte associés à la commande différée.
GetIID Récupère l’identificateur d’interface (IID) de l’interface sur laquelle la méthode sera exécutée.
Getmethod Récupère l’identificateur de dispatch de la méthode à exécuter.
GetParams Récupère la liste d’arguments DISPPARAMS dans la méthode .
GetResult Récupère la liste d’arguments résultante, le cas échéant.
GetTime Récupère l’heure d’exécution de la méthode.
Appeler Fournit l’accès aux méthodes et propriétés exposées par un objet .
IsStreamTime Spécifie si la commande doit être exécutée au moment du flux ou de la présentation.
IDeferredCommand, méthodes Description
Annuler Annule une requête CDeferredCommand::Invoke précédemment mise en file d’attente.
Confiance Actuellement non implémenté.
Reporter Spécifie une nouvelle heure de présentation pour une commande précédemment mise en file d’attente.
GetHResult Récupère la valeur HRESULT de la méthode appelée.