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