Partilhar via


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

hierarquia de classes cdeferredcommand

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.