次の方法で共有


IXAPO::LockForProcess メソッド

リアルタイム スレッドで Process が呼び出される前に、XAPO で最終的な初期化を実行できるように XAPO の入力および出力構成をロックするために、XAudio2 によって呼び出されます。

構文

virtual HRESULT LockForProcess(         UINT32 InputLockedParameterCount,         const XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS *pInputLockedParameters,         UINT32 OutputLockedParameterCount,         const XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS *pOutputLockedParameters) = 0

パラメーター

  • InputLockedParameterCount
    ppInputLockedParameters の要素数です。CXAPOBase::CXAPOBase に渡された XAPO_REGISTRATION_PROPERTIES.MinInputBufferCount の値から XAPO_REGISTRATION_PROPERTIES.MaxInputBufferCount の値までの間でなければなりません。
  • pInputLockedParameters
    XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS 構造体の入力配列です。InputLockedParameterCount が 0 の場合、pInputLockedParameters は NULL でもかまいません。それ以外の場合は InputLockedParameterCount の要素が必要です。
  • OutputLockedParameterCount
    ppOutputLockedParameters の要素数です。CXAPOBase::CXAPOBase に渡された XAPO_REGISTRATION_PROPERTIES.MinOutputBufferCount の値から XAPO_REGISTRATION_PROPERTIES.MaxOutputBufferCount の値までの間でなければなりません。XAPO_REGISTRATION_PROPERTIES.Flags で XAPO_FLAG_BUFFERCOUNT_MUST_MATCH フラグが指定されている場合、OutputLockedParameterCountInputLockedParameterCount と等しくなければなりません。
  • pOutputLockedParameters
    XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS 構造体の出力配列です。OutputLockedParameterCount が 0 の場合、pOutputLockedParameters は NULL でもかまいません。それ以外の場合は OutputLockedParameterCount の要素が必要です。

戻り値

正常に実行された場合は S_OK を返し、失敗した場合はエラー コードを返します。

解説 

ロックされると、入力および出力構成とその他のロックされているパラメーターは、UnLockForProcess が呼び出されるまで一定に保たれます。XAPO がロックされると、それ以降の LockForProcess の呼び出しは、UnLockForProcess 関数が呼び出されるまで無効になります。

XAPO は、IsInputFormatSupported メソッドと IsOutputFormatSupported メソッドの実装を通じてサポートする特定の形式を示します。XAPO では、入力および出力構成がサポートされいること、および必要なエフェクト固有の初期化が完了していることがアサートされる必要があります。このメソッドを呼び出す前に、必要に応じて IsInputFormatSupportedIsOutputFormatSupported、および Initialize メソッドを使用する必要があります。

Process は、非ブロッキング メソッドなので、Process に必要なすべての内部メモリー バッファーが LockForProcess で割り当てられる必要があります。

LockForProcess が正常に実行される前に、Process が呼び出されることはありません。

LockForProcess は、XAudio2 によって直接呼び出されます。クライアント コードが呼び出すことはできません。

要件

ヘッダー: XAPO.h で宣言されています。