StartDocPrinter 函式會通知列印後台處理程式檔要多任務緩衝處理以進行列印。
語法
DWORD StartDocPrinter(
_In_ HANDLE hPrinter,
_In_ DWORD Level,
_In_ LPBYTE pDocInfo
);
參數
-
hPrinter [in]
-
印表機的句柄。 使用 OpenPrinter 或 AddPrinter 函式來擷取印表機句柄。
-
層級 [in]
-
pDocInfo 指向的結構版本。 此值必須是 1。
-
pDocInfo [in]
-
描述要列印之檔的 DOC_INFO_1 結構的指標。
返回值
如果函式成功,傳回值會識別列印作業。
如果函式失敗,傳回值為零。
備註
備註
這是封鎖或同步函式,可能不會立即傳回。 此函式傳回的速度取決於運行時間因素,例如網路狀態、列印伺服器組態,以及撰寫應用程式時難以預測的印表機驅動程序實作因素。 從管理與使用者介面互動的線程呼叫此函式,可能會使應用程式看起來沒有回應。
列印作業的典型順序如下:
- 若要開始列印作業,請呼叫 StartDocPrinter。
- 若要開始每個頁面,請呼叫 StartPagePrinter。
- 若要將數據寫入頁面,請呼叫 WritePrinter。
- 若要結束每個頁面,請呼叫 EndPagePrinter。
- 視需要針對多個頁面重複 2、3 和 4。
- 若要結束列印作業,請呼叫 EndDocPrinter。
請注意,呼叫 StartPagePrinter 和 EndPagePrinter 可能不需要,例如列印數據類型是否包含頁面資訊。
當多任務緩衝處理檔案中的頁面超過大約 350 MB 時,它可能無法列印,而不會傳送錯誤訊息。 例如,列印大型EMF檔案時可能會發生這種情況。 頁面大小限制取決於許多因素,包括可用的虛擬記憶體數量、呼叫進程所配置的記憶體數量,以及進程堆積中的分散量。
範例
如需使用此函式的範例程式,請參閱 How To: Print Using the GDI Print API。
需求
| 要求 | 價值觀 |
|---|---|
| 最低支援的用戶端 |
Windows 2000 Professional [僅限傳統型應用程式] |
| 最低支援的伺服器 |
Windows 2000 Server [僅限傳統型應用程式] |
| 頁首 |
|
| 圖書館 |
|
| DLL |
|
| Unicode 和 ANSI 名稱 |
StartDocPrinterW (Unicode) 和 StartDocPrinterA (ANSI) |