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“
Member
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