ICommandImpl (Clase)
Proporciona la implementación de la interfaz ICommand.
Sintaxis
template <class T, class CommandBase = ICommand>
class ATL_NO_VTABLE ICommandImpl : public CommandBase
Parámetros
T
La clase, que se deriva de ICommandImpl
.
CommandBase
Interfaz de comandos. El valor predeterminado es ICommand
.
Requisitos
Encabezado: atldb.h
Miembros
Métodos
Nombre | Descripción |
---|---|
Cancelar | Cancela la ejecución del comando actual. |
CancelExecution | Cancela la ejecución del comando actual. |
CreateRowset | Crea un objeto de conjunto de filas. |
Ejecutar | Ejecuta el comando . |
GetDBSession | Devuelve un puntero de interfaz a la sesión que creó el comando. |
ICommandImpl | Constructor . |
Miembros de datos
Nombre | Descripción |
---|---|
m_bCancel | Indica si se debe cancelar el comando. |
m_bCancelWhenExecuting | Indica si se debe cancelar el comando cuando se esté ejecutando. |
m_bIsExecuting | Indica si el comando se está ejecutando actualmente. |
Comentarios
Interfaz obligatoria en el objeto de comando.
ICommandImpl::Cancel
Cancela la ejecución del comando actual.
Sintaxis
STDMETHOD(Cancel)();
Comentarios
Consulte ICommand::Cancel en la Referencia del programador de OLE DB.
ICommandImpl::CancelExecution
Cancela la ejecución del comando actual.
Sintaxis
HRESULT CancelExecution();
ICommandImpl::CreateRowset
Se llama con Excecute para crear un único conjunto de filas.
Sintaxis
template template <class RowsetClass>
HRESULT CreateRowset(IUnknown* pUnkOuter,
REFIID riid,
DBPARAMS* pParams,
DBROWCOUNT* pcRowsAffected,
IUnknown** ppRowset,
RowsetClass*& pRowsetObj);
Parámetros
RowsetClass
Miembro de clase de plantilla que representa la clase del conjunto de filas del usuario. Normalmente lo genera el asistente.
pUnkOuter
[in] Puntero a la interfaz IUnknown
de control si el conjunto de filas se crea como parte de un agregado; de lo contrario, es null.
riid
[in] Corresponde a riid en ICommand::Execute
.
pParams
[in/out] Corresponde a pParams en ICommand::Execute
.
pcRowsAffected
Corresponde a pcRowsAffected en ICommand::Execute
.
ppRowset
[in/out] Corresponde a ppRowset en ICommand::Execute
.
pRowsetObj
[out] Puntero a un objeto de conjunto de filas. Normalmente, este parámetro no se usa, pero se puede usar si es necesario realizar más trabajo en el conjunto de filas antes de pasarlo a un objeto COM. La duración de pRowsetObj depende de ppRowset.
Valor devuelto
Valor HRESULT estándar. Consulte ICommand::Execute
para obtener una lista de valores típicos.
Comentarios
Para crear más de un conjunto de filas o proporcionar sus propias condiciones para crear conjuntos de filas diferentes, ponga diferentes llamadas a CreateRowset
desde Execute
.
Consulte ICommand::Execute en la Referencia del programador de OLE DB.
ICommandImpl::Execute
Ejecuta el comando .
Sintaxis
HRESULT Execute(IUnknown* pUnkOuter,
REFIID riid,
DBPARAMS* pParams,
DBROWCOUNT* pcRowsAffected,
IUnknown** ppRowset);
Parámetros
Consulte ICommand::Execute en la Referencia del programador de OLE DB.
Comentarios
La interfaz de salida solicitada será una interfaz adquirida del objeto de conjunto de filas que esta función crea.
Execute
llama a CreateRowset. Invalide la implementación predeterminada para crear más de un conjunto de filas o proporcionar sus propias condiciones para crear conjuntos de filas diferentes.
ICommandImpl::GetDBSession
Devuelve un puntero de interfaz a la sesión que creó el comando.
Sintaxis
STDMETHOD (GetDBSession) (REFIID riid,
IUnknown** ppSession);
Parámetros
Consulte ICommand::GetDBSession en la Referencia del programador de OLE DB.
Comentarios
Resulta útil para recuperar propiedades de la sesión.
ICommandImpl::ICommandImpl
Constructor .
Sintaxis
ICommandImpl();
ICommandImpl::m_bCancel
Indica si se cancela el comando.
Sintaxis
unsigned m_bCancel:1;
Comentarios
Puede recuperar esta variable en el método Execute
de la clase de comando y cancelarlo según corresponda.
ICommandImpl::m_bCancelWhenExecuting
Indica si el comando se puede cancelar cuando se esté ejecutando.
Sintaxis
unsigned m_bCancelWhenExecuting:1;
Comentarios
El valor predeterminado es true
(se puede cancelar).
ICommandImpl::m_bIsExecuting
Indica si el comando se está ejecutando actualmente.
Sintaxis
unsigned m_bIsExecuting:1;
Comentarios
El método Execute
de la clase de comando puede establecer esta variable en true
.
Consulte también
Plantillas de proveedores OLE DB
Arquitectura de plantillas de proveedores OLE DB