Класс ICommandImpl
Предоставляет реализацию для интерфейса ICommand .
Синтаксис
template <class T, class CommandBase = ICommand>
class ATL_NO_VTABLE ICommandImpl : public CommandBase
Параметры
T
Класс, производный от ICommandImpl
.
CommandBase
Командный интерфейс. Значение по умолчанию — ICommand
.
Требования
Заголовок: atldb.h
Участники
Методы
Имя | Описание |
---|---|
Отмена | Отменяет текущее выполнение команды. |
CancelExecution | Отменяет текущее выполнение команды. |
CreateRowset | Создает объект набора строк. |
Выполнение | Выполняет команду. |
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