次の方法で共有


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

参照

関連項目

CDC クラス

階層図