Classe ICommandImpl
Fornece a implementação para a interface ICommand.
Sintaxe
template <class T, class CommandBase = ICommand>
class ATL_NO_VTABLE ICommandImpl : public CommandBase
Parâmetros
T
Sua classe, derivada de ICommandImpl
.
CommandBase
Uma interface de comando. O padrão é ICommand
.
Requisitos
Cabeçalho: atldb.h
Membros
Métodos
Nome | Descrição |
---|---|
Cancelar | Cancela a execução de comando atual. |
CancelExecution | Cancela a execução de comando atual. |
CreateRowset | Cria um objeto de conjunto de linhas. |
Executar | Executa o comando. |
GetDBSession | Retorna um ponteiro de interface para a sessão que criou o comando. |
ICommandImpl | O construtor . |
Membros de dados
Nome | Descrição |
---|---|
m_bCancel | Indica se o comando deve ser cancelado. |
m_bCancelWhenExecuting | Indica se o comando deve ser cancelado ao executar. |
m_bIsExecuting | Indica se o comando está sendo executado no momento. |
Comentários
Uma interface obrigatória no objeto de comando.
ICommandImpl::Cancel
Cancela a execução de comando atual.
Sintaxe
STDMETHOD(Cancel)();
Comentários
Consulte ICommand::Cancel na Referência do programador OLE DB.
ICommandImpl::CancelExecution
Cancela a execução de comando atual.
Sintaxe
HRESULT CancelExecution();
ICommandImpl::CreateRowset
Chamado por Execute para criar um único conjunto de linhas.
Sintaxe
template template <class RowsetClass>
HRESULT CreateRowset(IUnknown* pUnkOuter,
REFIID riid,
DBPARAMS* pParams,
DBROWCOUNT* pcRowsAffected,
IUnknown** ppRowset,
RowsetClass*& pRowsetObj);
Parâmetros
RowsetClass
Um membro de classe de modelo que representa a classe de conjunto de linhas do usuário. Normalmente gerado pelo assistente.
pUnkOuter
[in] Um ponteiro para a interface de controle IUnknown
se o conjunto de linhas estiver sendo criado como parte de uma agregação; caso contrário, ele será nulo.
riid
[in] Corresponde ao riid em ICommand::Execute
.
pParams
[entrada/saída] Corresponde a pParams em ICommand::Execute
.
pcRowsAffected
Corresponde a pcRowsAffected em ICommand::Execute
.
ppRowset
[entrada/saída] Corresponde a ppRowset em ICommand::Execute
.
pRowsetObj
[saída] Um ponteiro para um objeto de conjunto de linhas. Normalmente, esse parâmetro não é usado, mas pode ser usado se você precisar executar mais trabalho no conjunto de linhas antes de passá-lo para um objeto COM. O tempo de vida de pRowsetObj é delimitado por ppRowset.
Valor de retorno
Um valor HRESULT padrão. Consulte ICommand::Execute
para obter uma lista de valores típicos.
Comentários
Para criar mais de um conjunto de linhas, ou para fornecer suas próprias condições para criar conjuntos de linhas diferentes, faça chamadas diferentes para CreateRowset
de dentro de Execute
.
Consulte ICommand::Execute na Referência do Programador OLE DB.
ICommandImpl::Execute
Executa o comando.
Sintaxe
HRESULT Execute(IUnknown* pUnkOuter,
REFIID riid,
DBPARAMS* pParams,
DBROWCOUNT* pcRowsAffected,
IUnknown** ppRowset);
Parâmetros
Consulte ICommand::Execute na Referência do Programador OLE DB.
Comentários
A interface de saída solicitada será uma interface adquirida do objeto de conjunto de linhas que essa função cria.
Execute
chama CreateRowset. Substitui a implementação padrão para criar mais de um conjunto de linhas ou para fornecer suas próprias condições para criar conjuntos de linhas diferentes.
ICommandImpl::GetDBSession
Retorna um ponteiro de interface para a sessão que criou o comando.
Sintaxe
STDMETHOD (GetDBSession) (REFIID riid,
IUnknown** ppSession);
Parâmetros
Consulte ICommand::GetDBSession na Referência do Programador OLE DB.
Comentários
Útil para recuperar propriedades da sessão.
ICommandImpl::ICommandImpl
O construtor .
Sintaxe
ICommandImpl();
ICommandImpl::m_bCancel
Indica se o comando deve ser cancelado.
Sintaxe
unsigned m_bCancel:1;
Comentários
Você pode recuperar essa variável no método Execute
da classe de comando e cancelar conforme apropriado.
ICommandImpl::m_bCancelWhenExecuting
Indica se o comando pode ser cancelado ao executar.
Sintaxe
unsigned m_bCancelWhenExecuting:1;
Comentários
O padrão é true
(pode ser cancelado).
ICommandImpl::m_bIsExecuting
Indica se o comando está sendo executado no momento.
Sintaxe
unsigned m_bIsExecuting:1;
Comentários
O método Execute
da classe de comando pode definir essa variável como true
.
Confira também
Modelos de Provedor OLE DB
Arquitetura de modelo do provedor do OLE DB