Partager via


ICommandImpl, classe

Fournit une implémentation pour l’interface ICommand .

Syntaxe

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

Paramètres

T
Votre classe, dérivée de ICommandImpl.

CommandBase
Interface de commande. Par défaut, il s’agit de ICommand.

Spécifications

En-tête : atldb.h

Membres

Méthodes

Nom Description
Annuler Annule l’exécution de la commande actuelle.
CancelExecution Annule l’exécution de la commande actuelle.
CreateRowset Crée un objet d’ensemble de lignes.
Execute Exécute la commande.
GetDBSession Retourne un pointeur d’interface vers la session qui a créé la commande.
ICommandImpl Constructeur .

Données membres

Nom Description
m_bCancel Indique si la commande doit être annulée.
m_bCancelWhenExecuting Indique si la commande doit être annulée lors de l’exécution.
m_bIsExecuting Indique si la commande est en cours d’exécution.

Notes

Interface obligatoire sur l’objet de commande.

ICommandImpl::Cancel

Annule l’exécution de la commande actuelle.

Syntaxe

STDMETHOD(Cancel)();

Notes

Voir ICommand ::Cancel dans la référence du programmeur OLE DB.

ICommandImpl::CancelExecution

Annule l’exécution de la commande actuelle.

Syntaxe

HRESULT CancelExecution();

ICommandImpl::CreateRowset

Appelé par Execute pour créer un ensemble de lignes unique.

Syntaxe

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

Paramètres

RowsetClass
Membre de classe de modèle représentant la classe d’ensemble de lignes de l’utilisateur. Généralement généré par l’Assistant.

pUnkOuter
[in] Pointeur vers l’interface de IUnknown contrôle si l’ensemble de lignes est créé dans le cadre d’un agrégat ; sinon, il est null.

riid
[in] Correspond à riid in ICommand::Execute.

pParams
[in/out] Correspond à pParams in ICommand::Execute.

pcRowsAffected
Correspond à pcRowsAffected in ICommand::Execute.

ppRowset
[in/out] Correspond à ppRowset dans ICommand::Execute.

pRowsetObj
[out] Pointeur vers un objet d’ensemble de lignes. En règle générale, ce paramètre n’est pas utilisé, mais il peut être utilisé si vous devez effectuer davantage de travail sur l’ensemble de lignes avant de le transmettre à un objet COM. La durée de vie de pRowsetObj est liée par ppRowset.

Valeur de retour

Valeur HRESULT standard. Consultez ICommand::Execute la liste des valeurs classiques.

Notes

Pour créer plusieurs ensembles de lignes ou fournir vos propres conditions pour la création d’ensembles de lignes différents, placez différents appels à CreateRowset partir de l’intérieur Execute.

Voir ICommand ::Execute dans la référence du programmeur OLE DB.

ICommandImpl::Execute

Exécute la commande.

Syntaxe

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

Paramètres

Voir ICommand ::Execute dans la référence du programmeur OLE DB.

Notes

L’interface sortante demandée sera une interface acquise à partir de l’objet d’ensemble de lignes créé par cette fonction.

Execute appelle CreateRowset. Remplacez l’implémentation par défaut pour créer plusieurs ensembles de lignes ou fournir vos propres conditions pour créer différents ensembles de lignes.

ICommandImpl::GetDBSession

Retourne un pointeur d’interface vers la session qui a créé la commande.

Syntaxe

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

Paramètres

Consultez ICommand ::GetDBSession dans la référence du programmeur OLE DB.

Notes

Utile pour récupérer les propriétés de la session.

ICommandImpl::ICommandImpl

Constructeur .

Syntaxe

ICommandImpl();

ICommandImpl::m_bCancel

Indique si la commande est annulée.

Syntaxe

unsigned m_bCancel:1;

Notes

Vous pouvez récupérer cette variable dans la Execute méthode de votre classe de commande et annuler selon les besoins.

ICommandImpl::m_bCancelWhenExecuting

Indique si la commande peut être annulée lors de l’exécution.

Syntaxe

unsigned m_bCancelWhenExecuting:1;

Notes

true Valeurs par défaut (peuvent être annulées).

ICommandImpl::m_bIsExecuting

Indique si la commande est en cours d’exécution.

Syntaxe

unsigned m_bIsExecuting:1;

Notes

La Execute méthode de votre classe de commande peut définir cette variable sur true.

Voir aussi

Modèles du fournisseur OLE DB
Architecture des modèles du fournisseur OLE DB