Freigeben über


DrvStartDoc-Funktion (winddi.h)

Die DrvStartDoc-Funktion wird von GDI aufgerufen, wenn sie bereit ist, ein Dokument zum Rendern an den Treiber zu senden.

Syntax

BOOL DrvStartDoc(
  [in] SURFOBJ *pso,
  [in] LPWSTR  pwszDocName,
  [in] DWORD   dwJobId
);

Parameter

[in] pso

Vom Aufrufer bereitgestellter Zeiger auf eine SURFOBJ-Struktur .

[in] pwszDocName

Vom Aufrufer bereitgestellter Zeiger auf eine MIT NULL beendete Unicode-Zeichenfolge, die den Namen des zu druckenden Dokuments angibt.

[in] dwJobId

Vom Anrufer bereitgestellte Druckauftragsnummer. Dieser Wert wird vom Spooler in einem Aufruf von StartDocPrinter an GDI zurückgegeben.

Rückgabewert

Wenn der Vorgang erfolgreich ist, sollte die Funktion TRUE zurückgeben. Andernfalls sollte die Win32 SetLastError-Funktion aufgerufen werden, um einen Fehlercode festzulegen, und dann FALSE zurückgeben.

Hinweise

Eine Druckergrafik-DLL muss eine DrvStartDoc-Funktion bereitstellen. In der Regel wird die Funktion zum Senden von Steuersequenzen an Druckerhardware verwendet, bevor ein Dokument gedruckt wird, indem die EngWritePrinter-Funktion von GDI aufgerufen wird. Die Funktion kann auch interne, dokumentspezifische Initialisierungsvorgänge für die Druckergrafik-DLL ausführen.

Die DrvStartDoc-Funktion wird zu Beginn eines Druckauftrags aufgerufen, und immer dann, wenn eine Anwendung (z. B. ein Druckprozessor) ResetDC aufruft (siehe DrvResetPDEV). Wenn der Aufruf von DrvStartDoc von ResetDC stammt, wird der pwszDocName-Parameter auf NULL und der dwJobId-Parameter auf Null festgelegt. Wenn der Aufruf von einer Anwendung stammt, werden diese Parameter jeweils auf den Dokumentnamen und die Druckauftragsnummer festgelegt.

Da beim Starten eines Druckauftrags kein separater Aufruf in der Druckergrafik-DLL erfolgt, muss die DrvStartDoc-Funktion auch Steuersequenzen an den Drucker senden, um den Auftrag zu initialisieren, falls dies vom Drucker erforderlich ist. (Mit anderen Worten, es gibt ein Dokument pro Auftrag.)

Anforderungen

   
Zielplattform Desktop
Kopfzeile winddi.h (einschließlich Winddi.h)

Weitere Informationen

DrvEndDoc

DrvResetPDEV

EngWritePrinter