Classe CDeferredCommand
[O recurso associado a esta página, DirectShow, é um recurso herdado. Ele foi substituído por MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo na Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo no Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]
Os comandos adiados são enfileirados por chamadas a métodos na interface IQueueCommand e são expostos pelo gerenciador de grafo de filtro e por alguns filtros. Uma chamada bem-sucedida para um desses métodos retorna uma interface IDeferredCommand que representa o comando enfileirado.
Um CDeferredCommand
objeto representa um único comando adiado e expõe a interface IDeferredCommand , bem como outros métodos que permitem verificações de tempo e execução real. Um CDeferredCommand
objeto contém uma referência ao objeto CCmdQueue no qual ele está na fila.
As contagens de referência controlam o tempo de vida da CDeferredCommand
classe. Ao chamar a função membro CDeferredCommand::Invoke , o aplicativo de chamada obtém um ponteiro de interface que é contado por referência e o objeto CCmdQueue também contém uma contagem de referência no comando adiado. Chamar a função membro IDeferredCommand::Cancel tira o comando adiado da fila de comandos e, portanto, reduz a contagem de referências em um. Depois de retirado da fila, o comando não pode ser colocado novamente na fila.
Membros de Dados Protegidos | Descrição |
---|---|
m_bStream | Sinalizador para tempo de transmissão ou hora da apresentação. a ser passado para o método invocado. |
m_Dispatch | Acessa a interface ITypeInfo . |
m_dispidMethod | Método na interface a ser executada. |
m_DispParams | Objeto CDispParams que contém a lista de parâmetros DISPPARAMS |
m_hrResult | Armazena o valor HRESULT retornado. |
m_iid | GUID (identificador global exclusivo) da interface. |
m_pQueue | Ponteiro para o objeto CCmdQueue que expõe a interface IQueueCommand . |
m_pUnk | Ponteiro IUnknown para a interface na qual o comando será executado. |
m_pvarResult | Informações resultantes, se houver, do método invocado. |
m_time | Hora em que o comando será executado. |
m_wFlags | Sinalizadores que especificam o contexto da invocação. |
Funções de membro | Descrição |
CDeferredCommand | Constrói um objeto CDeferredCommand . |
GetFlags | Recupera os sinalizadores de contexto associados ao comando adiado. |
GetIID | Recupera o IID (identificador de interface) da interface na qual o método será executado. |
Getmethod | Recupera o identificador de expedição do método a ser executado. |
GetParams | Recupera a lista de argumentos DISPPARAMS para o método . |
Getresult | Recupera a lista de argumentos resultante, se houver um. |
GetTime | Recupera a hora em que o método será executado. |
Invoke | Fornece acesso a métodos e propriedades expostos por um objeto . |
IsStreamTime | Especifica se o comando deve ser executado no tempo de fluxo ou na hora da apresentação. |
Métodos IDeferredCommand | Descrição |
Cancelar | Cancela uma solicitação CDeferredCommand::Invoke previamente enfileirada . |
Confiança | Não implementado atualmente. |
Adiar | Especifica um novo tempo de apresentação para um comando enfileirado anteriormente. |
GetHResult | Recupera o valor HRESULT do método invocado. |