IXAPO::LockForProcess 方法 (xapo.h)

由 XAudio2 调用以锁定 XAPO 的输入和输出配置,允许它在实时线程上调用 Process 之前执行任何最终初始化。

语法

HRESULT LockForProcess(
  UINT32                               InputLockedParameterCount,
  const XAPO_LOCKFORPROCESS_PARAMETERS *pInputLockedParameters,
  UINT32                               OutputLockedParameterCount,
  const XAPO_LOCKFORPROCESS_PARAMETERS *pOutputLockedParameters
);

参数

InputLockedParameterCount

ppInputLockedParameters 中的元素数。 必须在 XAPO_REGISTRATION_PROPERTIES内。MinInputBufferCount 和 XAPO_REGISTRATION_PROPERTIES。传递给 CXAPOBase::CXAPOBase 的 MaxInputBufferCount 值。

pInputLockedParameters

输入 XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS 结构的数组。 如果 InputLockedParameterCount 为 0,pInputLockedParameters 可能为 NULL,否则它必须具有 InputLockedParameterCount 元素。

OutputLockedParameterCount

ppOutputLockedParameters 中的元素数。 必须在 XAPO_REGISTRATION_PROPERTIES内。MinOutputBufferCount 和 XAPO_REGISTRATION_PROPERTIES。传递给 CXAPOBase::CXAPOBase 的 MaxOutputBufferCount 值。 如果在 XAPO_REGISTRATION_PROPERTIES 中指定了 XAPO_FLAG_BUFFERCOUNT_MUST_MATCH标志。然后 OutputLockedParameterCount 的标志必须等于 InputLockedParameterCount

pOutputLockedParameters

输出 XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS 结构的数组。 如果 OutputLockedParameterCount 为 0,pOutputLockedParameters 可能为 NULL,否则它必须具有 OutputLockedParameterCount 元素。

返回值

如果成功,则返回S_OK,否则返回错误代码。

注解

锁定后,输入和输出配置以及任何其他锁定参数将保持不变,直到调用 UnLockForProcess 。 锁定 XAPO 后,在调用 UnLockForProcess 函数之前,对 LockForProcess 的进一步调用不起作用。

XAPO 指示它通过 IsInputFormatSupportedIsOutputFormatSupported 方法的实现支持哪些特定格式。 XAPO 应断言输入和输出配置受支持,并且任何所需的特定于效果的初始化都已完成。 在调用此方法之前,应根据需要使用 IsInputFormatSupportedIsOutputFormatSupportedInitialize 方法。

由于 Process 是一种非阻塞方法,因此 Process 所需的所有内部内存缓冲区都应在 LockForProcess 中分配。

LockForProcess 成功返回之前,永远不会调用进程。

LockForProcess 由 XAudio2 直接调用,不应由客户端代码调用。

平台要求

Windows 10 (XAudio2.9) ;Windows 8、Windows Phone 8 (XAudio 2.8) ;DirectX SDK (XAudio 2.7)

要求

   
目标平台 Windows
标头 xapo.h

另请参阅

IXAPO