获得proc指针指向一个碳API在运行时
-
19-09-2019 - |
题
我有一个Mac我 必须 建立对Mac OS10.4适用于各种原因超出我的控制。鉴于我应用程序的最低操作系统版本将10.5.(我知道,我知道...但我不能提供任何更详细于上述理由为什么是这种情况。)
内Mac OS10.5SDK是一个API, FSMatchAliasBulk
, 我找不到好的等值的10.4SDK。知道我将运行在Mac OS>=10.5,我怎么可以获得 FSMatchAliasBulk
在运行时?
解决方案
第一,请查看"如何交的开发工作,"在你的工业化有助于通过选择"开发文件"从低。在该文件窗口类型"如何交叉发展工作",并回车。在那里,你会看到更多的信息。
这里是什么我想你会需要做的:载CoreServices框架,然后得到的功能针对这一职能如果你知道你在Mac OS X10.5(检查出来的形态功能,以确定)。
这里是一样这不是测试,但是应在正确的方向:
CFBundleRef systemBundle = NULL;
short result = LoadFrameworkBundle(CFSTR("CoreServices.framework"), &systemBundle);
if (result == 0) {
typedef OSStatus (FSMatchAliasBulkProcPtr) (const FSRef*, unsigned long, AliasHandle, short*, FSRef*, Boolean*, FSAliasFilterProcPtr, void*);
FSMatchAliasBulkProcPtr myFSMatchAliasBulk = (FSMatchAliasBulkProcPtr) CFBundleGetFunctionPointerForName(systemBundle, CFSTR("FSMatchAliasBulk"));
if (myFSMatchAliasBulk) {
// call FSMatchAliasBulk
OSStatus status = myFSMatchAliasBulk(....);
}
}
不隶属于 StackOverflow