Partager via


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)

Voir aussi

DrvEndDoc

DrvResetPDEV

EngWritePrinter