PTConvertDevModeToPrintTicket 函式 (prntvpt.h)
將 DEVMODE 結構轉換成 IStream內的列印票證。
語法
HRESULT PTConvertDevModeToPrintTicket(
[in] HPTPROVIDER hProvider,
ULONG cbDevmode,
[in] PDEVMODE pDevmode,
[in] EPrintTicketScope scope,
IStream *pPrintTicket
);
參數
[in] hProvider
開啟列印票證提供者的控制碼。 PTOpenProvider或PTOpenProviderEx函式會傳回此控制碼。
cbDevmode
DEVMODE的大小,以位元組為單位。
[in] pDevmode
DEVMODE的指標。
[in] scope
值,指定 pPrintTicket的範圍。 此值可以指定單頁、整份檔或列印工作中的所有檔。 pDevmode中超出指定範圍的設定將不會包含在pPrintTicket中。 請參閱<備註>。
pPrintTicket
IStream的指標,其搜尋位置位於列印票證的開頭。
傳回值
如果作業成功,傳回值會S_OK,否則 HRESULT 會包含錯誤碼。
如果在不同的執行緒中開啟 hProvider , 則 HRESULT 會E_INVALIDARG。
如需 COM 錯誤碼的詳細資訊,請參閱 錯誤處理。
備註
注意 這是封鎖或同步函式,可能不會立即傳回。 此函式傳回的速度取決於執行時間因素,例如網路狀態、列印伺服器設定和印表機驅動程式實作—撰寫應用程式時難以預測的因素。 從管理與使用者介面互動的執行緒呼叫此函式,可能會使應用程式看起來沒有回應。
如果 pDevmode 指向不同的印表機,其設定可能會遺失,並以預設值取代。
pDevmode中超出範圍的設定不會包含在pPrintTicket中。 例如,如果範圍是單一頁面,則不包含全作業設定和全檔設定。 作業範圍包括檔範圍和頁面範圍。 檔範圍包含頁面範圍。
PTConvertDevModeToPrintTicket會從資料流程目前的搜尋點開始,將列印票證寫入pPrintTicket所參考的IStream。 在 PTConvertDevModeToPrintTicket傳回之後,呼叫端必須將搜尋點重設為初始搜尋點,才能讀取函式所傳回的列印票證。
需求
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | prntvpt.h |
程式庫 | Prntvpt.lib |
Dll | Prntvpt.dll |