ICommandImpl クラス
ICommand インターフェイスの実装を提供します。
構文
template <class T, class CommandBase = ICommand>
class ATL_NO_VTABLE ICommandImpl : public CommandBase
パラメーター
T
ICommandImpl
から派生したクラス。
CommandBase
コマンド インターフェイス。 既定値は、ICommand
です。
要件
ヘッダー: atldb.h
メンバー
メソッド
Name | 説明 |
---|---|
Cancel | 現在のコマンドの実行を取り消します。 |
CancelExecution | 現在のコマンドの実行を取り消します。 |
CreateRowset | 行セット オブジェクトを作成します。 |
実行 | コマンドを実行します。 |
GetDBSession | コマンドを作成したセッションへのインターフェイス ポインターを返します。 |
ICommandImpl | コンストラクター。 |
データ メンバー
名前 | 説明 |
---|---|
m_bCancel | コマンドが取り消されるかどうかを示します。 |
m_bCancelWhenExecuting | コマンドが実行時に取り消されるかどうかを示します。 |
m_bIsExecuting | コマンドが現在実行中であるかどうかを示します。 |
解説
コマンド オブジェクトの必須インターフェイス。
ICommandImpl::Cancel
現在のコマンドの実行を取り消します。
構文
STDMETHOD(Cancel)();
解説
"OLE DB プログラマーズ リファレンス" の「ICommand::Cancel」を参照してください。
ICommandImpl::CancelExecution
現在のコマンドの実行を取り消します。
構文
HRESULT CancelExecution();
ICommandImpl::CreateRowset
単一の行セットを作成するために、Execute によって呼び出されます。
構文
template template <class RowsetClass>
HRESULT CreateRowset(IUnknown* pUnkOuter,
REFIID riid,
DBPARAMS* pParams,
DBROWCOUNT* pcRowsAffected,
IUnknown** ppRowset,
RowsetClass*& pRowsetObj);
パラメーター
RowsetClass
ユーザーの行セット クラスを表すテンプレート クラス メンバー。 通常はウィザードによって生成されます。
pUnkOuter
[入力] 行セットが集約の一部として作成されている場合は、管理 IUnknown
インターフェイスへのポインター。それ以外の場合は null。
riid
[入力] ICommand::Execute
の riid に対応します。
pParams
[入力/出力] ICommand::Execute
の pParams に対応します。
pcRowsAffected
ICommand::Execute
の pcRowsAffected に対応します。
ppRowset
[入力/出力] ICommand::Execute
の ppRowset に対応します。
pRowsetObj
[出力] 行セット オブジェクトへのポインター。 通常、このパラメーターは使用されませんが、行セットを COM オブジェクトに渡す前に、その行セットで多くの作業を実行する必要がある場合に使用できます。 pRowsetObj の有効期間は ppRowset によってバインドされます。
戻り値
標準の HRESULT 値。 一般的な値の一覧については、「ICommand::Execute
」を参照してください。
解説
複数の行セットを作成する、または異なる行セットを作成するための独自の条件を指定するには、Execute
内から CreateRowset
に対して異なる呼び出しを行います。
"OLE DB プログラマーズ リファレンス" の「ICommand::Execute」を参照してください。
ICommandImpl::Execute
コマンドを実行します。
構文
HRESULT Execute(IUnknown* pUnkOuter,
REFIID riid,
DBPARAMS* pParams,
DBROWCOUNT* pcRowsAffected,
IUnknown** ppRowset);
パラメーター
"OLE DB プログラマーズ リファレンス" の「ICommand::Execute」を参照してください。
解説
要求された発信インターフェイスは、この関数によって作成される行セット オブジェクトから取得されたインターフェイスになります。
Execute
によって CreateRowset が呼び出されます。 既定の実装をオーバーライドして複数の行セットを作成するか、異なる行セットを作成するための独自の条件を指定します。
ICommandImpl::GetDBSession
コマンドを作成したセッションへのインターフェイス ポインターを返します。
構文
STDMETHOD (GetDBSession) (REFIID riid,
IUnknown** ppSession);
パラメーター
"OLE DB プログラマーズ リファレンス" の「ICommand::GetDBSession」を参照してください。
解説
セッションからプロパティを取得する場合に便利です。
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
に設定できます。