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 ドライバーは、pBuf と pdevobj を nullに設定してこのメソッドを呼び出し、cbBuf を 0 に して、プラグインがこの関数を実装しているかどうかを検出します。 プラグインは、このメソッドを実装することを示すためにS_OKを返し、それ以外の場合はE_NOTIMPL返す必要があります。
このメソッドは、pcbWritten でスプーラーの WritePrinter 関数書き込まれたバイト数を報告する必要があります。 値が 0 の場合、特別な意味はありません。エラーは、返された HRESULT を介して報告する必要があります。
IPrintOemUni2::WritePrinter
メソッドは省略可能です。 レンダリング プラグインがこのメソッドを実装する場合、プラグインの IPrintOemUni::GetImplementedMethod メソッドは、入力として "WritePrinter" を受け取ったときにS_OKを返す必要があります。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | prcomoem.h (Prcomoem.h を含む) |