文档章节

WinAPI: midiInUnprepareHeader - 清除由 midiInPrepareHeader 完成的准备

涂孟超
 涂孟超
发布于 2014/09/26 15:33
字数 272
阅读 8
收藏 0
点赞 0
评论 0
提示:
设备写满缓冲区返回给程序后, 须调用此函数;
释放(GlobalFree)缓冲区前, 须调用此函数;
取消一个尚未准备的缓冲区将无效, 但函数返回 0

//声明:
midiInUnprepareHeader(
  hMidiIn: HMIDIIN;      {设备句柄}
  lpMidiInHdr: PMidiHdr; {TMidiHdr 结构指针}
  uSize: UINT            {TMidiHdr 结构大小}
): MMRESULT;             {成功返回 0; 可能的错误值如下:}

MMSYSERR_INVALHANDLE = 5;  {设备句柄无效}
MIDIERR_STILLPLAYING = 65; {缓冲区还在队列中}

//TMidiHdr 是 midihdr_tag 结构的重定义:
midihdr_tag = record
  lpData: PChar;               {专用缓冲区的指针}
  dwBufferLength: DWORD;       {指定缓冲区长度}
  dwBytesRecorded: DWORD;      {输入时, 指定缓冲区中的数据量}
  dwUser: DWORD;               {指定用户数据}
  dwFlags: DWORD;              {指定缓冲区信息标志}
  lpNext: PMidiHdr;            {保留(给设备)}
  reserved: DWORD;             {保留(给设备)}
  dwOffset: DWORD;             {回调开始时, 缓冲区的偏移}
  dwReserved: array[0..7] of DWORD; {保留(给系统)}
end;

//dwFlags 的可选值:
MHDR_DONE     = $00000001; {设备已把缓冲区交还给程序}
MHDR_PREPARED = $00000002; {已为 midiInPrepareHeader 或 midiOutPrepareHeader 准备好缓冲区}
MHDR_INQUEUE  = $00000004; {保留(给设备)}
MHDR_ISSTRM   = $00000008; {是流缓冲区}

 
 
 
 
 

 

 

  
//举例:

本文转载自:http://www.cnblogs.com/del/archive/2008/02/22/1078031.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
IO完成端口的使用

使用完成端口分以下三部分 1.创建完成端口 2.创建线程 3.将任务交到队列中 4.POST完成端口状态 5.线程取得完成端口状态,关做出处理操作 //完成端口句柄 HANDLE m_hRequestQueue; std::l...

智勇
2016/07/15
14
0
恶意代码分析利器--SCDBG

scdbg是一款多平台开源的Shellcode模拟运行、分析工具。其基于libemulibrary搭建的虚拟环境,通过模拟32位处理器、内存和基本Windows API运行环境来虚拟执行Shellcode以分析其行为。有了虚拟...

滔哥
2013/12/25
9.5K
5
IOCP通讯来出997错误的然后socket关闭

//============================================================================ // Name : IOCP2.cpp // Author : // Version : // Copyright : Your copyright notice // Description :......

穷土包
2012/09/05
1K
0
Go语言开发Windows应用

当第一次看到Go程序在windows平台生成可执行的exe文件,就宣告了windows应用也一定是Go语言的战场。Go不是脚本语言,但却有着脚本语言的轻便简单的特性。相较于php和python之类以服务器控制台...

Robin3D
2013/04/24
0
4
关于制作openstack虚拟机镜像的心得

ubuntu镜像相关 1、系统安装好,根据实际情况设定自己的配置之后那么继续往下做 2、清除/tmp 目录 3、清除日志 4、清除history 命令历史记录 history -c && shutdown -h now 5、清除网络相关...

DevOPS666
2017/05/19
0
0
多线程同步:互斥对象、事件对象、关键代码段

互斥对象、事件对象、关键代码段 一、互斥对象和事件对象属于内核对象,利用内核对象进行线程同步,速度较慢,但可以实现在多个进程中各线程间进行同步。 二、关键代码段式工作在用户方式下,...

Git_Android
2012/09/12
0
0
3、多线程(1)

一、概念 1、进程:通常被定义为一个正在运行的程序的实例,是一个程序在其自身的地址空间中的一次执行活动。一个程序可以有多个进程实例。 2、进程由两个部分组成: 1)操作系统用来管理进程...

hopegrace
2010/08/12
0
0
vc编程的ime输入法菜单开发

WINDOWS 下 IME 编程 IME 编程心得 第一章 Windows9x 系统下汉字输入法的基本原理 第二章 Windows9x 系统提供的 ime 管理函数 第三章 ime 文件中必须使用的结构 自由拼音输入法的测试 输入法...

crossmix
2014/12/07
0
3
Go语言Windows程序设计(1)--简单弹出消息窗口

这几天公司比较空,又开始玩Go语言,发现它可以通过一个https://github.com/lxn/go-winapi go-winapi的库写windows程序,于是就开始玩了,当然,也已经有了很多基于它而进一步封装便于开发的...

卧雪Sirk
2016/03/19
39
0
如何调用WINAPI声明的动态库?

一个库的函数以 WINAPI声明 然后调的时侯就有问题 以WINAPI声明的函数 比如 long dlltest(); 就会变成long _dlltest@0() 试着用 typef long (stdcall *_pdlltest)(); 这样去导 结果导不出来 ...

我是你
2014/04/29
87
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

rabbitmq学习记录(四)

工作队列(公平分配):一个生产者对应多个消费者,生产者直接将消息发送到rabbitmq的队列之中。队列会先给每个消费者轮流发送一条信息,消费者接收到信息并对之处理。如果不反馈处理结果,队...

人觉非常君
5分钟前
0
0
Java 之 反射

反射,剖析 Java类 中的 各个组成部分,映射成 一个个 Java对象,多用于 框架和组件,写出复用性高的通用程序。 测试类代码如下: class Person { private String name; public St...

绝世武神
29分钟前
0
0
华为nova3超级慢动作酷玩抖音,没有办法我就是这么强大

华为nova3超级慢动作酷玩抖音,没有办法我就是这么强大!华为nova3超级慢动作酷玩抖音,没有办法我就是这么强大! 在华为最新发布的nova 3手机上,抖音通过华为himedia SDK集成了60fps、超级...

华为终端开放实验室
35分钟前
0
0
多 SSH Key 实现同一台服务器部署多 Git 仓库

本文以以下需求为背景,介绍详细的做法: 需在同一台服务器同时部署两个不同的 Github 仓库(对 Bitbucket 等 git 服务同样适用) root 用户可在远程登录 SSH 后附上预期的 SSH Key 进行 gi...

yeahlife
37分钟前
0
0
003. es6数值的扩展

一、普通扩展 Number 方法,将字符串、数值转为十进制 : Number('0b111') Number.isFinite() 用来检查一个数值是否为有限的:Number.isFinite(15) Number.isNan() 用来检查一个值是否为NaN N...

秋季长青
51分钟前
0
0
C语言数组和指针的语法糖

对于C语言,我可以这样秀:比如当创建一个数组arr[n]之后,一般我们去遍历数组的时候是for (int i = 0; i < n; i++) { a[i]; }但是我知道下表访问符[]是个语法糖,也就是说a[i]在编译器看来是...

ustbgaofan
59分钟前
0
0
Call to undefined function bcmath()的解决方法

乐意黎的ECS主机环境,Centos7.2 + PHP7 由于使用了bcdiv()函数,运行时总在抛错。 Fatal error: Call to undefined function bcmath() in /usr/loca/apache/htdocs/... on line 4 一查得知:......

dragon_tech
今天
0
0
css优先级

..

architect刘源源
今天
0
0
【转】Twitter的分布式自增ID算法snowflake

结构 snowflake的结构如下(每部分用-分开): 0 - 0000000000 0000000000 0000000000 0000000000 0 - 00000 - 00000 - 000000000000 第一位为未使用,接下来的41位为毫秒级时间(41位的长度可以...

talen
今天
0
0
hive支持行级修改

Hive从0.14版本开始支持事务和行级更新,但缺省是不支持的,需要一些附加的配置。要想支持行级insert、update、delete,需要配置Hive支持事务。 一、Hive具有ACID语义事务的使用场景 1. 流式...

hblt-j
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部