Метод IAudioOutputEndpointRT::ReleaseOutputDataPointer (audioengineendpoint.h)

Метод ReleaseOutputDataPointer освобождает указатель на выходной буфер.

Синтаксис

void ReleaseOutputDataPointer(
  [in] const APO_CONNECTION_PROPERTY *pConnectionProperty
);

Параметры

[in] pConnectionProperty

Указатель на структуру APO_CONNECTION_PROPERTY . Значения в структуре изменять нельзя. Вызывающий объект задает элементы следующим образом:

  • pBuffer задается в качестве указателя на буфер выходных данных, возвращаемый методом IAudioOutputEndpointRT::GetOutputDataPointer .
  • u32ValidFrameCount — это фактическое количество кадров, созданных обработчиком звука. Значение может не совпадать с числом кадров, переданным в параметре u32FrameCount метода GetOutputDataPointer .
  • Параметр u32BufferFlags имеет значение BUFFER_VALID , если выходной буфер, на который указывает элемент pBuffer , содержит допустимые данные. Параметр u32BufferFlags имеет значение BUFFER_SILENT , если выходной буфер содержит только автоматические данные. Данные в буфере на самом деле не должны быть тишиной, но буфер, указанный в элементе pBuffer , должен содержать все кадры тишины, содержащиеся в элементе u32ValidFrameCount . Таким образом, если указан BUFFER_SILENT , конечная точка должна записывать тишину в выходном буфере.

Возвращаемое значение

None

Remarks

ReleaseOutputDataPointer уведомляет конечную точку о том, что звуковой модуль выполнил задачу записи данных в выходной буфер и больше не требует указателя данных. Этот метод также передает такие сведения, как время, соответствующее примерам звука в выходном буфере, количество кадров, созданных обработчиком звука, а также то, заполнен ли буфер допустимыми данными или данными тишины. На основе этих сведений конечная точка, представляющая зациклованный буфер и подключенная к выходным данным звукового модуля, может продвинуть позицию записи в буфере. Значение нуля в параметре u32FrameCount метода GetOutputDataPointer указывает на то, что звуковой модуль не записывал допустимые данные в выходной буфер. Значение параметра u32FrameCount должно быть меньше или равно количеству кадров, указанному в GetOutputDataPointer. Конечная точка не должна предполагать, что все данные, запрошенные GetOutputDataPointer , были фактически созданы.

Этот метод можно вызвать из потока обработки в режиме реального времени. Реализация этого метода не должна блокировать, получать доступ к постраничной памяти или вызывать какие-либо блокирующие системные процедуры.

API AudioEndpoint служб удаленных рабочих столов предназначен для использования в сценариях удаленного рабочего стола. Он не предназначен для клиентских приложений.

Требования

Требование Значение
Минимальная версия клиента Windows 7
Минимальная версия сервера Windows Server 2008 R2
Целевая платформа Windows
Header audioengineendpoint.h

См. также раздел

IAudioOutputEndpointRT