CDC::SetAbortProc

int SetAbortProc(BOOL (CALLBACK EXPORT* lpfn )(HDC,int));

返回值:
返回SetAbortProc函数的结果。
下列某些值出现的可能性比其它值要高,但它们都有可能出现:
·SP_ERROR一般错误。
·SP_OUTOFDISK假脱机所需的磁盘空间不足,没有其它可用的磁盘空间。
·SP_OUTOFMEMORY假脱机所需的内存不足。
·SP_USERABORT用户在打印管理中中止作业。

参数:
lpfn作为放弃过程安装的放弃函数的指针。
关于调用函数的更多信息,参阅CDC::SetAbortProc 中的“回调函数”。

说明:
如果应用允许在假脱机状态中取消打印作业,它必须在StartsDoc成员函数开始打印作业之前设置放弃函数。打印管理器在假脱机时调用放弃函数,使应用取消打印作业或者处理磁盘空间不足的问题。如果没有设置放弃函数,在没有足够的假脱机磁盘空间时,打印作业失败。注意,Microsoft Visual C++的特点在于简化了传递给SetAbortProc的调用函数的创建。传递给EnumObjects成员函数的地址是函数指针,该函数是用带_declspec(dllexport)输出的,并符合_stdcall调用规范。不必在应用模块定义文件的EXPORTS语句中输出函数名称,可使用EXPORT函数修改程序,如:BOOL (CALLBACK EXPORTAFunction )(HDC,int));使编译器释放适当记录用于输出,使用名字而非别名。这能满足大部分的需要。对于某些特殊情况,如带序数或别名的函数输出,仍可以使用模块定义文件中的EXPORT语句。调用登记的接口现在是安全类型的(必须传递一个函数指针,它指向用于特定调用的函数)。在返回Windows时还应注意到所有的调用函数必须捕获Microsoft Foundation异常。因为异常仍在调用函数、范围之内。关于异常的更多信息,请参阅联机文档“Visual C++程序员指南”中的“异常”。