
- •Приложение Глобальные функции 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
Классы cArchive
Класс CArchive позволяет сохранять на диске достаточно сложные объекты, а также загружать их в память по мере необходимости. Хранение объектов производится в файлах с последовательным доступом. Данный тип файла можно представить себе как двоичный поток данных. Подобно потокам, используемым в операциях ввода-вывода, архив использует буферизированную запись и чтение данных в память и из памяти. Поток ввода-вывода обрабатывает последовательности символов ASCII, но архив обрабатывает двоичные данные объектов в более эффективном формате, не использующем избыточности.
Прежде, чем использовать объект класса архива, необходимо создать соответствующий ему объект класса CFile. При этом необходимо удостовериться, что в этих объектах соответствуют атрибуты доступа к данным. Одному объекту класса CFile может соответствовать не более одного активного объекта класса CArchive.
При создании объекта класса CArchive он присоединяется к объекту класса CFile (или производного от него класса), соответствующего открытому файлу. При этом следует, также определить режим работы с архивом: будет ли он использоваться для загрузки или сохранения данных. Объект класса CArchive может работать не только с простейшими типами данных, но также и объектами классов, производных от класса CObject, позволяющих сохранять свои данные в последовательном формате. Класс, допускающий сохранение своих данных в последовательном формате, обычно имеет функцию Serialize, а при его описании и реализации используются макросы DECLARE_SERIAL и IMPLEMENT_SERIAL.
Перегруженные операторы чтения данных из архива (>>) и записи данных в архив (<<) обеспечивают удобные программный интерфейс работы с архивом. Аргументом данных операторов могут быть как переменные простейших типов, тик и объекты классов, производных от класса CObject.
Описание данного класса содержится в файле заголовка afx.h.
CArchive::operator >>
friend CArchive& operator >>( CArchive& ar, CObject *& pOb ); throw( CArchiveException, CFileException, CMemoryException );
friend CArchive& operator >>( CArchive& ar, const CObject *& pOb ); throw( CArchiveException, CFileException, CMemoryException );
CArchive& operator >>( BYTE& by ); throw( CArchiveException, CFileException );
CArchive& operator >>( WORD& w ); throw( CArchiveException, CFileException );
CArchive& operator >>( int& i ); throw( CArchiveException, CFileException );
CArchive& operator >>( LONG& l ); throw( CArchiveException, CFileException );
CArchive& operator >>( DWORD& dw ); throw( CArchiveException, CFileException );
CArchive& operator >>( float& f ); throw( CArchiveException, CFileException );
CArchive& operator >>( double& d ); throw( CArchiveException, CFileException );
Возвращаемое значение
Ссылка на объект класса CArchive, позволяющая использовать в одной строке программы несколько подобных операторов.
Примечание
Читает указанный объект или переменную простейшего типа из архива.
Если в файле реализации класса использовался макрос IMPLEMENT_SERIAL, то данный оператор вызывает защищённую функцию ReadObject с ненулевым указателем на объект класса, производного от класса CObject, который в свою очередь, вызывает функцию Serialize данного класса.
CArchive::operator <<
friend CArchive& operator <<( CArchive& ar, const CObject* pOb ); throw( CArchiveException, CFileException );
CArchive& operator <<( BYTE by ); throw( CArchiveException, CFileException );
CArchive& operator <<( WORD w ); throw( CArchiveException, CFileException );
CArchive& operator <<( int i ); throw( CArchiveException, CFileException );
CArchive& operator <<( LONG l ); throw( CArchiveException, CFileException );
CArchive& operator <<( DWORD dw ); throw( CArchiveException, CFileException );
CArchive& operator <<( float f ); throw( CArchiveException, CFileException );
CArchive& operator <<( double d ); throw( CArchiveException, CFileException );
Возвращаемое значение
Ссылка на объект класса CArchive, позволяющая использовать в одной строке программы несколько подобных операторов.
Примечание
Записывает указанный объект или переменную простейшего типа в архив.
Если в файле реализации класса использовался макрос IMPLEMENT_SERIAL, то данный оператор вызывает защищённую функцию WriteObject с ненулевым указателем на объект класса, производного от класса CObject, который в свою очередь, вызывает функцию Serialize данного класса.
CArchive::Flush
void Flush( ); throw( CFileException );
Примечание
Переписывает данные, хранящиеся в буфере данного архива, в файл. Вызов данной функции гарантирует, что все данные, переданные в архив, будут записаны в файл. Для завершения процесса записи информации на диск необходимо вызвать функцию CFile::Close.
CArchive::GetFile
CFile* GetFile( ) const;
Возвращаемое значение
Указатель на объект класса CFile, связанный с данным архивом.
Примечание
Позволяет получить указатель на объект класса CFile, связанный с данным архивом. Перед использованием данной функции необходимо очистить буфер данного архива с использованием функции Flush.
CArchive::IsLoading
BOOL IsLoading( ) const;
Возвращаемое значение
Ненулевое, если архив в настоящее время используется для чтения из него информации, и нулевое в противном случае.
Примечание
Определяет режим использования архива. Данная функция используется в функции Serialize классов, поддерживающих работу с архивом.
CArchive::IsStoring
BOOL IsStoring( ) const;
Возвращаемое значение
Ненулевое, если архив в настоящее время используется для записи в него информации, и нулевое в противном случае.
Примечание
Определяет режим использования архива. Данная функция используется в функции Serialize классов, поддерживающих работу с архивом. Если функция IsStoring возвращает ненулевое значение, то функция IsLoading возвращает нулевое значение. И наоборот.