Compartilhar via


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