次の方法で共有


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を返す必要があります。

必要条件

要件 価値
ターゲット プラットフォーム デスクトップ
ヘッダー prcomoem.h (Prcomoem.h を含む)