
- •Приложение Глобальные функции acmDriverAdd
- •AcmDriverEnum
- •AcmDriverEnumCallback
- •AcmDriverPriority
- •AcmDriverProc
- •AcmDriverRemove
- •AcmFilterChoose
- •AcmFilterChooseHookProc
- •AcmFilterEnum
- •AcmFilterEnumCallback
- •AcmFilterTagEnum
- •AcmFilterTagEnumCallback
- •AcmFormatChoose
- •AcmFormatChooseHookProc
- •AcmFormatEnum
- •AcmFormatEnumCallback
- •AcmFormatSuggest
- •AcmFormatTagDetails
- •AcmFormatTagEnum
- •AcmFormatTagEnumCallback
- •AcmMetrics
- •AcmStreamClose
- •AcmStreamConvert
- •AcmStreamConvertCallback
- •AcmStreamOpen
- •AcmStreamPrepareHeader
- •AcmStreamSize
- •AcmStreamUnprepareHeader
- •AfxGetApp
- •AfxGetInstanceHandle
- •AfxGetInstanceHandle
- •AuxGetDevCaps
- •AuxGetNumDevs
- •AuxGetVolume
- •AuxSetVolume
- •CoCreateInstance
- •CoInitialize
- •CommDlgExtendedError
- •CopyMemory
- •CoUninitialize
- •CreateEvent
- •CreateWaitableTimer
- •CreateWindowEx
- •DirectDrawCreate
- •DirectSoundCaptureCreate
- •DirectSoundCaptureEnumerate
- •DirectSoundCreate
- •DirectSoundEnumerate
- •DsEnumCallback
- •EnableWindow
- •FillMemory
- •FormatMessage
- •GetCurrentDirectory
- •GetDiskFreeSpace
- •GetDlgItem
- •GetLastError
- •GetOpenFileName
- •GetOpenFileNamePreview
- •GetSaveFileName
- •GetSaveFileNamePreview
- •GetTickCount
- •GetWindowRect
- •KillTimer
- •MciGetCreatorTask
- •MciGetDeviceId
- •MciGetErrorString
- •MciGetYieldProc
- •MciSendCommand
- •MciSendString
- •MciSetYieldProc
- •MciWndCreate
- •MciWndRegisterClass
- •MessageBeep
- •MessageBox
- •MmioAdvance
- •MmioAscend
- •MmioClose
- •MmioCreateChunk
- •MmioDescend
- •MmioFlush
- •MmioGetInfo
- •MmioInstallIoProc
- •MmioOpen
- •MmioProc
- •MmioRead
- •MmioRename
- •MmioSeek
- •MmioSendMessage
- •MmioSetBuffer
- •MmioSetInfo
- •MmioStringToFourcc
- •MmioWrite
- •MsgWaitForMultipleObjects
- •OutputDebugString
- •PlaySound
- •PulseEvent
- •QueryPerformanceCounter
- •QueryPerformanceFrequency
- •RegisterWindowMessage
- •ResetEvent
- •SetCurrentDirectory
- •SetCursor
- •SetDiBitsToDevice
- •SetEvent
- •SetTimer
- •SndPlaySound
- •TimeBeginPeriod
- •TimeEndPeriod
- •TimeGetDevCaps
- •TimeGetSystemTime
- •TimeGetTime
- •TimeKillEvent
- •TimeProc
- •TimerProc
- •TimeSetEvent
- •WaitForSingleObject
- •WaveInAddBuffer
- •WaveInGetDevCaps
- •WaveInGetErrorText
- •WaveInGetNumDevs
- •WaveInOpen
- •WaveInPrepareHeader
- •WaveInProc
- •WaveInReset
- •WaveInStart
- •WaveInStop
- •WaveInUnprepareHeader
- •WaveOutBreakLoop
- •WaveOutClose
- •WaveOutGetDevCaps
- •WaveOutGetErrorText
- •WaveOutGetNumDevs
- •WaveOutGetPitch
- •WaveOutGetPlaybackRate
- •WaveOutGetPosition
- •WaveOutGetVolume
- •WaveOutOpen
- •WaveOutPause
- •WaveOutPrepareHeader
- •WaveOutProc
- •WaveOutReset
- •WaveOutRestart
- •WaveOutSetPitch
- •WaveOutSetPlaybackRate
- •WaveOutSetVolume
- •WaveOutUnprepareHeader
- •WaveOutWrite
- •WinHelp
- •ZeroMemory
- •Интерфейсы
- •IDirectSound
- •IDirectSound::Compact
- •IDirectSound::CreateSoundBuffer
- •IDirectSound::DuplicateSoundBuffer
- •IDirectSound::GetCaps
- •IDirectSound::GetSpeakerConfig
- •IDirectSound::Initialize
- •IDirectSound::SetCooperativeLevel
- •IDirectSound::SetSpeakerConfig
- •IDirectSoundBuffer
- •IDirectSoundBuffer::GetCaps
- •IDirectSoundBuffer::GetCurrentPosition
- •IDirectSoundBuffer::GetFormat
- •IDirectSoundBuffer::GetFrequency
- •IDirectSoundBuffer::GetPan
- •IDirectSoundBuffer::GetStatus
- •IDirectSoundBuffer::GetVolume
- •IDirectSoundBuffer::Lock
- •IDirectSoundBuffer::Play
- •IDirectSoundBuffer::Restore
- •IDirectSoundBuffer::SetCurrentPosition
- •IDirectSoundBuffer::SetFormat
- •IDirectSoundBuffer::SetFrequency
- •IDirectSoundBuffer::SetPan
- •IDirectSoundBuffer::SetVolume
- •IDirectSoundBuffer::Stop
- •IDirectSoundBuffer::Unlock
- •IDirectSoundCapture
- •IDirectSoundCapture::CreateCaptureBuffer
- •IDirectSoundCapture::GetCaps
- •IDirectSoundCaptureBuffer
- •IDirectSoundCaptureBuffer::GetCaps
- •IDirectSoundCaptureBuffer::GetCurrentPosition
- •IDirectSoundCaptureBuffer::GetFormat
- •IDirectSoundCaptureBuffer::GetStatus
- •IDirectSoundCaptureBuffer::Lock
- •IDirectSoundCaptureBuffer::Start
- •IDirectSoundCaptureBuffer::Stop
- •IDirectSoundCaptureBuffer::Unlock
- •IDirectSoundNotify
- •IDirectSoundNotify::SetNotificationPositions
- •IKsPropertySet
- •IKsPropertySet::Get
- •IKsPropertySet::QuerySupport
- •IKsPropertySet::Set
- •IUnknown
- •Реализация
- •Использование
- •IUnknown::AddRef
- •IUnknown::QueryInterface
- •IUnknown::Release
- •Классы cArchive
- •CArchive::Read
- •CArchive::Write
- •CBitmap
- •CBitmap::CreateCompatibleBitmap
- •CBitmap::GetBitmapBits
- •CBitmap::SetBitmapBits
- •CCmdUi::ContinueRouting
- •CCmdUi::Enable
- •CCmdUi::SetCheck
- •Cdc::Attach
- •Cdc::BitBlt
- •Cdc::CreateCompatibleDc
- •Cdc::Detach
- •Cdc::EndDoc
- •Cdc::EndPage
- •Cdc::FillRect
- •Cdc::GetDeviceCaps
- •Cdc::GetSafeHdc
- •Cdc::GetTextExtent
- •Cdc::IsPrinting
- •Cdc::LineTo
- •Cdc::Rectangle
- •Cdc::SelectClipRgn
- •Cdc::SelectObject
- •Cdc::SetMapMode
- •Cdc::SetTextAlign
- •Cdc::SetViewportOrg
- •Cdc::StartDoc
- •Cdc::StartPage
- •CDialog
- •CDialog::OnCancel
- •CDialog::DoModal
- •CDialog::EndDialog
- •CDialog::OnInitDialog
- •CDialog::OnOk
- •CDocument
- •CDocument::GetFile
- •CDocument::GetPathName
- •CDocument::OnNewDocument
- •CDocument::ReleaseFile
- •CDocument::SetModifiedFlag
- •CDocument::UpdateAllViews
- •CFile::cFile
- •CFile::Close
- •CFile::GetFilePath
- •CFile::GetLength
- •CFile::Open
- •CFile::Read
- •CFile::Remove
- •CFile::Seek
- •CFile::SeekToBegin
- •CFile::SetLength
- •CFile::Write
- •CFrameWnd
- •CFrameWnd::Create
- •CFrameWnd::DockControlBar
- •CFrameWnd::EnableDocking
- •CFrameWnd::LoadBarState
- •CFrameWnd::LoadFrame
- •CFrameWnd::OnCreateClient
- •CFrameWnd::SaveBarState
- •CFrameWnd::SetActiveView
- •CFrameWnd::ShowControlBar
- •CObArray
- •CObArray::Add
- •CObArray::GetSize
- •CObArray::operator [ ]
- •CObArray::RemoveAll
- •CObArray::SetSize
- •CPropertyPage
- •CPropertyPage::OnSetActive
- •CPropertyPage::OnWizardBack
- •CPropertyPage::OnWizardFinish
- •CPropertyPage::OnWizardNext
- •CPropertySheet
- •CPropertySheet::AddPage
- •CPropertySheet::Construct
- •CPropertySheet::cPropertySheet
- •CPropertySheet::DoModal
- •CPropertySheet::GetPageIndex
- •CPropertySheet::SetActivePage
- •CPropertySheet::SetFinishText
- •CPropertySheet::SetTitle
- •CPropertySheet::SetWizardButtons
- •CPropertySheet::SetWizardMode
- •CRect::NormalizeRect
- •CRect::OffsetRect
- •CRect::PtInRect
- •CRect::SetRect
- •CRgn::CreateRectRgnIndirect
- •CSliderCtrl
- •CSliderCtrl::GetPos
- •CSliderCtrl::SetLineSize
- •CSliderCtrl::SetPageSize
- •CSliderCtrl::SetPos
- •CSliderCtrl::SetRange
- •CSliderCtrl::SetTicFreq
- •CSplitterWnd
- •CSplitterWnd::CreateStatic
- •CSplitterWnd::CreateView
- •CSplitterWnd::GetPane
- •CStatusBar
- •CStatusBar::CommandToIndex
- •CStatusBar::Create
- •CStatusBar::SetIndicators
- •CStatusBar::SetPaneInfo
- •CStatusBar::SetPaneText
- •CString
- •CString::Empty
- •CString::Format
- •CString::GetBuffer
- •CString::IsEmpty
- •CString::LoadString
- •CString::MakeReverse
- •CString::ReleaseBuffer
- •CView::DoPreparePrinting
- •CView::GetDocument
- •CView::OnBeginPrinting
- •CView::OnDraw
- •CView::OnInitialUpdate
- •CView::OnPrepareDc
- •CView::OnPreparePrinting
- •CView::OnPrint
- •CView::OnUpdate
- •CWinApp
- •CWinApp::AddDocTemplate
- •CWinApp::Enable3dControls
- •CWinApp::GetProfileInt
- •CWinApp::GetProfileString
- •CWinApp::InitInstance
- •CWinApp::LoadIcon
- •CWinApp::LoadStandardCursor
- •CWinApp::OpenDocumentFile
- •CWinApp::SetRegistryKey
- •CWinApp::WriteProfileInt
- •CWinApp::WriteProfileString
- •CWnd::DoDataExchange
- •CWnd::EnableWindow
- •CWnd::GetClientRect
- •CWnd::GetDlgItem
- •CWnd::GetParent
- •CWnd::GetParentFrame
- •CWnd::GetParentOwner
- •CWnd::GetSafeHwnd
- •CWnd::Invalidate
- •CWnd::IsDlgButtonChecked
- •CWnd::OnHScroll
- •CWnd::OnKillFocus
- •CWnd::OnSetFocus
- •CWnd::SetScrollInfo
- •CWnd::SetScrollPos
- •CWnd::ShowScrollBar
- •CWnd::UpdateData
- •Команды mci break
- •Capability
- •Sysinfo
- •Макросы mci_hms_hour
- •Mci_hms_minute
- •Mci_hms_second
- •Mci_make_hms
- •Mci_make_msf
- •Mci_make_tmsf
- •Mci_msf_frame
- •Mci_msf_minute
- •Mci_msf_second
- •Mci_tmsf_frame
- •Mci_tmsf_minute
- •Mci_tmsf_second
- •Mci_tmsf_track
- •MciWndCanConfig
- •MciWndCanEject
- •MciWndCanPlay
- •MciWndCanRecord
- •MciWndCanSave
- •MciWndCanWindow
- •MciWndChangeStyles
- •MciWndClose
- •MciWndDestroy
- •MciWndEnd
- •MciWndGetActiveTimer
- •MciWndGetAlias
- •MciWndGetDevice
- •MciWndGetDeviceId
- •MciWndGetEnd
- •MciWndGetError
- •MciWndGetFileName
- •MciWndGetInactiveTimer
- •MciWndGetLength
- •MciWndGetPosition
- •MciWndGetPositionString
- •MciWndGetRepeat
- •MciWndGetSpeed
- •MciWndGetStart
- •MciWndGetStyles
- •MciWndGetTimeFormat
- •MciWndGetVolume
- •MciWndHome
- •MciWndNew
- •MciWndOpen
- •MciWndOpenDialog
- •MciWndOpenInterface
- •MciWndPause
- •MciWndPlay
- •MciWndPlayFrom
- •MciWndPlayFromTo
- •MciWndPlayReverse
- •MciWndPlayTo
- •MciWndRecord
- •MciWndResume
- •MciWndReturnString
- •MciWndSave
- •MciWndSaveDialog
- •MciWndSeek
- •MciWndSendString
- •MciWndSetActiveTimer
- •MciWndSetInactiveTimer
- •MciWndSetOwner
- •MciWndSetRepeat
- •MciWndSetSpeed
- •MciWndSetTimeFormat
- •MciWndSetTimers
- •MciWndSetVolume
- •MciWndStep
- •MciWndStop
- •MciWndUseFrames
- •MciWndUseTime
- •MmioFourcc
- •Массивы patcharray
- •Keyarray
- •Сообщения mci_break
- •Mci_close
- •Mci_getdevcaps
- •Mci_index
- •Mci_open
- •Mci_pause
- •Mci_play
- •Mci_record
- •Mci_reserve
- •Mci_resume
- •Mci_save
- •Mci_seek
- •Mci_setaudio
- •Mci_status
- •Mci_stop
- •Mciwndm_can_config
- •Mciwndm_can_eject.
- •Mciwndm_can_play
- •Mciwndm_can_record
- •Mciwndm_can_save
- •Mciwndm_can_window
- •Mciwndm_changestyles
- •Mciwndm_getactivetimer
- •Mciwndm_getalias
- •Mciwndm_getdevice
- •Mciwndm_getdeviceid
- •Mciwndm_getend
- •Mciwndm_geterror
- •Mciwndm_getfilename
- •Mciwndm_getinactivetimer
- •Mciwndm_getlength
- •Mciwndm_getposition
- •Mciwndm_getrepeat
- •Mciwndm_getspeed
- •Mciwndm_getstart
- •Mciwndm_getstyles
- •Mciwndm_gettimeformat
- •Mciwndm_getvolume
- •Mciwndm_new
- •Mciwndm_notifyerror
- •Mciwndm_notifymedia
- •Mciwndm_notifymode
- •Mciwndm_notifypos
- •Mciwndm_open
- •Mciwndm_openinterface
- •Mciwndm_playfrom
- •Mciwndm_playreverse
- •Mciwndm_playto
- •Mciwndm_returnstring
- •Mciwndm_sendstring
- •Mciwndm_setactivetimer
- •Mciwndm_setinactivetimer
- •Mciwndm_setowner
- •Mciwndm_setrepeat
- •Mciwndm_setspeed
- •Mciwndm_settimeformat
- •Mciwndm_settimers
- •Mciwndm_setvolume
- •Mm_acm_formatchoose
- •Mm_mcinotify
- •Mm_mcisignal
- •Mm_wim_close
- •Mm_wim_data
- •Mm_wim_open
- •Mm_wom_close
- •Mm_wom_done
- •Mm_wom_open
- •Mmiom_close
- •Mmiom_open
- •Mmiom_read
- •Mmiom_rename
- •Mmiom_seek
- •Mmiom_write
- •Mmiom_writeflush
- •Wm_close
- •Wm_timer
- •Структуры acmdriverdetails
- •Acmfilterchoose
- •Acmformatchoose
- •Acmfilterdetails
- •Acmfiltertagdetails
- •Acmformatdetails
- •Acmformattagdetails
- •Acmstreamheader
- •Auxcaps
- •Bitmapinfo
- •Bitmapinfoheader
- •Createstruct
- •Dsbcaps
- •Dsbpositionnotify
- •Dsbufferdesc
- •Dscbcaps
- •Dscbufferdesc
- •Dsccaps
- •Logfont
- •Mci_break_parms
- •Mci_dgv_cue_parms
- •Mci_dgv_open_parms
- •Mci_dgv_pause_parms
- •Mci_dgv_play_parms
- •Mci_dgv_record_parms
- •Mci_dgv_reserve_parms
- •Mci_dgv_save_parms
- •Mci_dgv_set_parms
- •Mci_dgv_status_parms
- •Mci_generic_parms
- •Mci_getdevcaps_parms
- •Mci_open_parms
- •Mci_ovly_open_parms
- •Mci_ovly_save_parms
- •Mci_play_parms
- •Mci_record_parms
- •Mci_save_parms
- •Mci_seek_parms
- •Mci_seq_set_parms
- •Mci_set_parms
- •Mci_status_parms
- •Mci_vcr_cue_parms
- •Mci_vcr_play_parms
- •Mci_vcr_record_parms
- •Mci_vcr_seek_parms
- •Mci_vcr_set_parms
- •Mci_vcr_status_parms
- •Mci_vd_play_parms
- •Mci_wave_open_parms
- •Mci_wave_set_parms
- •Mmckinfo
- •Mmioinfo
- •Openfilename
- •Rgbquad
- •Scrollinfo
- •Security_attributes
- •Timecaps
- •Wavefilter
- •Waveformatex
- •Wavehdr
- •Waveincaps
- •Waveoutcaps
WaveOutGetVolume
MMRESULT waveOutGetVolume( HWAVEOUT hwo, LPDWORD pdwVolume );
Возвращаемое значение
В случае успешного завершения возвращает значение MMSYSERR_NOERROR. В противном случае может возвращать следующие значения:
MMSYSERR_INVALHANDLE — указан недопустимый дескриптор устройства.
MMSYSERR_NODRIVER — отсутствует драйвер устройства.
MMSYSERR_NOMEM — невозможно выделить или заблокировать память.
MMSYSERR_NOTSUPPORTED — указанное устройство не позволяет регулировать уровень воспроизведения.
Аргументы
hwo — дескриптор открытого устройства вывода аудио информации. В данном аргументе может передаваться идентификатор устройства.
pdwVolume — указатель на переменную, в которую будет записано текущее значение уровня воспроизведения. Младшее слово этой переменной содержит уровень воспроизведения по левому каналу, а старшее слово — по правому каналу. Значение 0xFFFF соответствует максимальному уровню воспроизведения, а значение 0x0000 — тишине.
Если устройство не допускает раздельной регулировки по левому и правому каналам, уровень воспроизведения монофонического сигнала будет содержаться в младшем слове данной переменной.
Информация возвращается в полном 16-битовом формате, используемом в функции waveOutSetVolume независимо от того, какой формат уровня воспроизведения используется в устройстве.
Примечание
Функция waveOutGetVolume позволяет получить текущий уровень воспроизведения, установленный на указанном устройстве вывода аудио информации.
Если в качестве аргумента данной функции используется идентификатор устройства, то информация, возвращаемая в аргументе pdwVolume, относится ко всем реализациям данного устройства. При использовании дескриптора устройства информация возвращается только по той реализации устройства, которая связана с данным дескриптором
Не все устройства позволяют регулировать уровень воспроизведения. Для определения того, позволяет ли данное устройство регулировать уровень воспроизведения, следует вызвать функцию waveOutGetDevCaps и проверить состояние флага WAVECAPS_VOLUME в переменной dwSupport возвращаемого ей объекта структуры WAVEOUTCAPS.
Для определения того, позволяет ли данное устройство раздельно регулировать уровень воспроизведения по левому и правому каналам следует вызвать функцию waveOutGetDevCaps и проверить состояние флага WAVECAPS_LRVOLUME в переменной dwSupport возвращаемого ей объекта структуры WAVEOUTCAPS.
Значения уровней воспроизведения задаются в логарифмической шкале. Этому субъективный уровень повышения громкости будет одинаковым при повышении уровня воспроизведения с 0x5000 до 0x6000 и с 0x4000 до 0x5000.
Описание данной функции содержится в файле заголовка mmsystem.h. При работе с данной функцией следует включить в проект библиотеку winmm.lib.
WaveOutOpen
MMRESULT waveOutOpen( LPHWAVEOUT phwo, UINT uDeviceID, LPWAVEFORMATEX pwfx, DWORD dwCallback, DWORD dwCallbackInstance, DWORD fdwOpen );
Возвращаемое значение
В случае успешного завершения работы возвращает значение MMSYSERR_NOERROR. В противном случае может возвращать следующие значения:
MMSYSERR_ALLOCATED — указанный ресурс уже распределён.
MMSYSERR_BADDEVICEID — указанный идентификатор устройства находится за пределами допустимого диапазона значений.
MMSYSERR_NODRIVER — отсутствуют драйверы устройств.
MMSYSERR_NOMEM — невозможно выделить или заблокировать память.
WAVERR_BADFORMAT — указанный аудио формат не поддерживается.
WAVERR_SYNC — указано синхронное устройство, но в функции waveOutOpen не установлен флаг WAVE_ALLOWSYNC.
Аргументы
phwo — указатель на область памяти, в которую будет записан дескриптор открываемого аудио устройство. Этот дескриптор будет использоваться для идентификации аудио устройства при вызове функций. Если в аргументе fdwOpen установлен флаг WAVE_FORMAT_QUERY данный аргумент должен иметь нулевое значение.
uDeviceID — идентификатор открываемого аудио устройства. В данном аргументе может передаваться как идентификатор устройства, так и дескриптор открытого аудио устройства ввода. В данном аргументе может указываться константа WAVE_MAPPER, указывающая на то, что функция сама выберет аудио устройство, способное выводить аудио информацию в указанном формате.
pwfx — указатель на объект структуры WAVEFORMATEX, содержащей описание формата выводимой аудио информации. Этот объект структуры может быть уничтожен сразу после завершения работы функции waveOutOpen.
dwCallback — адрес функции обратного вызова, дескриптора события, дескриптора окна или идентификатор потока, используемых для обработки сообщений, посылаемых в процессе воспроизведения аудио информации. Если эти сообщения не нуждаются в обработке, то данный аргумент должен иметь нулевое значение. Формат функции обратного вызова должен соответствовать формату функции waveOutProc.
dwCallbackInstance — пользовательские данные, используемые в механизме обратного вызова. Этот аргумент не используется при обработке сообщений обратного вызова функцией окна.
fdwOpen — флаги, определяющие режим открытия устройства. Определены следующие значения:
CALLBACK_EVENT — в аргументе dwCallback передаётся дескриптор события.
CALLBACK_FUNCTION — в аргументе dwCallback передаётся указатель на функцию обратного вызова.
CALLBACK_NULL — механизм обратного вызова не используется.
CALLBACK_THREAD — в аргументе dwCallback передаётся идентификатор потока.
CALLBACK_WINDOW — в аргументе dwCallback передаётся дескриптор окна.
WAVE_ALLOWSYNC — открывается синхронное устройство вывода аудио информации. Если этот флаг не установлен, открытие синхронного драйвера завершится с ошибкой.
WAVE_FORMAT_DIRECT — при выводе аудио информации не производится её преобразование драйвером ACM.
WAVE_FORMAT_QUERY — функция waveOutOpen используется для проверки возможности работы с указанным аудио форматом. При этом никакое аудио устройство не открывается.
WAVE_MAPPED — аргумент uDeviceID определяет аудио устройство, выбираемое функцией.
Примечание
Функция waveOutOpen открывает указанное аудио устройство для воспроизведения на нём аудио информации.
Для определения числа установленных в системе аудио устройств, осуществляющих вывод информации, используется функция waveOutGetNumDevs. Если в аргументе uDeviceID содержится идентификатор устройства, то он может иметь значение от нуля до величины, на единицу меньшей числа устройств вывода аудио информации, установленных в системе. В качестве идентификатора устройства может, также, использоваться константа WAVE_MAPPER.
Объект структуры, на который указывает аргумент pwfx, может быть расширен для хранения информации, специфичной для данного формата аудио информации. Например, для формата ИКМ к данной структуре добавляется дополнительная переменная формата UINT для хранения числа бит на отсчёт. Для данной структуры существует собственное имя PCMWAVEFORMAT. Для всех остальных форматов используется структура WAVEFORMATEX, содержащая специальную переменную, указывающую на размер дополнительного блока памяти, размещаемого за объектом данной структуры.
Если в механизме обратного вызова используется функция окна или потока, то в процессе вывода аудио информации им посылаются сообщения MM_WOM_OPEN, MM_WOM_CLOSE и MM_WOM_DONE.
При использовании функции обратного в процессе вывода аудио информации ей посылаются сообщения WOM_OPEN, WOM_CLOSE и WOM_DONE.
Описание данной функции содержится в файле заголовка mmsystem.h. При работе с данной функцией следует включить в проект библиотеку winmm.lib.