Condividi tramite


Classe CDeferredCommand

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation anziché DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

gerarchia di classi cdeferredcommand

I comandi posticipati vengono accodati da chiamate a metodi nell'interfaccia IQueueCommand e vengono esposti dal gestore dei grafici di filtro e da alcuni filtri. Una chiamata riuscita a uno di questi metodi restituisce un'interfaccia IDeferredCommand che rappresenta il comando accodato.

Un CDeferredCommand oggetto rappresenta un singolo comando posticipato ed espone l'interfaccia IDeferredCommand e altri metodi che consentono controlli temporali e esecuzione effettiva. Un CDeferredCommand oggetto contiene un riferimento all'oggetto CCmdQueue in cui viene accodato .

I conteggi dei riferimenti controllano la durata della CDeferredCommand classe. Quando si chiama la funzione membro CDeferredCommand::Invoke , l'applicazione chiamante ottiene un puntatore di interfaccia con conteggio dei riferimenti e l'oggetto CCmdQueue contiene anche un conteggio dei riferimenti sul comando posticipato. La chiamata alla funzione membro IDeferredCommand::Cancel accetta il comando posticipato dalla coda dei comandi e quindi riduce il conteggio dei riferimenti per uno. Dopo aver disattivato la coda, il comando non può essere inserito nella coda.

Membri dati protetti Descrizione
m_bStream Contrassegno per l'ora di flusso o l'ora di presentazione. da passare al metodo richiamato.
m_Dispatch Accede all'interfaccia ITypeInfo .
m_dispidMethod Metodo sull'interfaccia da eseguire.
m_DispParams Oggetto CDispParams contenente l'elenco di parametri DISPPARAMS
m_hrResult Archivia il valore HRESULT restituito.
m_iid Identificatore univoco globale (GUID) dell'interfaccia.
m_pQueue Puntatore all'oggetto CCmdQueue che espone l'interfaccia IQueueCommand .
m_pUnk Puntatore IUnknown all'interfaccia in cui verrà eseguito il comando.
m_pvarResult Informazioni risultanti, se presenti, dal metodo richiamato.
m_time Ora in cui verrà eseguito il comando.
m_wFlags Flag che specificano il contesto della chiamata.
Funzioni di membro Descrizione
CDeferredCommand Costruisce un oggetto CDeferredCommand .
GetFlags Recupera i flag di contesto associati al comando posticipato.
GetIID Recupera l'identificatore dell'interfaccia (IID) dell'interfaccia in cui verrà eseguito il metodo.
Getmethod Recupera l'identificatore di invio del metodo da eseguire.
GetParams Recupera l'elenco di argomenti DISPPARAMS nel metodo .
GetResult Recupera l'elenco degli argomenti risultanti, se presente.
GetTime Recupera l'ora in cui verrà eseguito il metodo.
Invoke Fornisce l'accesso ai metodi e alle proprietà esposte da un oggetto.
IsStreamTime Specifica se il comando deve essere eseguito in fase di flusso o ora di presentazione.
Metodi IDeferredCommand Descrizione
Annulla Annulla una richiesta CDeferredCommand::Invoke in precedenza accodata .
Confidenza Non implementato attualmente.
Rimanda Specifica una nuova ora di presentazione per un comando in coda in precedenza.
GetHResult Recupera il valore HRESULT del metodo richiamato.