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