Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
[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. |