WinAPI: waveInUnprepareHeader - 清除由 waveInPrepareHeader 完成的准备
来源:互联网 发布:星际传奇 知乎 编辑:程序博客网 时间:2024/06/03 05:06
提示:
设备写满缓冲区返回给程序后, 须调用此函数;
释放(GlobalFree)缓冲区前, 须调用此函数;
取消一个尚未准备的缓冲区将无效, 但函数返回 0
//声明:waveInUnprepareHeader( hWaveIn: HWAVEIN; {设备句柄} lpWaveInHdr: PWaveHdr; {TWaveHdr 结构的指针} uSize: UINT {TWaveHdr 结构大小}): MMRESULT; {成功返回 0; 可能的错误值见下:}MMSYSERR_INVALHANDLE = 5; {设备句柄无效}MMSYSERR_HANDLEBUSY = 12; {设备已被另一线程使用}WAVERR_STILLPLAYING = 33; {缓冲区还在队列中}//TWaveHdr 是 wavehdr_tag 结构的重定义wavehdr_tag = record lpData: PChar; {指向波形数据缓冲区} dwBufferLength: DWORD; {波形数据缓冲区的长度} dwBytesRecorded: DWORD; {若首部用于输入, 指出缓冲区中的数据量} dwUser: DWORD; {指定用户的32位数据} dwFlags: DWORD; {缓冲区标志} dwLoops: DWORD; {循环播放次数, 仅用于输出缓冲区} lpNext: PWaveHdr; {保留} reserved: DWORD; {保留}end;//TWaveHdr 中的 dwFlags 的可选值:WHDR_DONE = $00000001; {设备已使用完缓冲区, 并返回给程序}WHDR_PREPARED = $00000002; {waveInPrepareHeader 或 waveOutPrepareHeader 已将缓冲区准备好}WHDR_BEGINLOOP = $00000004; {缓冲区是循环中的第一个缓冲区, 仅用于输出}WHDR_ENDLOOP = $00000008; {缓冲区是循环中的最后一个缓冲区, 仅用于输出}WHDR_INQUEUE = $00000010; { reserved for driver }
- WinAPI: waveInUnprepareHeader - 清除由 waveInPrepareHeader 完成的准备
- 准备完成我的硕士论文
- 完整的女人,由男人完成
- WinApi 参数的层次
- winapi thread的学习
- 移动光标的WINAPI
- BOOL WINAPI的实际意义
- 准备完成的GPS相机的部分,相机部…
- 准备完成的GPS相机的部分,GPS部分…
- 如何使用代码清除IE的自动完成表单
- 由主机来完成
- 利用Zend Row class完成增删改的提前准备
- WINAPI
- WINAPI
- WINAPI
- WINAPI
- WINAPI
- WINAPI
- Perl一些常见问题总结
- DirectShow技术介绍(长篇)-8
- 在 CentOS 5.X 安装 VMWare Tools
- BMP位图结构详解
- DirectShow技术介绍(长篇)-9
- WinAPI: waveInUnprepareHeader - 清除由 waveInPrepareHeader 完成的准备
- [转]从华为看中国企业管理的普遍缺陷
- Silverlight 动画类
- [ACE程序员教程笔记]使用ACE_Acceptor分离连接和事件处理
- c文件操作函数
- 虚拟机安装中文Fedora14
- iconv_open 中参数的编码类型及返回值
- 被雷劈到的感悟1
- linux命令行挂载U盘拷贝文件