Fonction DrvStartDoc (winddi.h)
La fonction DrvStartDoc est appelée par GDI lorsqu’elle est prête à commencer à envoyer un document au pilote pour le rendu.
Syntaxe
BOOL DrvStartDoc(
[in] SURFOBJ *pso,
[in] LPWSTR pwszDocName,
[in] DWORD dwJobId
);
Paramètres
[in] pso
Pointeur fourni par l’appelant vers une structure SURFOBJ .
[in] pwszDocName
Pointeur fourni par l’appelant vers une chaîne Unicode terminée par null spécifiant le nom du document à imprimer.
[in] dwJobId
Numéro de travail d’impression fourni par l’appelant. Cette valeur est retournée à GDI à partir du spouleur dans un appel à StartDocPrinter.
Valeur retournée
Si l’opération réussit, la fonction doit retourner TRUE. Sinon, elle doit appeler la fonction Win32 SetLastError pour définir un code d’erreur, puis retourner FALSE.
Remarques
Une DLL de graphismes d’imprimante doit fournir une fonction DrvStartDoc . En règle générale, la fonction est utilisée pour envoyer des séquences de contrôle au matériel d’imprimante, avant l’impression d’un document, en appelant la fonction EngWritePrinter de GDI. La fonction peut également effectuer des opérations d’initialisation internes spécifiques au document pour la DLL de graphiques d’imprimante.
La fonction DrvStartDoc est appelée au début d’un travail d’impression, et chaque fois qu’une application (telle qu’un processeur d’impression) appelle ResetDC (voir DrvResetPDEV). Lorsque l’appel à DrvStartDoc provient de ResetDC, le paramètre pwszDocName est défini sur NULL et le paramètre dwJobId est défini sur zéro. Lorsque l’appel provient d’une application, ces paramètres sont définis, respectivement, sur le nom du document et le numéro du travail d’impression.
Étant donné qu’il n’y a pas d’appel distinct dans la DLL de graphiques d’imprimante au démarrage d’un travail d’impression, la fonction DrvStartDoc doit également envoyer des séquences de contrôle à l’imprimante pour initialiser le travail, si nécessaire par l’imprimante. (En d’autres termes, il y a un document par travail.)
Configuration requise
Plateforme cible | Bureau |
En-tête | winddi.h (inclure Winddi.h) |