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 フラグが指定されている場合、OutputLockedParameterCount は InputLockedParameterCount と等しくなければなりません。 - pOutputLockedParameters
XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS 構造体の出力配列です。OutputLockedParameterCount が 0 の場合、pOutputLockedParameters は NULL でもかまいません。それ以外の場合は OutputLockedParameterCount の要素が必要です。
戻り値
正常に実行された場合は S_OK を返し、失敗した場合はエラー コードを返します。
解説
ロックされると、入力および出力構成とその他のロックされているパラメーターは、UnLockForProcess が呼び出されるまで一定に保たれます。XAPO がロックされると、それ以降の LockForProcess の呼び出しは、UnLockForProcess 関数が呼び出されるまで無効になります。
XAPO は、IsInputFormatSupported メソッドと IsOutputFormatSupported メソッドの実装を通じてサポートする特定の形式を示します。XAPO では、入力および出力構成がサポートされいること、および必要なエフェクト固有の初期化が完了していることがアサートされる必要があります。このメソッドを呼び出す前に、必要に応じて IsInputFormatSupported、IsOutputFormatSupported、および Initialize メソッドを使用する必要があります。
Process は、非ブロッキング メソッドなので、Process に必要なすべての内部メモリー バッファーが LockForProcess で割り当てられる必要があります。
LockForProcess が正常に実行される前に、Process が呼び出されることはありません。
LockForProcess は、XAudio2 によって直接呼び出されます。クライアント コードが呼び出すことはできません。
要件
ヘッダー: XAPO.h で宣言されています。