Поделиться через


Класс ICommandImpl

Предоставляет реализацию для интерфейса ICommand .

Синтаксис

template <class T, class CommandBase = ICommand>
class ATL_NO_VTABLE ICommandImpl : public CommandBase

Параметры

T
Класс, производный от ICommandImpl.

CommandBase
Командный интерфейс. Значение по умолчанию — ICommand.

Требования

Заголовок: atldb.h

Участники

Методы

Имя Описание
Отмена Отменяет текущее выполнение команды.
CancelExecution Отменяет текущее выполнение команды.
CreateRowset Создает объект набора строк.
Execute Выполняет команду.
GetDBSession Возвращает указатель интерфейса на сеанс, создавший команду.
ICommandImpl Конструктор.

Элементы данных

Имя Описание
m_bCancel Указывает, должна ли быть отменена команда.
m_bCancelWhenExecuting Указывает, должна ли команда быть отменена при выполнении.
m_bIsExecuting Указывает, выполняется ли в настоящее время команда.

Замечания

Обязательный интерфейс для объекта команды.

ICommandImpl::Cancel

Отменяет текущее выполнение команды.

Синтаксис

STDMETHOD(Cancel)();

Замечания

См. раздел ICommand::Cancel в справочнике программиста OLE DB.

ICommandImpl::CancelExecution

Отменяет текущее выполнение команды.

Синтаксис

HRESULT CancelExecution();

ICommandImpl::CreateRowset

Вызывается выполнением для создания одного набора строк.

Синтаксис

template template <class RowsetClass>
HRESULT CreateRowset(IUnknown* pUnkOuter,
   REFIID riid,
   DBPARAMS* pParams,
   DBROWCOUNT* pcRowsAffected,
   IUnknown** ppRowset,
   RowsetClass*& pRowsetObj);

Параметры

RowsetClass
Член класса шаблона, представляющий класс набора строк пользователя. Обычно создается мастером.

pUnkOuter
[in] Указатель на управляемый IUnknown интерфейс, если набор строк создается как часть агрегата; в противном случае — значение NULL.

riid
[in] Соответствует riid in ICommand::Execute.

pParams
[in/out] Соответствует pParams в ICommand::Execute.

pcRowsAffected
Соответствует pcRowsAffected in ICommand::Execute.

ppRowset
[in/out] Соответствует ppRowset в ICommand::Execute.

pRowsetObj
[out] Указатель на объект набора строк. Обычно этот параметр не используется, но его можно использовать, если необходимо выполнить дополнительную работу над набором строк перед передачей в COM-объект. Время существования pRowsetObj привязано к ppRowset.

Возвращаемое значение

Стандартное значение HRESULT. См ICommand::Execute . список типичных значений.

Замечания

Чтобы создать несколько наборов строк или предоставить собственные условия для создания разных наборов строк, разместите различные вызовы CreateRowset изнутри Execute.

См . раздел ICommand::Execute в справочнике программиста OLE DB.

ICommandImpl::Execute

Выполняет команду.

Синтаксис

HRESULT Execute(IUnknown* pUnkOuter,
   REFIID riid,
   DBPARAMS* pParams,
   DBROWCOUNT* pcRowsAffected,
   IUnknown** ppRowset);

Параметры

См. раздел ICommand::Execute в справочнике программиста OLE DB.

Замечания

Запрошенный исходящий интерфейс будет интерфейсом, приобретенным из объекта набора строк, который создает эта функция.

Execute вызывает CreateRowset. Переопределите реализацию по умолчанию, чтобы создать несколько наборов строк или предоставить собственные условия для создания различных наборов строк.

ICommandImpl::GetDBSession

Возвращает указатель интерфейса на сеанс, создавший команду.

Синтаксис

STDMETHOD (GetDBSession) (REFIID riid,
   IUnknown** ppSession);

Параметры

См. раздел ICommand::GetDBSession в справочнике программиста OLE DB.

Замечания

Полезно для получения свойств из сеанса.

ICommandImpl::ICommandImpl

Конструктор.

Синтаксис

ICommandImpl();

ICommandImpl::m_bCancel

Указывает, отменена ли команда.

Синтаксис

unsigned m_bCancel:1;

Замечания

Эту переменную можно получить в методе Execute класса команд и отменить соответствующим образом.

ICommandImpl::m_bCancelWhenExecuting

Указывает, можно ли отменить команду при выполнении.

Синтаксис

unsigned m_bCancelWhenExecuting:1;

Замечания

По true умолчанию (можно отменить).

ICommandImpl::m_bIsExecuting

Указывает, выполняется ли в настоящее время команда.

Синтаксис

unsigned m_bIsExecuting:1;

Замечания

Метод Execute класса команд может задать для этой переменной значение true.

См. также

Шаблоны поставщика OLE DB
Архитектура шаблона поставщика OLE DB