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 印表機驅動程式會傳送 %%DocumentNeededResources: 傳送 %%Trailer 區段之後。 |
PSINJECT_DOCSUPPLIEDRES |
印表機驅動程式將 %%DocumentSuppliedResources: 傳送至數據流,以及資源資訊。 如果 IPrintOemPS::Command 方法傳送資源資訊,則會在驅動程式的資源資訊之後附加至數據流。 專案格式如下: %%+ResourceTypeResourceNames 印表機驅動程式會傳送 %%DocumentSuppliedResources: 傳送 %%Trailer 區段之後。 |
PSINJECT_DOCUMENTPROCESSCOLORS | |
當印表機驅動程式準備好將 %%DocumentProcessColors:color 插入數據流中時。 IPrintOemPS::Command 所提供的數據會取代驅動程式的 %%DocumentProcessColors:color 批注。 | |
PSINJECT_DOCUMENTPROCESSCOLORSATEND | |
當印表機驅動程式準備好將 %%DocumentProcessColors: () 插入數據流。 IPrintOemPS::Command 所提供的數據會取代驅動程式的 %%DocumentProcessColors: () 批注。 | |
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: (end) 插入資料流。 IPrintOemPS::Command 所提供的數據會取代驅動程式的 %%Pages: () 批注。 |
PSINJECT_PAGETRAILER | 印表機驅動程式將 %%PageTrailer 傳送至數據流之後。 |
PSINJECT_PLATECOLOR | 當印表機驅動程式準備好將 %%PlateColor:color 插入資料流中時。 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 方法為 dwResult 提供ERROR_SUCCESS為止。 不會呼叫其他外掛程式。 如果所有外掛程式都提供ERROR_NOT_SUPPORTED,則不會取代驅動程式提供的數據。
如果插入點是其中一個提供的數據會取代印表機驅動程式所提供的數據,而且如果應用程式已經使用 POSTSCRIPT_INJECTION 印表機逸出函式來取代驅動程式提供的數據,則不會呼叫任何外掛程式。
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | prcomoem.h (包含 Prcomoem.h) |