ISpatialAudioMetadataItemsBuffer::AttachToPopulatedBuffer 方法 (spatialaudiometadata.h)

附加以前填充的缓冲区,用于存储 ISpatialAudioMetadataItems 对象。 保留缓冲区中已有的元数据项。

语法

HRESULT AttachToPopulatedBuffer(
  [in] BYTE   *buffer,
       UINT32 bufferLength
);

参数

[in] buffer

指向要用于存储的内存的指针。

bufferLength

提供的缓冲区的长度。 此大小必须与元数据格式和最大元数据项计数所需的长度相匹配。

返回值

如果该方法成功,则它会返回 S_OK。 如果失败,可能的返回代码包括但不限于下表中显示的值。

返回代码 说明
SPTLAUD_MD_CLNT_E_NO_ITEMS_OPEN
尚未打开 ISpatialAudioMetadataItems 以便通过调用 Open 进行复制,或者已关闭对象以使用对 Close 的调用进行写入。
SPTLAUD_MD_CLNT_E_BUFFER_ALREADY_ATTACHED
已附加提供的缓冲区。
SPTLAUD_MD_CLNT_E_ATTACH_FAILED_INTERNAL_BUFFER
ISpatialAudioMetadataItems 创建为使用媒体管道内部缓冲区,因此无法附加外部缓冲区。
SPTLAUD_MD_CLNT_E_FORMAT_MISMATCH
提供的填充缓冲区使用的格式与当前格式不同。
E_INVALIDARG
提供的指针之一无效。

提供的缓冲区不够大,无法容纳最大数量的元数据项。 调用 GetSpatialAudioMetadataItemsBufferLength 以确定所需的缓冲区大小。

要求

要求
目标平台 Windows
标头 spatialaudiometadata.h

另请参阅

ISpatialAudioMetadataItemsBuffer