Share via


CDC::SetAbortProc

Installe la procédure d'arrêt pour le travail d'impression.

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

Paramètres

Valeur de retour

Spécifie les résultats de la fonction d' SetAbortProc .Certaines valeurs suivantes sont plus probables que d'autres, mais sont toutes possibles.

  • Erreur de général deSP_ERROR .

  • SP_OUTOFDISK pas suffisamment d'espace disque est disponible pour la mise en attente, puis plus d'espace ne devient disponible.

  • SP_OUTOFMEMORY pas assez de mémoire est disponible pour la mise en attente.

  • L'utilisateur deSP_USERABORT a effectué le travail via Gestionnaire d'impression.

Notes

Si une application est de permettre la tâche d'impression pendant la mise en file d'attente, elle doit définir la fonction d'arrêt avant que le travail d'impression est démarrée par la fonction membre de StartDoc .Gestionnaire d'impression appelle la fonction d'arrêt pendant la mise en file d'attente pour permettre l'application d'annuler le travail d'impression ou de traiter les états de l'espace disque insuffisant.Si aucune fonction d'arrêt n'est définie, le travail d'impression échouera s'il n'y a pas assez d'espace disque pour la mise en attente.

Notez que les fonctionnalités de Microsoft Visual C++ simplifient la création de la fonction de rappel réussi à SetAbortProc.L'adresse passée à la fonction membre d' EnumObjects est un pointeur vers une fonction exportée à __declspec(dllexport) et avec la convention d'appel d' __stdcall .

Vous ne devez pas exporter le nom de fonction dans une instruction d' EXPORTS dans le fichier de définition de module de votre application.Vous pouvez utiliser le modificateur de fonction de exporter , comme dans

BOOLCALLBACKexporter AFunction ( HDC, int);

pour que le compilateur à émettre l'enregistrement approprié d'exportation pour l'exportation de nom sans crénelage.Cela fonctionne pour la plupart a besoin.Pour certains cas spéciaux, tels qu'une fonction exportation par ordinal ou crénelage l'exportation, vous devez toujours utiliser une instruction d' EXPORTS dans un fichier de définition de module.

Les interfaces de rappel d'inscription sont maintenant de type sécurisé (vous devez passer d'un pointeur fonction qui indique le bon type de fonction pour le rappel spécifique).

Notez également que toutes les fonctions de rappel doit intercepter des exceptions Microsoft Foundation avant de revenir à windows, comme les exceptions ne peuvent pas être levées au delà de les limites de rappel.Pour plus d'informations sur les exceptions, consultez l'article exceptions.

Configuration requise

Header: afxwin.h

Voir aussi

Référence

CDC, classe

Graphique de la hiérarchie