次の方法で共有


方法 : XAPO へのランタイム パラメーター サポートの追加

ランタイム パラメーター サポートを XAPO に追加するには、IXAPOParameters インターフェイスを実装します。ランタイム パラメーター サポートにより、実行時に渡されたパラメーターに基づいて、XAPO でその動作を変更できます。

XAPO を作成した後、XAPO ごとに動作を変化させるには

  1. 方法 : XAPO の作成 の手順を実行します。

  2. CXAPOParametersBase および CXAPOBase から派生するように XAPO を変更します。

  3. CXAPOParametersBase::BeginProcess および CXAPOParametersBase::EndProcess メソッドへの呼び出しを IXAPO::Process の実装に追加します。

        これらのメソッドを IXAPO::Process に追加すると、CXAPOParametersBase でそのエフェクト パラメーターのコピーがスレッドセーフなまま保持されます。IXAPO::Process の最初で CXAPOParametersBase::EndProcess を呼び出し、IXAPO::Process の最後で CXAPOParametersBase::BeginProcess を呼び出します。

  4. 追加コードを IXAPO::Process 実装に追加して、SetParameters メソッドによって格納された値に応じてその動作を変更します。

        IXAPO::Process メソッドが SetParameters で指定されたパラメーターを使用するようにコードを追加すると、XAPO の動作をその存続期間を通して変化させることができます。

  5. エフェクトのインスタンスが作成されたら、エフェクトのパラメーターを表す 3 つの構造体のバッファーを割り当て、インスタンスを CXAPOParametersBase コンストラクターに渡します。

        CXAPOParametersBase インスタンスは、このバッファーを内部で使用して、SetParameters が呼び出されたときに渡されるエフェクト パラメーターを管理します。pParameterBlocks 内の処理パラメーター ブロックをすべて同じデフォルト値に初期化してから、IXAPO::Process メソッド、IXAPOParameters::GetParameters メソッド、または IXAPOParameters::SetParameters メソッドのいずれかを呼び出す必要があります。通常、この初期化は IXAPO::Initialize または IXAPO::LockForProcess 内で処理されます。

関連トピック