方法: XAPO へのランタイム パラメーター サポートの追加
IXAPOParameters インターフェイスを実装することで、XAPO にランタイム パラメーターのサポートを追加できます。 実行時パラメーターのサポートにより、XAPO は実行時に渡されるパラメーターに基づいて動作を変更できます。
「 方法: XAPO を作成する」の手順に従います。
CXAPOParametersBase と CXAPOBase から派生するように XAPO を変更します。
メソッド CXAPOParametersBase::BeginProcess と CXAPOParametersBase::EndProcess の呼び出しを IXAPO::P rocess の実装に追加します。
注意
これらのメソッドを IXAPO::P rocess に追加すると、 CXAPOParametersBase で効果パラメーターのコピーをスレッド セーフな状態に保つことができます。 IXAPO::P rocess の先頭で CXAPOParametersBase::BeginProcess を呼び出し、IXAPO::P rocess の末尾で CXAPOParametersBase::EndProcess を呼び出します。
IXAPO::P rocess 実装にさらにコードを追加して、SetParameters メソッドによって格納されている値に従って動作を変更します。
注意
SetParameters で指定されたパラメーターを使用するコードを IXAPO::P rocess メソッドに追加すると、XAPO の動作を一生変更できます。
効果のインスタンスを作成するときは、効果のパラメーターを表す構造体の 3 つのバッファーを割り当てて、 CXAPOParametersBase コンストラクターに渡します。
注意
CXAPOParametersBase インスタンスは、このバッファーを内部的に使用して、SetParameters を呼び出すときに渡される効果パラメーターを管理します。 IXAPO::P rocess、IXAPOParameters::GetParameters、および IXAPOParameters::SetParameters メソッドのいずれかを呼び出す前に、pParameterBlocks 内のすべてのプロセス パラメーター ブロックを同じ既定値に初期化する必要があります。 通常、この初期化は IXAPO::Initialize または IXAPO::LockForProcess で処理されます。
関連トピック