CDC::SetAbortProc
安装打印作业的中止程序。
int SetAbortProc(
BOOL ( CALLBACK* lpfn )( HDC, int )
);
参数
- lpfn
对于安装的中止函数的指针作为中止程序。有关更多信息回调函数,请参见 CDC::SetAbortProc的回调函数。
返回值
指定 SetAbortProc 函数的结果。某些下列值比其他可能,但是,所有可能的。
SP_ERROR 常规错误。
SP_OUTOFDISK 没有足够的磁盘空间为后台打印当前可用的,因此,没有其他空间不会变得可用。
SP_OUTOFMEMORY 没有足够的内存为后台打印可用。
SP_USERABORT 用户通过版式监督关闭该工作。
备注
在后台打印期间,如果应用程序是允许取消打印作业,它必须将中止功能,在打印作业以 StartDoc 成员函数之前。版式监督调用中止功能在允许期间应用程序的后台打印取消打印作业或处理磁盘空间不足情况。如果中止功能未设置,打印作业将失败,如果没有后台打印足够的磁盘空间。
请注意Microsoft Visual C++功能来简化回调函数的创建传递给 SetAbortProc。该地址传递给 EnumObjects 成员函数是指向函数的指针导出与 __declspec(dllexport) 与 __stdcall 调用约定。
您也不必导出在一个 EXPORTS 语句的函数名在应用程序的模块定义文件。可以使用 EXPORT 功能修饰符,为
BOOLCALLBACKEXPORT AFunction ( HDC,int);
导致编译器发出名称导出的相应导出记录,不带锯齿化。对于大部分工作需要。对于某些特殊情况,例如导出函数的序号或失真导出,您可以在模块定义文件仍需要使用 EXPORTS 语句。
回调注册接口现在为类型安全的(在指向正确类型的特定回调的函数)的函数指针必须通过。
另外请注意所有回调函数必须在返回之前捕获Microsoft基础异常。Windows中,因为异常不能在回调边界时引发。有关异常的更多信息,请参见文章 异常。
要求
Header: afxwin.h