IPrintOemPS::Command 方法 (prcomoem.h)
IPrintOemPS::Command 方法會藉由轉譯Microsoft PostScript 印表機驅動程式的外掛程式來使用,以便將 PostScript 命令插入列印作業的數據流中。
語法
HRESULT Command(
PDEVOBJ pdevobj,
DWORD dwIndex,
PVOID pData,
DWORD cbSize,
[out] OUT DWORD *pdwResult
);
參數
pdevobj
DEVOBJ 結構的呼叫端提供的指標。
dwIndex
呼叫端提供的值,表示列印作業數據流中目前插入點。 如需詳細資訊,請參閱下列一節。
pData
未使用。
cbSize
未使用。
[out] pdwResult
接收方法提供的值,指出插入作業的結果。 如果插入成功,此值應該ERROR_SUCCESS。 如果插入失敗,該值應該是 winerror.h 中定義的其中一個錯誤碼。 如果 方法未嘗試插入指定之 dwIndex 值的數據,則此值應該ERROR_NOT_SUPPORTED。
傳回值
方法必須傳回下列其中一個值。
傳回碼 | 描述 |
---|---|
|
作業成功。 |
|
作業失敗 |
|
未實作 方法。 |
言論
IPrintOemPS::Command 方法可用來將 PostScript 命令插入 Microsoft PostScript 印表機驅動程式所產生的數據流中。 如果您想要提供這個方法,您必須在轉譯外掛程式中定義它。
呼叫 IPrintOemPS::Command 方法時,其 dwIndex 參數會指定列印作業數據流中的目前插入點。 方法應該使用此值來判斷要執行的作業。 下表列出在 wingdi.h 中定義的索引值。
索引值 | 收到時 |
---|---|
PSINJECT_BEGINDEFAULTS | 印表機驅動程式傳送 %%BeginDefaults 至數據流之後。 |
PSINJECT_BEGINPAGESETUP | 印表機驅動程式傳送 %%BeginPageSetup 至數據流之後。 |
PSINJECT_BEGINPROLOG | 印表機驅動程式傳送 %%BeginProlog 至數據流之後。 |
PSINJECT_BEGINSETUP | 印表機驅動程式傳送 %%BeginSetup 至數據流之後。 |
PSINJECT_BEGINSTREAM | 印表機驅動程式傳送數據流的第一個字節之前。 |
PSINJECT_BOUNDINGBOX | 當印表機驅動程式準備好將 %%BoundingBox: 插入數據流。 IPrintOemPS::Command 提供的數據會取代驅動程式的 %%BoundingBox: 批注。 |
PSINJECT_COMMENTS | 印表機驅動程式傳送 %%EndComments 至數據流之前。 |
PSINJECT_DLFONT | 列印驅動程序下載柔和字型之前。 |
PSINJECT_DOCNEEDEDRES |
印表機驅動程式傳送 %%DocumentNeededResources之後: 至數據流,以及資源資訊。 如果 IPrintOemPS::Command 方法傳送資源資訊,則會在驅動程式的資源資訊之後附加至數據流。 專案格式如下: %%+ ResourceTypeResourceNames 印表機驅動程式會在傳送 %%Trailer 區段之後傳送 %%DocumentNeededResources:。 |
PSINJECT_DOCSUPPLIEDRES |
印表機驅動程式傳送 %%DocumentSuppliedResources之後: 至數據流,以及資源資訊。 如果 IPrintOemPS::Command 方法傳送資源資訊,則會在驅動程式的資源資訊之後附加至數據流。 專案格式如下: %%+ ResourceTypeResourceNames 印表機驅動程式會在傳送 %%Trailer 區段之後傳送 %%DocumentSuppliedResources:。 |
PSINJECT_DOCUMENTPROCESSCOLORS | |
當印表機驅動程式準備好將 %%DocumentProcessColors:色彩 插入數據流。 IPrintOemPS::Command 提供的數據會取代驅動程式的 %%DocumentProcessColors:色彩 批注。 | |
PSINJECT_DOCUMENTPROCESSCOLORSATEND | |
當印表機驅動程式準備好將 %%DocumentProcessColors:(atend) 插入數據流。 IPrintOemPS::Command 提供的數據會取代驅動程式的 %%DocumentProcessColors:(atend) 批注。 | |
PSINJECT_ENDDEFAULTS | 印表機驅動程式傳送 %%EndDefaults 至數據流之前。 |
PSINJECT_ENDPAGECOMMENTS | 印表機驅動程式傳送 %%EndPageComments 至數據流之前。 |
PSINJECT_ENDPAGESETUP | 印表機驅動程式傳送 %%EndPageSetup 至數據流之前。 |
PSINJECT_ENDPROLOG | 印表機驅動程式傳送 %%EndProlog 至數據流之前。 |
PSINJECT_ENDSETUP | 印表機驅動程式傳送 %%EndSetup 至數據流之前。 |
PSINJECT_ENDSTREAM | 印表機驅動程式傳送數據流的最後一個字節之後。 |
PSINJECT_EOF | 印表機驅動程式傳送 %%EOF 至數據流之後。 |
PSINJECT_ORIENTATION | 當印表機驅動程式準備好將 %%Orientation: 插入數據流。 IPrintOemPS::Command 提供的數據會取代驅動程式的 %%Orientation: 批注。 |
PSINJECT_PAGEBBOX | 當印表機驅動程式準備好將 %%PageBoundingBox: 插入數據流。 IPrintOemPS::Command 提供的數據會取代驅動程式的 %%PageBoundingBox: 批注。 |
PSINJECT_PAGENUMBER | 當印表機驅動程式準備好將 %%Page: 插入數據流。 IPrintOemPS::Command 提供的數據會取代驅動程式的 %%Page: 批注。 |
PSINJECT_PAGEORDER | 當印表機驅動程式準備好將 %%PageOrder: 插入數據流。 IPrintOemPS::Command 提供的數據會取代驅動程式的 %%PageOrder: 批注。 |
PSINJECT_PAGES | 當印表機驅動程式準備好將 %%Pages:nnn 插入數據流。 IPrintOemPS::Command 提供的數據會取代驅動程式的 %%Pages:nnn 批注。 |
PSINJECT_PAGESATEND | 當印表機驅動程式準備好將 %%Pages:(atend) 插入數據流。 IPrintOemPS::Command 提供的數據會取代驅動程式的 %%Pages:(atend) 批注。 |
PSINJECT_PAGETRAILER | 印表機驅動程式傳送 %%PageTrailer 至數據流之後。 |
PSINJECT_PLATECOLOR | 當印表機驅動程式準備好將 %%PlateColor:色彩 插入數據流。 IPrintOemPS::Command 提供的數據會取代驅動程式的 %%PlateColor:色彩 批注。 |
PSINJECT_PSADOBE | 印表機驅動程式傳送 %之前!PS-Adobe 數據流。 |
PSINJECT_SHOWPAGE | 印表機驅動程式傳送 showpage 命令之前。 |
PSINJECT_TRAILER | 印表機驅動程式傳送 %%Trailer 至數據流之後。 |
PSINJECT_VMRESTORE | 印表機驅動程式傳送還原 命令之後。 (如果資源要重複使用,IPrintOemPS::Command 方法必須重新傳送在最後一個PSINJECT_VMSAVE之後傳送的所有資源。 |
PSINJECT_VMSAVE | 印表機驅動程式傳送儲存 命令 之前。 (請參閱PSINJECT_VMRESTORE。 |
IPrintOemPS::Command 方法必須呼叫 IPrintOemDriverPS::D rvWriteSpoolBuf 以插入 PostScript 命令。
如果 IPrintOemPS::Command 方法是由多個轉譯外掛程式匯出,則每次印表機驅動程式到達插入點時,都會依照指定外掛程式進行安裝的順序呼叫方法。 適用下列規則:
如果插入點是一個提供的數據附加至印表機驅動程式提供的數據,則會呼叫每個外掛程式,並允許每個外掛程式附加 PostScript 命令。
如果插入點是其中一個提供的數據取代印表機驅動程式提供的數據,則會呼叫外掛程式,直到 IPrintOemPS::Command 方法提供ERROR_SUCCESS dwResult。 不會呼叫其他外掛程式。 如果所有外掛程式都提供ERROR_NOT_SUPPORTED,則不會取代驅動程式提供的數據。
如果插入點是其中一個提供的數據取代印表機驅動程式所提供的數據,而且如果應用程式已經使用 POSTSCRIPT_INJECTION 印表機逸出函式取代驅動程式提供的數據,則不會呼叫任何外掛程式。
要求
要求 | 價值 |
---|---|
目標平臺 | 桌面 |
標頭 | prcomoem.h (include Prcomoem.h) |