Compartir a través de


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