Compartir a través de


CDeferredCommand (clase)

[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.

Jerarquía de clases cdeferredcommand

Los comandos diferidos se ponen en cola mediante llamadas a métodos en la interfaz IQueueCommand y los expone el administrador de gráficos de filtros y algunos filtros. Una llamada correcta a uno de estos métodos devuelve una interfaz IDeferredCommand que representa el comando en cola.

Un CDeferredCommand objeto representa un único comando diferido y expone la interfaz IDeferredCommand , así como otros métodos que permiten comprobaciones de tiempo y ejecución real. Un CDeferredCommand objeto contiene una referencia al objeto CCmdQueue en el que está en cola.

Los recuentos de referencia controlan la duración de la CDeferredCommand clase . Al llamar a la función miembro CDeferredCommand::Invoke , la aplicación que realiza la llamada obtiene un puntero de interfaz con recuento de referencias y el objeto CCmdQueue también contiene un recuento de referencias en el comando diferido. Al llamar a la función miembro IDeferredCommand::Cancel , se quita el comando diferido de la cola de comandos y, por tanto, se reduce el recuento de referencias en uno. Una vez quitada la cola, el comando no se puede volver a colocar en la cola.

Miembros de datos protegidos Descripción
m_bStream Marca para el tiempo de transmisión o la hora de presentación. que se va a pasar al método invocado.
m_Dispatch Accede a la interfaz ITypeInfo .
m_dispidMethod Método en la interfaz que se va a ejecutar.
m_DispParams Objeto CDispParams que contiene la lista de parámetros DISPPARAMS
m_hrResult Almacena el valor HRESULT devuelto.
m_iid Identificador único global (GUID) de la interfaz.
m_pQueue Puntero al objeto CCmdQueue que expone la interfaz IQueueCommand .
m_pUnk Puntero IUnknown a la interfaz en la que se ejecutará el comando.
m_pvarResult Información resultante, si existe, del método invocado.
m_time Hora en la que se ejecutará el comando.
m_wFlags Marcas que especifican el contexto de la invocación.
Funciones de miembro Descripción
CDeferredCommand Construye un objeto CDeferredCommand .
GetFlags Recupera las marcas de contexto asociadas al comando diferido.
GetIID Recupera el identificador de interfaz (IID) de la interfaz en la que se ejecutará el método.
GetMethod Recupera el identificador de envío del método que se va a ejecutar.
GetParams Recupera la lista de argumentos DISPPARAMS al método .
GetResult Recupera la lista de argumentos resultante, si existe.
ConocerHora Recupera la hora en que se ejecutará el método.
Invocar Proporciona acceso a métodos y propiedades expuestos por un objeto .
IsStreamTime Especifica si el comando se va a ejecutar en tiempo de transmisión o en tiempo de presentación.
Métodos IDeferredCommand Descripción
Cancelar Cancela una solicitud CDeferredCommand::Invoke en cola previamente.
Confianza No implementado actualmente.
Posponer Especifica una nueva hora de presentación para un comando en cola previamente.
GetHResult Recupera el valor HRESULT del método invocado.