VC语言

本类阅读TOP10

·VC++ 学习笔记(二)
·用Visual C++打造IE浏览器(1)
·每个开发人员现在应该下载的十种必备工具
·教你用VC6做QQ对对碰外挂程序
·Netmsg 局域网聊天程序
·Windows消息大全
·VC++下使用ADO编写数据库程序
·VC++学习笔记(四)
·非法探取密码的原理及其防范
·怎样在VC++中访问、修改注册表

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
memfile例子的缓冲改进

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

在使用当中,很多人对应默认的读取数据大小32768非常不满意.好像大部分的人都用到时时播放的系统中了.其实这个值是可以修改的.2的n次方的大小,还不能够改成任意大小的.

在他的基类CAsyncOutputPin::RequestAllocator函数中.
参数IMemAllocator* pPreferred指出的缓冲的大小32768*6.
可以跟踪看看他的值就知道了.
而参数IMemAllocator ** ppActual就是返回的实际值,他默认是使用pPreferred的.文档也是说最好不要修改这些东西.当然自己修改是没有问题的.
通过IMemAllocator的HRESULT SetProperties来设置.可以在文档中看到:
typedef struct _AllocatorProperties {
    long cBuffers;
    long cbBuffer;
    long cbAlign;
    long cbPrefix;
} ALLOCATOR_PROPERTIES;

其中,cBuffers指出了有多少个缓冲块,cbBuffer指出了没有缓冲块的大小.因为受到一些限制,缓冲的总数只是能够为32768*6的大小...
把cbBuffer改成你想要的值,同时修改相应的cBuffers.就完成了这个工作.好了,你现在的数据量的要求应该是你自己设置的了...跟踪看看就知道了.




相关文章

相关软件