Freigeben über


ICommandImpl-Klasse

Stellt implementierung für die ICommand-Schnittstelle bereit.

Syntax

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

Parameter

T
Ihre Klasse, abgeleitet von ICommandImpl.

CommandBase
Eine Befehlsschnittstelle. Der Standardwert ist ICommand.

Anforderungen

Header: „atldb.h“

Mitglieder

Methoden

Name Beschreibung
Abbrechen Bricht die aktuelle Befehlsausführung ab.
CancelExecution Bricht die aktuelle Befehlsausführung ab.
CreateRowset Erstellt ein Rowset -Objekt.
Ausführen Führt den Befehl aus.
GetDBSession Gibt einen Schnittstellenzeiger auf die Sitzung zurück, die den Befehl erstellt hat.
ICommandImpl Der Konstruktor.

Datenelemente

Name Beschreibung
m_bCancel Gibt an, ob der Befehl abgebrochen werden soll.
m_bCancelWhenExecuting Gibt an, ob der Befehl beim Ausführen abgebrochen werden soll.
m_bIsExecuting Gibt an, ob der Befehl zurzeit ausgeführt wird.

Hinweise

Eine obligatorische Schnittstelle für das Befehlsobjekt.

ICommandImpl::Cancel

Bricht die aktuelle Befehlsausführung ab.

Syntax

STDMETHOD(Cancel)();

Hinweise

Siehe "ICommand::Cancel " in der OLE DB-Programmierreferenz.

ICommandImpl::CancelExecution

Bricht die aktuelle Befehlsausführung ab.

Syntax

HRESULT CancelExecution();

ICommandImpl::CreateRowset

Wird von Execute aufgerufen, um ein einzelnes Rowset zu erstellen.

Syntax

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

Parameter

RowsetClass
Ein Vorlagenklassenelement, das die Rowsetklasse des Benutzers darstellt. Wird normalerweise vom Assistenten generiert.

pUnkOuter
[in] Ein Zeiger auf die Steuernde IUnknown Schnittstelle, wenn das Rowset als Teil eines Aggregats erstellt wird. Andernfalls ist es NULL.

riid
[in] Entspricht riid in ICommand::Execute.

pParams
[in/out] Entspricht pParams in ICommand::Execute.

pcRowsAffected
Entspricht pcRowsAffected in ICommand::Execute.

ppRowset
[in/out] Entspricht ppRowset in ICommand::Execute.

pRowsetObj
[out] Ein Zeiger auf ein Rowset-Objekt. Normalerweise wird dieser Parameter nicht verwendet, kann aber verwendet werden, wenn Sie mehr Arbeit an dem Rowset ausführen müssen, bevor Sie ihn an ein COM-Objekt übergeben. Die Lebensdauer von pRowsetObj ist an ppRowset gebunden.

Rückgabewert

Ein HRESULT-Standardwert. Eine Liste der typischen Werte finden Sie unter.See ICommand::Execute for a list of typical values.

Hinweise

Um mehr als ein Rowset zu erstellen oder eigene Bedingungen zum Erstellen verschiedener Rowsets bereitzustellen, platzieren Sie unterschiedliche Aufrufe CreateRowset von innerhalb Execute.

Siehe "ICommand::Execute " in der OLE DB-Programmierreferenz.

ICommandImpl::Execute

Führt den Befehl aus.

Syntax

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

Parameter

Siehe "ICommand::Execute " in der OLE DB-Programmierreferenz.

Hinweise

Die angeforderte ausgehende Schnittstelle ist eine Schnittstelle, die vom rowset-Objekt abgerufen wird, das von dieser Funktion erstellt wird.

Execute ruft CreateRowset auf. Überschreiben Sie die Standardimplementierung, um mehr als ein Rowset zu erstellen oder eigene Bedingungen zum Erstellen verschiedener Rowsets bereitzustellen.

ICommandImpl::GetDBSession

Gibt einen Schnittstellenzeiger auf die Sitzung zurück, die den Befehl erstellt hat.

Syntax

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

Parameter

Siehe "ICommand::GetDBSession " in der OLE DB-Programmierreferenz.

Hinweise

Nützlich zum Abrufen von Eigenschaften aus der Sitzung.

ICommandImpl::ICommandImpl

Der Konstruktor.

Syntax

ICommandImpl();

ICommandImpl::m_bCancel

Gibt an, ob der Befehl abgebrochen wird.

Syntax

unsigned m_bCancel:1;

Hinweise

Sie können diese Variable in der Execute Methode Der Befehlsklasse abrufen und ggf. abbrechen.

ICommandImpl::m_bCancelWhenExecuting

Gibt an, ob der Befehl beim Ausführen abgebrochen werden kann.

Syntax

unsigned m_bCancelWhenExecuting:1;

Hinweise

Standardwert ist true (kann abgebrochen werden).

ICommandImpl::m_bIsExecuting

Gibt an, ob der Befehl zurzeit ausgeführt wird.

Syntax

unsigned m_bIsExecuting:1;

Hinweise

Die Execute Methode der Befehlsklasse kann diese Variable auf true.

Siehe auch

OLE DB-Anbietervorlagen
Architektur von OLE DB-Anbietervorlagen