Программирование звука в DirectSound
Страница 16. Набор интерфейсных функций подсистемы


 

Набор интерфейсных функций подсистемы

Описание функций распределено по разделам, каждый из которых, в свою очередь, описывает соответствующий интерфейс 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

Операция не поддерживается

 

 
« Предыдущая статья   Следующая статья »