附加以前填充的缓冲区,用于存储 ISpatialAudioMetadataItems 对象。 保留缓冲区中已有的元数据项。
语法
HRESULT AttachToPopulatedBuffer(
  [in] BYTE   *buffer,
       UINT32 bufferLength
);
参数
[in] buffer
指向要用于存储的内存的指针。
bufferLength
提供的缓冲区的长度。 此大小必须与元数据格式和最大元数据项计数所需的长度相匹配。
返回值
如果该方法成功,则它会返回 S_OK。 如果失败,可能的返回代码包括但不限于下表中显示的值。
| 返回代码 | 说明 | 
|---|---|
| 
 | 尚未打开 ISpatialAudioMetadataItems 以便通过调用 Open 进行复制,或者已关闭对象以使用对 Close 的调用进行写入。 | 
| 
 | 已附加提供的缓冲区。 | 
| 
 | ISpatialAudioMetadataItems 创建为使用媒体管道内部缓冲区,因此无法附加外部缓冲区。 | 
| 
 | 提供的填充缓冲区使用的格式与当前格式不同。 | 
| 
 | 提供的指针之一无效。 提供的缓冲区不够大,无法容纳最大数量的元数据项。 调用 GetSpatialAudioMetadataItemsBufferLength 以确定所需的缓冲区大小。 | 
要求
| 要求 | 值 | 
|---|---|
| 目标平台 | Windows | 
| 标头 | spatialaudiometadata.h |