次の方法で共有


IPrintOemUni2::WritePrinter メソッド (prcomoem.h)

メソッドが IPrintOemUni2::WritePrinter サポートされている場合、レンダリング プラグインは Unidrv ドライバーによって生成されたすべての出力データをキャプチャできます。 このメソッドがサポートされていない場合、出力データはスプーラーの WritePrinter API の呼び出しでスプーラーに送信されます (Microsoft Windows SDKドキュメントで説明)。

構文

HRESULT WritePrinter(
  PDEVOBJ pdevobj,
  PVOID   pBuf,
  DWORD   cbBuffer,
  PDWORD  pcbWritten
);

パラメーター

pdevobj

DEVOBJ 構造体へのポインター。

pBuf

Unidrv ドライバーによって生成された出力データを含むバイト配列の最初のバイトへのポインター。

cbBuffer

pBuf が指す配列のサイズをバイト単位で指定します。

pcbWritten

プラグインに正常に送信されたデータのバイト数を受け取る DWORD 値へのポインター。

戻り値

成功した場合、このメソッドは S_OKを返します。 それ以外の場合、このメソッドは返される HRESULT で適切な値を返す必要があります。

注釈

DrvEnablePDEV 時に、Unidrv ドライバーは pBufpdevobjNULL に設定し、cbBuf を 0 に設定してこのメソッドを呼び出して、プラグインがこの関数を実装しているかどうかを検出します。 プラグインは、このメソッドを実装することを示すS_OKを返し、それ以外の場合は E_NOTIMPLを返す必要があります。

このメソッドは、pcbWritten でスプーラーの WritePrinter 関数に書き込まれたバイト数を報告する必要があります。 0 の値は特別な意味を持たない。エラーは、返された HRESULT を介して報告する必要があります。

メソッドは IPrintOemUni2::WritePrinter 省略可能です。 レンダリング プラグインがこのメソッドを実装する場合、プラグインの IPrintOemUni::GetImplementedMethod メソッドは、"WritePrinter" を入力として受け取ったときにS_OKを返す必要があります。

要件

要件
対象プラットフォーム デスクトップ
Header prcomoem.h (Prcomoem.h を含む)