Freigeben über


CDeferredCommand-Klasse

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde durch MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation ersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]

cdeferredcommand-Klassenhierarchie

Verzögerte Befehle werden durch Aufrufe von Methoden auf der IQueueCommand-Schnittstelle in die Warteschlange gestellt und vom Filterdiagramm-Manager und von einigen Filtern verfügbar gemacht. Ein erfolgreicher Aufruf einer dieser Methoden gibt eine IDeferredCommand-Schnittstelle zurück, die den Befehl in der Warteschlange darstellt.

Ein CDeferredCommand -Objekt stellt einen einzelnen verzögerten Befehl dar und macht die IDeferredCommand-Schnittstelle sowie andere Methoden verfügbar, die Zeitüberprüfungen und die tatsächliche Ausführung ermöglichen. Ein CDeferredCommand -Objekt enthält einen Verweis auf das CCmdQueue-Objekt , für das es in die Warteschlange gestellt wird.

Die Referenzanzahl steuert die Lebensdauer der CDeferredCommand Klasse. Beim Aufrufen der CDeferredCommand::Invoke-Memberfunktion ruft die aufrufende Anwendung einen Schnittstellenzeiger ab, der verweisgezählt ist, und das CCmdQueue-Objekt enthält auch eine Verweisanzahl für den verzögerten Befehl. Durch Aufrufen der Memberfunktion IDeferredCommand::Cancel wird der verzögerte Befehl aus der Befehlswarteschlange entfernt und somit die Verweisanzahl um eins reduziert. Nachdem sie aus der Warteschlange genommen wurde, kann der Befehl nicht wieder in die Warteschlange eingefügt werden.

Geschützte Datenmember Beschreibung
m_bStream Kennzeichnen sie für Streamzeit oder Präsentationszeit. an die aufgerufene Methode übergeben werden soll.
m_Dispatch Greift auf die ITypeInfo-Schnittstelle zu.
m_dispidMethod Methode für die auszuführende Schnittstelle.
m_DispParams CDispParams-Objekt , das die DISPPARAMS-Parameterliste enthält
m_hrResult Speichert den zurückgegebenen HRESULT-Wert .
m_iid Globally Unique Identifier (GUID) der Schnittstelle.
m_pQueue Zeiger auf das CCmdQueue-Objekt , das die IQueueCommand-Schnittstelle verfügbar macht.
m_pUnk IUnknown-Zeiger auf die Schnittstelle, auf der der Befehl ausgeführt wird.
m_pvarResult Daraus resultierende Informationen, falls vorhanden, von der aufgerufenen Methode.
m_time Zeit, zu der der Befehl ausgeführt wird.
m_wFlags Flags, die den Kontext des Aufrufs angeben.
Elementfunktionen Beschreibung
CDeferredCommand Erstellt ein CDeferredCommand-Objekt .
GetFlags Ruft die Kontextflags ab, die dem verzögerten Befehl zugeordnet sind.
GetIID Ruft den Schnittstellenbezeichner (Interface Identifier, IID) der Schnittstelle ab, auf der die Methode ausgeführt wird.
GetMethod Ruft den Verteilerbezeichner der auszuführenden Methode ab.
GetParams Ruft die DISPPARAMS-Argumentliste für die -Methode ab.
Getresult Ruft die resultierende Argumentliste ab, sofern vorhanden.
GetTime Ruft den Zeitpunkt ab, zu dem die -Methode ausgeführt wird.
Invoke Ermöglicht den Zugriff auf Methoden und Eigenschaften, die von einem Objekt verfügbar gemacht werden.
IsStreamTime Gibt an, ob der Befehl zur Stream- oder Präsentationszeit ausgeführt werden soll.
IDeferredCommand-Methoden BESCHREIBUNG
Abbrechen Bricht eine zuvor in die Warteschlange eingereihte CDeferredCommand::Invoke-Anforderung ab.
Confidence Derzeit nicht implementiert.
Verschieben Gibt eine neue Präsentationszeit für einen zuvor in die Warteschlange eingereihten Befehl an.
GetHResult Ruft den HRESULT-Wert der aufgerufenen Methode ab.