IPrintOemPS::Command メソッド (prcomoem.h)
IPrintOemPS::Command メソッドは、印刷ジョブのデータ ストリームに PostScript コマンドを挿入するために、Microsoft 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 メソッドは、Microsoft PostScript プリンター ドライバーによって生成されたデータ ストリームに 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: を送信します。 |
PSINJECT_DOCSUPPLIEDRES |
プリンター ドライバーが %%DocumentSuppliedResources: をリソース情報と共にデータ ストリームに送信した後。 IPrintOemPS::Command メソッドがリソース情報を送信すると、ドライバーのリソース情報の後にストリームに追加されます。 エントリの形式は次のとおりです。 %%+ResourceTypeResourceNames プリンター ドライバーは 、%%DocumentSuppliedResources:%%Trailer セクションの送信後に送信します。 |
PSINJECT_DOCUMENTPROCESSCOLORS | |
プリンター ドライバーが %%DocumentProcessColors:color をデータ ストリームに挿入する準備ができたら。 IPrintOemPS::Command によって提供されるデータは、ドライバーの %%DocumentProcessColors:color コメントに置き換えられます。 | |
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:color を挿入する準備ができたら。 IPrintOemPS::Command によって提供されるデータは、ドライバーの %%PlateColor:color コメントに置き換えられます。 |
PSINJECT_PSADOBE | プリンター ドライバーが %! を送信する前に PS-Adobe からデータ ストリームへ。 |
PSINJECT_SHOWPAGE | プリンター ドライバーが showpage コマンドを送信する前に。 |
PSINJECT_TRAILER | プリンター ドライバーが %%Trailer をデータ ストリームに送信した後。 |
PSINJECT_VMRESTORE | プリンター ドライバーが 復元 コマンドを送信した後。 (リソースを再利用する場合は、最後のPSINJECT_VMSAVEの後に送信されたすべてのリソースを IPrintOemPS::Command メソッドで再送信する必要があります)。 |
PSINJECT_VMSAVE | プリンター ドライバーが 保存 コマンドを送信する前に。 (「PSINJECT_VMRESTORE」を参照)。 |
IPrintOemPS::Command メソッドは、PostScript コマンドを挿入するために IPrintOemDriverPS::D rvWriteSpoolBuf を呼び出す必要があります。
IPrintOemPS::Command メソッドが複数のレンダリング プラグインによってエクスポートされる場合、プリンター ドライバーが挿入ポイントに到達するたびに、インストール用にプラグインが指定された順序でメソッドが呼び出されます。 次の規則が適用されます。
挿入ポイントがプリンター ドライバーが提供するデータに指定されたデータが追加される場合、各プラグインが呼び出され、各プラグインで PostScript コマンドの追加が許可されます。
挿入ポイントがプリンター ドライバーが提供するデータを置き換えるデータの挿入ポイントである場合、1 つの IPrintOemPS::Command メソッドが dwResult にERROR_SUCCESSを提供するまで、プラグインが呼び出されます。 他のプラグインは呼び出されません。 すべてのプラグインがERROR_NOT_SUPPORTEDを指定した場合、ドライバーが提供するデータは置き換えされません。
挿入ポイントがプリンター ドライバーが提供するデータを置き換えるデータの挿入ポイントである場合、また、 POSTSCRIPT_INJECTIONプリンター エスケープ 関数を使用して、アプリケーションが既にドライバーから提供されたデータを置き換えた場合、プラグインは呼び出されません。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | prcomoem.h (Prcomoem.h を含む) |