1 //-----------------------------------------------------------------------------
\r
4 // Copyright (c) Microsoft Corp. All rights reserved.
\r
5 //-----------------------------------------------------------------------------
\r
6 #ifndef DXUTWAVEFILE_H
\r
7 #define DXUTWAVEFILE_H
\r
9 //-----------------------------------------------------------------------------
\r
11 //-----------------------------------------------------------------------------
\r
12 #define WAVEFILE_READ 1
\r
13 #define WAVEFILE_WRITE 2
\r
15 //-----------------------------------------------------------------------------
\r
16 // Name: class CWaveFile
\r
17 // Desc: Encapsulates reading or writing sound data to or from a wave file
\r
18 //-----------------------------------------------------------------------------
\r
22 WAVEFORMATEX* m_pwfx; // Pointer to WAVEFORMATEX structure
\r
23 HMMIO m_hmmio; // MM I/O handle for the WAVE
\r
24 MMCKINFO m_ck; // Multimedia RIFF chunk
\r
25 MMCKINFO m_ckRiff; // Use in opening a WAVE file
\r
26 DWORD m_dwSize; // The size of the wave file
\r
27 MMIOINFO m_mmioinfoOut;
\r
29 BOOL m_bIsReadingFromMemory;
\r
33 CHAR* m_pResourceBuffer;
\r
37 HRESULT WriteMMIO( WAVEFORMATEX* pwfxDest );
\r
43 HRESULT Open( LPWSTR strFileName, WAVEFORMATEX* pwfx, DWORD dwFlags );
\r
44 HRESULT OpenFromMemory( BYTE* pbData, ULONG ulDataSize, WAVEFORMATEX* pwfx, DWORD dwFlags );
\r
47 HRESULT Read( BYTE* pBuffer, DWORD dwSizeToRead, DWORD* pdwSizeRead );
\r
48 HRESULT Write( UINT nSizeToWrite, BYTE* pbData, UINT* pnSizeWrote );
\r
51 HRESULT ResetFile();
\r
52 WAVEFORMATEX* GetFormat()
\r
59 #endif // DXUTWAVEFILE_H
\r