Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Func.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.58 Mб
Скачать

IDirectSound::DuplicateSoundBuffer

HRESULT DuplicateSoundBuffer( LPDIRECTSOUNDBUFFER lpDsbOriginal, LPLPDIRECTSOUNDBUFFER lplpDsbDuplicate );

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

В случае успешного завершения возвращает значение DS_OK. В противном случае возвращаемое значение может принимать одно из следующих значений:

  • DSERR_ALLOCATED — ресурс, например, уровень приоритета, уже предоставлен по другому запросу.

  • DSERR_INVALIDCALL — вызов данной функции невозможен в текущем состоянии данного объекта.

  • DSERR_INVALIDPARAM — один или несколько аргументов метода имеют недопустимые значения.

  • DSERR_OUTOFMEMORY — недостаточно памяти для выполнения требуемой операции.

  • DSERR_UNINITIALIZED — перед вызовом данной функции не был вызван метод IDirectSound::Initialize или его выполнение завершилось с ошибкой.

Аргументы

  1. lpDsbOriginal — указатель на дублируемый объект DirectSoundBuffer.

  2. lplpDsbDuplicate — адрес указателя на новый объект DirectSoundBuffer.

Примечание

Метод IDirectSound::DuplicateSoundBuffer позволяет создать новый объект DirectSoundBuffer, используя память, выделенную исходному объекту. Новый объект может использоваться наряду с исходным.

После своего создания новый буфер имеет те же параметры, что и исходный. Однако приложение может независимо изменять параметры каждого из буферов, и воспроизведение и остановка воспроизведения каждого из буферов производится независимо.

Внесение изменений в информацию, хранящуюся в одном буфере, отражается на другом буфере, поскольку они разделяют одну и ту же область физической памяти. Выделенная под буфер память освобождается при уничтожении последнего использующего её объекта.

Попытка дублирования аудио буферов не обязательно обречена на удачу. DirectSound не создаёт программных копий аппаратно реализованных буферов.

IDirectSound::GetCaps

HRESULT GetCaps( LPDSCAPS lpDSCaps );

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

В случае успешного завершения возвращает значение DS_OK. В противном случае возвращаемое значение может принимать одно из следующих значений:

  • DSERR_GENERIC — в подсистеме DirectSound возникла неопознанная ошибка.

  • DSERR_INVALIDPARAM — один или несколько аргументов метода имеют недопустимые значения.

  • DSERR_UNINITIALIZED — перед вызовом данной функции не был вызван метод IDirectSound::Initialize или его выполнение завершилось с ошибкой.

Аргументы

  1. lpDSCap — указатель на объект структуры DSCAPS, содержащий описание возможностей данного аудио устройства.

Примечание

Метод IDirectSound::GetCaps позволяет получить доступ к возможностям аппаратного обеспечения, представленного объектом DirectSound.

Информация, записываемая в объект структуры DSCAPS, содержит описание максимальных и имеющихся в наличии возможностей аудио устройства таких, как количество аппаратно микшируемых каналов и размер памяти, размещённой на звуковой карте. Данная информация может использоваться для достижения максимальной эффективности использования имеющегося оборудования и оптимизации распределения ресурсов.

При запросе ресурсов приложением следует учитывать, что вследствие необходимости разделения имеющихся в наличии ресурсов между различными задачами, использование предельных возможностей в одной области может быть достигнуто только за счёт снижения возможностей данного аппаратного обеспечения в других областях. Например, максимальное число аппаратно реализованных потоковых аудио буферов может быть назначено только при отсутствии аппаратно реализованных статических аудио буферов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]