发现一个小bug 官方文档AudioFileOpenWithCallbacks描述有误

今天使用AudioFileOpenWithCallbacks异步读取文件时,总是提示AudioFileOpenWithCallbacks第三个和第五个参数类型不对,也就是

AudioFile_WriteProc和AudioFile_SetSizeProc两个异步函数,可是明明是按照文档定义的,奇怪的很。文档里这两个函数分别声明为

typedef OSStatus (*AudioFile_WriteProc) (
    void          *inClientData,
    SInt64        inPosition,
    UInt32        requestCount,
    const void    *buffer,
    UInt32        *actualCount
);

typedef SInt64 (*AudioFile_SetSizeProc)(
    void  *inClientData
);

折腾了好久,偶然打开了头文件的声明,发现了大有不同,系统文件里声明如下:

typedef OSStatus (*AudioFile_WriteProc)(
								void * 		inClientData,
								SInt64		inPosition, 
								UInt32		requestCount, 
								const void *buffer, 
								UInt32    * actualCount);


typedef OSStatus (*AudioFile_SetSizeProc)(
								void *		inClientData,
								SInt64		inSize);

相信明眼人都能看到明显的不同,参数的类型和个数不同,函数类型不一致。这里本人使用的开发环境为10.6.8+XCODE4.2,不知道是官方文档描述有误,还是源码定义有误,很奇怪。

原文地址:https://www.cnblogs.com/CoderPlace/p/2470300.html