Программирование звука в DirectSound - Набор интерфейсных функций подсистемы
ОГЛАВЛЕНИЕ
Набор интерфейсных функций подсистемы
Описание функций распределено по разделам, каждый из которых, в свою очередь, описывает соответствующий интерфейс DirectSound. Несколько общих функций высшего уровня, не принадлежащих интерфейсам, вынесено в начало описания.
Перечень базовых интерфейсов DirectSound
IUnknown | Базовый интерфейс для всех объектов COM |
---|---|
IDirectSound | Интерфейс устройства воспроизведения |
IDirectSoundBuffer | Интерфейс буфера воспроизведения |
IDirectSoundCapture | Интерфейс устройства захвата |
IDirectSoundCaptureBuffer | Интерфейс буфера захвата |
IDirectSoundNotification | Интерфейс уведомления |
IKsPropertySet | Интерфейс дополнительных наборов свойств |
Перечень внеинтерфейсных функций высшего уровня
DirectSoundEnumerate | Перебор устройств воспроизведения |
---|---|
DirectSoundCreate | Создание объекта устройства воспроизведения |
DirectSoundCaptureEnumerate | Перебор устройств захвата |
DirectSoundCaptureCreate | Создание объекта устройства захвата |
Значения, возвращаемые функциями и методами
Все функции и методы интерфейсов возвращают результат типа HRESULT, эквивалентный типу LONG. Значение DS_OK равное нулю означает успешное выполнение функции, любое другое значение указывает на ошибку. Константы для кодов ошибок имеют префиксы DSERR_:
ACCESSDENIED | Доступ запрещен |
---|---|
ALLOCATED | Запрошенный ресурс занят |
ALREADYINITIALIZED | Объект уже инициализирован |
BADFORMAT | Запрошенный формат не поддерживается |
BUFFERLOST | Буфер потерян и должен быть восстановлен |
CONTROLUNAVAIL | Запрошенный вид управления буфером недоступен - не поддерживается или не был заказан при создании буфера |
GENERIC | Неустановленная ошибка внутри подсистемы |
HWUNAVAIL | Аппаратура адаптера недоступна |
INVALIDCALL | Метод недопустим в текущем состоянии объекта |
INVALIDPARAM | Функции передан неверный параметр |
NOAGGREGATION | Объект не поддерживает дополнительных интерфейсов |
NODRIVER | Нет доступного драйвера |
NOINTERFACE | Запрошенный интерфейс COM недоступен |
OTHERAPPHASPRIO | Другое приложение имеет более высокий уровень взаимодействия |
OUTOFMEMORY | Недостаточно памяти |
PRIOLEVELNEEDED | Недостаточно высок уровень взаимодействия приложения |
UNINITIALIZED | Объект не инициализирован |
UNSUPPORTED | Операция не поддерживается |