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 のステートメントを使用する必要があります。
これで、コールバックの登録のインターフェイスは、タイプ セーフでポインター (右の種類の特定のコールバックの関数を指します) 関数に渡す必要があります。
また、例外がコールバックの境界を越えてスローできないため、すべてのコールバック関数が Windows ことをに戻す前に Microsoft Foundation の例外をフックする必要があることに注意してください。例外の詳細については、" " [例外]を参照してください。
必要条件
ヘッダー: afxwin.h